JAVASCRIPT網頁應用程式設計

Book description

一本教您如何開發全能用戶端應用程式的jQuery程式設計指南

「強力推薦的必讀好書。如果你希望能運用最先進的開發工具,來開發最先進的應用程式,《JavaScript網頁應用程式設計》絕對是一本不容錯過的無價珍寶。我早已數不清究竟曾推薦過我幾位讀者拜讀此書了!」 
—Addy Osmani
AOL的JavaScript程式設計師

若想要開發出功能齊備、操作體驗不亞於桌面應用程式的JavaScript網頁應用程式,勢必得將一些原先由伺服器端程式包辦的工作,搬移到用戶端程式裡,但這並非一件容易的事。本書的主要目的,是希望能讓進階的JavaScript程式設計師,了解在開發最先進用戶端應用程式過程中,所需進行的一切步驟。像是:系統架構和網頁模版的設計、開發框架平台的選擇和伺服器溝通的方式…等等。

本書還會透過許多實際範例應用程式,協助你徹底了解書中所有的重要觀念。相信讀過本書後,你所開發出的JavaScript應用程式,不僅能提供使用者最即時迅速的回應,還能帶給使用者絕佳操作體驗。

‧說明如何運用模型-檢視器-控制器(Model-View-Controller,簡稱MVC)模式、如何管理應用程式中的相依關係
‧說明何謂模版(Template)和資料繫結(Data Binding)
‧說明如何載入遠端資料、如何運用Ajax機制、如何發出跨網域的請求
‧說明如何利用WebSockets和Node.js開發出即時應用程式
‧說明如何以拖曳/置放方式上傳檔案、如何在上傳的同時顯示目前處理進度
‧說明如何運用目前主流的框架平台和函式庫,包括:jQuery、Spine和Backbone
‧說明如何撰寫測試程式、如何善用主控台為應用程式除錯
‧說明部署程式的最佳實務做法,包括:快取(Cache)和精簡程式碼(Minification)


Alex MacCaw 是一名Ruby/JavaScript程式設計師以及創業者。作品包括一套JavaScript框架平台(Spine)和許多大型應用程式(當中包括:Taskforce和Socialmod)。曾在紐約、舊金山、柏林等地舉辦的Ruby/Rails研討會中擔任講師。

 

