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)
- 目錄 (2/2)
- 前言 (1/2)
- 前言 (2/2)
- 第一章 MVC和類別(Classes)
- 歷史回顧
- 規劃程式架構
- 何謂MVC?
- 模型(Model)
- 檢視器(View)
- 控制器(Controller)
- 邁向模組化的第一步:建立類別
- 在類別裡新增函式
- 在我們的類別函式庫裡新增函式
- 利用原型物件繼承類別
- 在我們的類別函式庫裡加上繼承機制
- 調用函式(Function Invocation)
- 在我們的類別函式庫裡管理作用域(scope)
- 新增私有函式(Private Function)
- 類別函式庫
- 第二章 事件(Event)和監聽
- 監聽事件
- 事件的處理順序
- 取消事件
- Event物件
- 事件函式庫
- 執行環境的變換
- 委派事件(Delegating Events)
- 自訂事件
- 自訂事件和jQuery的外掛模組
- 和DOM元件無關的事件
- 第三章 模型(Model)和資料
- MVC和命名空間(Namespacing)
- 建立ORM
- 原型繼承(Prototypal Inheritance)
- 新增ORM屬性
- 儲存資料
- 自動產生ID
- 修正參照值的問題
- 載入資料
- 直接把資料放進網頁
- 利用Ajax載入資料
- JSONP
- 跨網域請求的安全性
- 把資料寫入ORM
- 將資料儲存在用戶端
- 在我們的ORM裡加上本地儲存區功能
- 將新資料傳送至伺服器
- 第四章 控制器(Controller)和狀態
- 模組模式(Module Pattern)
- 匯入全域變數(Global Import)
- 匯出全域變數(Global Export)
- 關於執行環境(Context)的二三事
- 開發抽象化的函式庫介面
- 等網頁載入完成之後,再載入控制器
- 存取檢視器
- 委派事件
- 狀態機(State Machines)
- 路由(Routing)
- 使用網址的雜湊值(Hash)
- 偵測雜湊值的變動
- Ajax爬行規格(Ajax Crawling)
- 使用HTML5的歷史瀏覽記錄API
- 第五章 檢視器(View)與模版(Template)
- 動態產生檢視器內容
- 模版(Template)
- 模版輔助函式
- 模版的存放位置
- 繫結機制(Binding)
- 繫結模型
- 第六章 相依性管理(Dependency Management)
- CommonJS
- 宣告模組
- 模組和瀏覽器
- 模組載入器(Module Loaders)
- Yabble
- RequireJS
- 包裝模組
- 模組的替代方案
- LABjs
- 一閃而過的網頁素顏(FUBC)
- 第七章 處理檔案
- 支援的瀏覽器
- 取得檔案資訊
- 檔案選取欄位
- 拖曳與置放(Drag and Drop)
- 拖曳
- 置放
- 取消拖曳/置放的預設行為
- 複製與貼上
- 複製
- 貼上
- 讀取檔案內容
- 二進位物件(Blob)與檔案裁切(Slice)
- 自製檔案瀏覽鈕
- 上傳檔案
- 利用Ajax呈現處理進度
- 用jQuery開發可拖曳/置放檔案的上傳器
- 建立置放檔案的網頁區域
- 上傳檔案
- 第八章 即時網頁(Real-time web)
- 即時網頁技術的演進
- WebSocket
- Node.js和Socket.IO
- 即時架構
- 使用者感受到的速度(Perceived Speed)
- 第九章 測試與除錯
- 單元測試(Unit Testing)
- 判斷式(Assertions)
- QUnit
- Jasmine
- 驅動器(Drivers)
- 在無資訊輸出的環境測試(Headless Testing)
- Zombie
- Ichabod
- 分散式測試(Distributed Testing)
- 提供支援
- 檢查工具(Inspectors)
- 網頁檢查工具(Web Inspector)
- Firebug
- 主控台(Console)
- 主控台輔助函式
- 善用除錯工具(Debugger)
- 分析網路請求
- 效能分析和計時工具
- 第十章 部署程式
- 效能
- 快取(Caching)
- 程式碼精簡工具(Minification)
- Gzip壓縮
- 善用CDN
- 稽核工具(Auditors)
- 相關學習資源
- 第十一章 Spine函式庫
- 安裝
- 類別
- 建立物件實體
- 擴充類別
- 執行環境(Context)
- 事件
- 模型
- 讀取資料
- 模型事件
- 驗證資料
- 儲存資料
- 控制器
- 代理器函式
- 網頁元件
- 委派事件
- 控制器事件
- 全域事件
- 產製模式(Render Pattern)
- 元件模式(Element Pattern)
- 實際開發應用程式:聯絡人管理員
- Contact模型
- Sidebar控制器
- Contacts控制器
- App控制器
- 第十二章 Backbone函式庫
- 模型
- 模型和屬性
- 集合物件(Collection)
- 集合物件的排序
- 檢視器
- 產生檢視器內容
- 委派事件
- 事件繫結和執行環境的變換
- 控制器
- 和伺服器同步
- 裝載集合物件
- 伺服器端該做的處理
- 自訂同步方式
- 實際開發應用程式:待辦事項管理員 (1/2)
- 實際開發應用程式:待辦事項管理員 (2/2)
- 第十三章 JavaScriptMVC函式庫
- 安裝
- 類別
- 建立類別的實體
- 呼叫父類別的函式(Base Methods)
- 代理函式(Proxies)
- 靜態繼承
- 自識機制(Introspection)
- 先看一個模型的範例
- 模型(Model)
- 存取模型屬性和監聽模型變化
- 擴充模型
- 設值函式(Setter)
- 預設值
- 輔助函式
- 封裝服務
- 型別轉換(Type Conversion)
- CRUD事件
- 在檢視器裡使用用戶端模版
- 基本用法
- jQuery網頁元件編修函式(Modifiers)
- 透過script標籤載入檢視器
- $.View和子模版
- 延遲物件(Deferreds)
- 包裝、預先載入及效能
- $.Controller:jQuery外掛模組產生器
- 控制器簡介
- 建立控制器的實體
- 繫結事件
- 模版式動作(Templated Action)
- 融會貫通:開發出抽象化的CRUD資料清單
- 附錄A jQuery入門 (1/3)
- 附錄A jQuery入門 (2/3)
- 附錄A jQuery入門 (3/3)
- 附錄B CSS擴充模組 (1/2)
- 附錄B CSS擴充模組 (2/2)
- 附錄C CSS3參考資料 (1/5)
- 附錄C CSS3參考資料 (2/5)
- 附錄C CSS3參考資料 (3/5)
- 附錄C CSS3參考資料 (4/5)
- 附錄C CSS3參考資料 (5/5)
- 索引 (1/4)
- 索引 (2/4)
- 索引 (3/4)
- 索引 (4/4)
- 關於作者
- 出版記事
Product information
- Title: JAVASCRIPT網頁應用程式設計
- Author(s):
- Release date: January 2013
- Publisher(s): GoTop Information, Inc.
- ISBN: None
You might also like
book
優雅的SciPy|Python科學研究的美學
“本書滿足以下重要需求:引導學生優雅的實作訊號與影像、圖學和生物資訊學中的經典演算法” -Lav Varshney University of Illinois “雖然沒有一本書可以教完科學研究Python的所有工具,但是有這本書會讓你看到,它可以幫你節省時間、減少痛苦。” -Greg Wilson Curriculum Lead, DataCamp 歡迎來到科研界Python社群,如果你是一個寫Python的科學研究者,這本實用的指引書,不只教你SciPy和相關函式庫的重要基礎,而且能讓你看到美麗、易讀,同時能應用在實務上程式碼。你會學到如何寫出具備清楚、簡潔和高效的優雅程式碼。 閱讀本書,會看到許多科研界Python生態圈的範例程式碼,這些程式碼足以代表本書的精神。使用實際的科研資料,用SciPy、NumPy、Pandas、scikit-image和其它Python函式庫解決真實世界的問題。 ‧探索NumPy陣列,數值科學計算的底層結構 ‧使用百分位正規化使測量值貼和特定分布 …
book
JAVASCRIPT錦囊妙計第二版
網頁程式設計 "這是一本涵蓋全面並且擁有豐富實務範例的書。" -Dr. AxelRauschmayer, 《Speaking JavaScript》的作者 JavaScript在應用規模上日趨廣泛,如何善用JavaScript解決問題已是一門重要的課題。本書提供眾多的範例程式。這些範例涵蓋瀏覽器、伺服器及行動裝置領域的各種應用。每個範例包含可再利用的程式碼,對JavaScript物件、Node、Ajax、JSON、資料持續、圖形與多媒體、框架、JavaScript模組化、API等均提供了實用的建議。 針對有開發經驗的讀者,本書第一部分包羅JavaScript傳統應用方式以及新進概念。第二部份深入探討伺服器、行動應用開發以及許多最新工具。在過程中你將省下許多寶貴時間並學習到更多尖端技術。 主題簡介: ‧JavaScript經典 ‧陣列、函式與JavaScript物件 ‧存取使用者介面 ‧測試與可及性 ‧建立及使用JavaScript函式庫 ‧前後端的Ajax溝通 ‧豐富互動的網頁效果 …
book
成為卓越程式設計師的38項必修法則
“本書會引發你對程式設計藝術與科學的熱情。Pete 知道:卓越的軟體,是優秀的人們盡最大努力所完成的。” -Lisa Crispin 《Agile Testing: A Practical Guide for Testers and Agile Teams》作者 如果你熱愛程式設計,想要提升自己的能力,那你就找到正確的資源了。《Code Craft …
book
現代JavaScript實務應用
深入探討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、迭代器、產生器和非同步函式處理流程控制 …