Ajax in Action

 

軟體設計層次的Ajax書,很認真的思考 Single Page Application。前三章引入Design Patterns、重構的概念到Javascript,將 Web Page提升到應用程式的層次。四五章很精采地分析架構,包括不同層次的MVC觀點,以及各種框架的大局觀跟分類,其中關於Ajax如何交換資料提供了很好的思考,以下是我的筆記(Rails是我加的,書上沒有):

內容中心的互動 (content)

  • Server 傳回 HTML 片段,Client 在特定位置更新顯示。
  • 簡單直覺,撰寫容易。
  • 功能有限,畫面上的變化只限於固定矩形區域,無法進行複雜的DOM操作。
  • Rails使用Prototype加上配套的 Ajax helper 即可達成。

腳本中心的互動 (scripting)

  • Server 傳回 Javascript 片段,Client 直接執行。
  • 功能彈性大,可自由操作DOM,多處更新。
  • Rails 支援在 Remote Javascript Template (RJS),使用Ruby語法撰寫Javascript,傳給Client執行,減少撰寫raw Javascript。

資料中心的互動 (data)

  • Server 傳回 XML 或 JSON 資料,Client 的 Javascript 解析處理(或使用XSLT)。
  • XML的解析較麻煩,現在流行用JSON(JavaScript Object Notation)。
  • 上述兩種架構與Client相依,但資料中心即Web Service(REST)架構,具可重複使用性(可供別的前端使用)。
  • Rails支援 XML Template跟JSON。
  • 因為剖析資料的負擔完全放在 Client 端,所以 Client 端的Javascript程式或XSLT工程較大。

第六章 使用者體驗 實作了一個通知框架,第七章講安全性,第八章講效能及記憶體洩漏(memory leak)問題。剩下後半本則是一章一案例。

另一篇書評 : Relevance Review #5: Ajax in Action

註: 之前寫的 ajax 傳送格式比較 : XML, HTML, or JSON?

發佈留言

發表迴響