Table of contents

  1. 封面
  2. 書名頁
  3. 英文版權頁
  4. 目錄 (1/2)
  5. 目錄 (2/2)
  6. 前言 (1/2)
  7. 前言 (2/2)
  8. 第一章 MVC和類別(Classes)
  9. 歷史回顧
  10. 規劃程式架構
  11. 何謂MVC?
  12. 模型(Model)
  13. 檢視器(View)
  14. 控制器(Controller)
  15. 邁向模組化的第一步:建立類別
  16. 在類別裡新增函式
  17. 在我們的類別函式庫裡新增函式
  18. 利用原型物件繼承類別
  19. 在我們的類別函式庫裡加上繼承機制
  20. 調用函式(Function Invocation)
  21. 在我們的類別函式庫裡管理作用域(scope)
  22. 新增私有函式(Private Function)
  23. 類別函式庫
  24. 第二章 事件(Event)和監聽
  25. 監聽事件
  26. 事件的處理順序
  27. 取消事件
  28. Event物件
  29. 事件函式庫
  30. 執行環境的變換
  31. 委派事件(Delegating Events)
  32. 自訂事件
  33. 自訂事件和jQuery的外掛模組
  34. 和DOM元件無關的事件
  35. 第三章 模型(Model)和資料
  36. MVC和命名空間(Namespacing)
  37. 建立ORM
  38. 原型繼承(Prototypal Inheritance)
  39. 新增ORM屬性
  40. 儲存資料
  41. 自動產生ID
  42. 修正參照值的問題
  43. 載入資料
  44. 直接把資料放進網頁
  45. 利用Ajax載入資料
  46. JSONP
  47. 跨網域請求的安全性
  48. 把資料寫入ORM
  49. 將資料儲存在用戶端
  50. 在我們的ORM裡加上本地儲存區功能
  51. 將新資料傳送至伺服器
  52. 第四章 控制器(Controller)和狀態
  53. 模組模式(Module Pattern)
  54. 匯入全域變數(Global Import)
  55. 匯出全域變數(Global Export)
  56. 關於執行環境(Context)的二三事
  57. 開發抽象化的函式庫介面
  58. 等網頁載入完成之後,再載入控制器
  59. 存取檢視器
  60. 委派事件
  61. 狀態機(State Machines)
  62. 路由(Routing)
  63. 使用網址的雜湊值(Hash)
  64. 偵測雜湊值的變動
  65. Ajax爬行規格(Ajax Crawling)
  66. 使用HTML5的歷史瀏覽記錄API
  67. 第五章 檢視器(View)與模版(Template)
  68. 動態產生檢視器內容
  69. 模版(Template)
  70. 模版輔助函式
  71. 模版的存放位置
  72. 繫結機制(Binding)
  73. 繫結模型
  74. 第六章 相依性管理(Dependency Management)
  75. CommonJS
  76. 宣告模組
  77. 模組和瀏覽器
  78. 模組載入器(Module Loaders)
  79. Yabble
  80. RequireJS
  81. 包裝模組
  82. 模組的替代方案
  83. LABjs
  84. 一閃而過的網頁素顏(FUBC)
  85. 第七章 處理檔案
  86. 支援的瀏覽器
  87. 取得檔案資訊
  88. 檔案選取欄位
  89. 拖曳與置放(Drag and Drop)
  90. 拖曳
  91. 置放
  92. 取消拖曳/置放的預設行為
  93. 複製與貼上
  94. 複製
  95. 貼上
  96. 讀取檔案內容
  97. 二進位物件(Blob)與檔案裁切(Slice)
  98. 自製檔案瀏覽鈕
  99. 上傳檔案
  100. 利用Ajax呈現處理進度
  101. 用jQuery開發可拖曳/置放檔案的上傳器
  102. 建立置放檔案的網頁區域
  103. 上傳檔案
  104. 第八章 即時網頁(Real-time web)
  105. 即時網頁技術的演進
  106. WebSocket
  107. Node.js和Socket.IO
  108. 即時架構
  109. 使用者感受到的速度(Perceived Speed)
  110. 第九章 測試與除錯
  111. 單元測試(Unit Testing)
  112. 判斷式(Assertions)
  113. QUnit
  114. Jasmine
  115. 驅動器(Drivers)
  116. 在無資訊輸出的環境測試(Headless Testing)
  117. Zombie
  118. Ichabod
  119. 分散式測試(Distributed Testing)
  120. 提供支援
  121. 檢查工具(Inspectors)
  122. 網頁檢查工具(Web Inspector)
  123. Firebug
  124. 主控台(Console)
  125. 主控台輔助函式
  126. 善用除錯工具(Debugger)
  127. 分析網路請求
  128. 效能分析和計時工具
  129. 第十章 部署程式
  130. 效能
  131. 快取(Caching)
  132. 程式碼精簡工具(Minification)
  133. Gzip壓縮
  134. 善用CDN
  135. 稽核工具(Auditors)
  136. 相關學習資源
  137. 第十一章 Spine函式庫
  138. 安裝
  139. 類別
  140. 建立物件實體
  141. 擴充類別
  142. 執行環境(Context)
  143. 事件
  144. 模型
  145. 讀取資料
  146. 模型事件
  147. 驗證資料
  148. 儲存資料
  149. 控制器
  150. 代理器函式
  151. 網頁元件
  152. 委派事件
  153. 控制器事件
  154. 全域事件
  155. 產製模式(Render Pattern)
  156. 元件模式(Element Pattern)
  157. 實際開發應用程式:聯絡人管理員
  158. Contact模型
  159. Sidebar控制器
  160. Contacts控制器
  161. App控制器
  162. 第十二章 Backbone函式庫
  163. 模型
  164. 模型和屬性
  165. 集合物件(Collection)
  166. 集合物件的排序
  167. 檢視器
  168. 產生檢視器內容
  169. 委派事件
  170. 事件繫結和執行環境的變換
  171. 控制器
  172. 和伺服器同步
  173. 裝載集合物件
  174. 伺服器端該做的處理
  175. 自訂同步方式
  176. 實際開發應用程式:待辦事項管理員 (1/2)
  177. 實際開發應用程式:待辦事項管理員 (2/2)
  178. 第十三章 JavaScriptMVC函式庫
  179. 安裝
  180. 類別
  181. 建立類別的實體
  182. 呼叫父類別的函式(Base Methods)
  183. 代理函式(Proxies)
  184. 靜態繼承
  185. 自識機制(Introspection)
  186. 先看一個模型的範例
  187. 模型(Model)
  188. 存取模型屬性和監聽模型變化
  189. 擴充模型
  190. 設值函式(Setter)
  191. 預設值
  192. 輔助函式
  193. 封裝服務
  194. 型別轉換(Type Conversion)
  195. CRUD事件
  196. 在檢視器裡使用用戶端模版
  197. 基本用法
  198. jQuery網頁元件編修函式(Modifiers)
  199. 透過script標籤載入檢視器
  200. $.View和子模版
  201. 延遲物件(Deferreds)
  202. 包裝、預先載入及效能
  203. $.Controller:jQuery外掛模組產生器
  204. 控制器簡介
  205. 建立控制器的實體
  206. 繫結事件
  207. 模版式動作(Templated Action)
  208. 融會貫通:開發出抽象化的CRUD資料清單
  209. 附錄A jQuery入門 (1/3)
  210. 附錄A jQuery入門 (2/3)
  211. 附錄A jQuery入門 (3/3)
  212. 附錄B CSS擴充模組 (1/2)
  213. 附錄B CSS擴充模組 (2/2)
  214. 附錄C CSS3參考資料 (1/5)
  215. 附錄C CSS3參考資料 (2/5)
  216. 附錄C CSS3參考資料 (3/5)
  217. 附錄C CSS3參考資料 (4/5)
  218. 附錄C CSS3參考資料 (5/5)
  219. 索引 (1/4)
  220. 索引 (2/4)
  221. 索引 (3/4)
  222. 索引 (4/4)
  223. 關於作者
  224. 出版記事

