基於Backbone.js,REST技術的瘦服務端架構介紹(轉)

先從Backbone說起,第一次接觸Backbone時,並沒體會到它的好處。

當領悟他它的設計精神後,有種耳目一新的感覺,類似初次使用Jquery時的感受。

 

Backbone.js是一套Javascript MVC,與Jquery結合,用於構建Web端的應用。通常我們所說的MVC框架多數是指服務器端的,而Backbone.js是瀏覽器端的MVC框架。

 

REST是一種廣泛應用的架構,包括資源,資源標識,對資源的操作。
通常通過HTTP URL標識資源,通過HTTP原生方法POST,PUT,GET,DELETE 對資源操作。

 

瘦服務端架構TSA(Thin Server Architecture),可以簡單理解爲面向API的架構。如下圖所示:



從上圖我們可以看到,在瘦服務端架構TSA中,服務端與客戶端分開,同過API 通信。

客戶端可能有手機程序,桌面程序,和瀏覽器。所有客戶端共用一套API,站在API的角度,瀏覽器被是爲多種客戶端的一種。

應用這種架構開發網站時,所有的模板處理和頁面跳轉都在瀏覽器端通過Javascript完成,也就是純Javascript的網站,可用於實現所說的單頁面網站應用single-page application (SPA)。

 

應用這種架構的好處是:

  • 客戶端共用一套API,整個架構整潔優雅。容易維護。
  • 前後的的開發工作可以分開。開發API的人員不用懂Javascript.
  • 純AJAX的網站可提高網站用戶體驗度。

 

不利之處是:

  • 瀏覽器端對Javascript 開發技術要求高。
  • 純AJAX的網站,不利於SEO, 雖然根據Google的建議,可以實現Goole對Ajax頁面的收錄,對於對SEO依賴很大的網站,目前不建議使用。

對於像微博,團購之類客戶端多樣,對SEO依賴不大,對用戶體驗的極致關注的應用,瘦服務端架構是最好的選擇。

隨着用戶客戶端的多元化,Iphone,Android應用佔用率的提高,對網站易用性的關注,瘦服務端架構將得到廣泛應用。

發佈了60 篇原創文章 · 獲贊 17 · 訪問量 42萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章