值得推薦的AJAX入門好書(2006/3月出版),循序漸進交代出Javascript、DOM跟Ajax。範例程式碼清楚好讀,網頁設計觀念正確。講完用 XMLHttpRequest 的最原始用法之後,就開始教如何運用 Prototype 跟 Dojo,畢竟實在不需要用 raw Javascript 啊。之後的例子主要也是用 Prototype。講 Ajax 如何正確使用的觀念講的不錯(第七章),其他有用的議題(如JSON)也都包含在內,是本既入門內容又豐富的書。
話說這本書放要讀清單放好久了,真的拿起來認真看,沒幾天也就看完了,還蠻好唸的… :p
大致的內容是這樣:
- 簡介 Ajax
- Google Maps 範例 (作者想說明這只是 standard HTML and JavaScript 而已),我倒覺得這章有點累贅不必要 :p
- XMLHttpRequest 的基本用法
- XMLHttpRequest 加上 Javascript DOM 操作
- Ajax Framework
作者把 Ajax Framework 分成三種層次
1.Ajaxian Web Frameworks(如Rails,Tapestry,ASP.NET)
2.UI Toolkit (如Dojo,Backbase)
3.Remoting Toolkit (如DWR,JSON-RPC)
接下來介紹 Prototype 跟 Dojo 的 Ajax 用法 - Ajax UI, Part 1: Prototype,Script,aculo,us 跟 Dojo 的 DOM 操作跟特效用法
- Ajax UI, Part 2 : 告訴你什麼時候用Ajax。先給你一些 Ajax Patterns 範例(Server-side Validation、載入畫面,載入完特效,Autocomplete等),接下來做一些議題討論 (回上一頁、Bookmarking、GET is for getting,POST is for Doing 等設計注意事項)。
- Debugging 工具介紹
- Degradable Ajax : 要先決定degrade的程度跟支援的範圍。
先從 without Ajax 開始做! 然後再 Ajaxifying。使用 HTML 當作 Ajax 格式並搭配 partials template是比較容易做好 Degradble Ajax,至於 Web-Services-Driven Ajax (用XML或JSON格式) 則可能要分兩個版本或直接說sorry!,因為client side太rich了。 - JSON 跟 JSON-RPC 介紹
JSON比XML格式更容易處理而且parsing又快,值得注意的是JSON還有獨到優點就是可以跨 server拿資料。
see The AJAX response: XML, HTML, or JSON? 跟 JSON and Yahoo!’s JavaScript APIs
JSON-RPC 則是拿 Rails 的 orbjson 來示範。 - Server-side Framework Integration 簡介
作者又分成三種
1.有Visual Tool Support,view 使用 components 機制,如ASP.NET,JSF toolkit for JAVA
2.Custom tag libraries(Helpers),如RoR產生Javascript code
3.ORB-like Remoting,直接在client-side 用JavaScript呼叫Server端的function,如JSON-RPC,DWR,PHP的Sajax等 - Ajax with PHP : 介紹 Sajax 跟 XOAD
- Ajax with Rails: 幾個Ajax helpers介紹,最後提一下RJS
- DWR with Spring(Java) : 略
- ASP.NET and Atlas : 略
- Ajax的未來
1. 介紹E4X(ECMAScript for XML),一種parse XML的方式,直接讀出成 object 格式 (有點像JSON在做的事,只是對象是XML)。既有XML標準格式的好處,又有JSON一樣的方便性。
2. 介紹畫圖的 Canvas 跟 SVG (找到這篇投影片比較差異 )
3. 瀏覽器端的 Local Storage 能力,標準可靠的 offline storage API,目前 Dojo 有在實作。
4. Flash Apollo : 讓 Flash 不限於在瀏覽器,Adobe 要用 Web 技術進軍桌面應用 (see這篇訪問文,看起來蠻有吸引力的)。
5. Compiled Javascript 提供 JIT Javascript compilation environment 加強執行速度
6. WHATWG 將主導了下一世代的 web standards