Product information

  • Title: JAVASCRIPT網頁應用程式設計
  • Author(s): Alex MacCaw
  • Release date: January 2013
  • Publisher(s): GoTop Information, Inc.
  • ISBN: None

You might also like

book

優雅的SciPy|Python科學研究的美學

by Juan Nunez-Iglesias, Stéfan van der Walt, Harriet Dashnow

“本書滿足以下重要需求:引導學生優雅的實作訊號與影像、圖學和生物資訊學中的經典演算法” -Lav Varshney University of Illinois “雖然沒有一本書可以教完科學研究Python的所有工具,但是有這本書會讓你看到,它可以幫你節省時間、減少痛苦。” -Greg Wilson Curriculum Lead, DataCamp 歡迎來到科研界Python社群,如果你是一個寫Python的科學研究者,這本實用的指引書,不只教你SciPy和相關函式庫的重要基礎,而且能讓你看到美麗、易讀,同時能應用在實務上程式碼。你會學到如何寫出具備清楚、簡潔和高效的優雅程式碼。 閱讀本書,會看到許多科研界Python生態圈的範例程式碼,這些程式碼足以代表本書的精神。使用實際的科研資料,用SciPy、NumPy、Pandas、scikit-image和其它Python函式庫解決真實世界的問題。 ‧探索NumPy陣列,數值科學計算的底層結構 ‧使用百分位正規化使測量值貼和特定分布 …

book

JAVASCRIPT錦囊妙計第二版

by Shelley Powers

網頁程式設計 "這是一本涵蓋全面並且擁有豐富實務範例的書。" -Dr. AxelRauschmayer, 《Speaking JavaScript》的作者 JavaScript在應用規模上日趨廣泛,如何善用JavaScript解決問題已是一門重要的課題。本書提供眾多的範例程式。這些範例涵蓋瀏覽器、伺服器及行動裝置領域的各種應用。每個範例包含可再利用的程式碼,對JavaScript物件、Node、Ajax、JSON、資料持續、圖形與多媒體、框架、JavaScript模組化、API等均提供了實用的建議。 針對有開發經驗的讀者,本書第一部分包羅JavaScript傳統應用方式以及新進概念。第二部份深入探討伺服器、行動應用開發以及許多最新工具。在過程中你將省下許多寶貴時間並學習到更多尖端技術。 主題簡介: ‧JavaScript經典 ‧陣列、函式與JavaScript物件 ‧存取使用者介面 ‧測試與可及性 ‧建立及使用JavaScript函式庫 ‧前後端的Ajax溝通 ‧豐富互動的網頁效果 …

book

成為卓越程式設計師的38項必修法則

by Pete Goodliffe

“本書會引發你對程式設計藝術與科學的熱情。Pete 知道:卓越的軟體,是優秀的人們盡最大努力所完成的。” -Lisa Crispin 《Agile Testing: A Practical Guide for Testers and Agile Teams》作者 如果你熱愛程式設計,想要提升自己的能力,那你就找到正確的資源了。《Code Craft …

book

現代JavaScript實務應用

by Nicolas Bevacqua

深入探討ES6規格與JavaScript的未來發展 ”《現代JavaScript實務應用》一書,帶給你大量的新語法和語義,可讓你的程式碼在表達上更具敘述性。Nicolás化繁為簡,用簡單的範例說明複雜的新功能觀念,這真是令人驚艷,也讓你能夠快速上手。“ -Kent C. Dodds Papal, TC39 想要深入瞭解現代JavaScript,你必須學習它繼承的原始技術規格,也就是ESMAScript 6(ES6)。本書以實務角度探討ES6,且不遺漏技術規格的說明和實作細節的技巧。搭配實務範例,作者Nicolás Bevacque指導你用新的方法處理非同步流程、宣告物件或函式、建立代理器或集合,以及許多其他的特徵功能。 本書是《模組化JavaScript系列》叢書的第一本書,《現代JavaScript實務應用》一書為JavaScript和Node.js開發人員準備了模組化功能設計的課程內容,而功能測試、設計和部署則會在本系列叢書的後續作品中探討。 本書內容包含: ‧JavaScript及其標準發展流程如何演進 ‧重要的ES6變更調整,包含箭頭函式、解構賦值、let和const ‧宣告物件原型的類別語法以及新的Symbol基礎元件 ‧如何用Promise、迭代器、產生器和非同步函式處理流程控制 …