構建基於Javascript的移動web CMS入門——簡介
看到項目上的移動架構,網上尋找了一下,發現原來這些一開始都有。於是,找了個樣本開始構建一個移動平台的CMS——墨頎 CMS,方便項目深入理解的同時,也可以自己維護一個CMS系統。
構建架構
嘗試過用AngularJS和EmberJS,發現對於使用AngluarJS以及EmberJS來說,主要的問題是要使用自己熟悉的東西沒那麼容易引入。而且考慮到Google向來對自己的項目的支援不是很好~~,所以便放棄了AngluarJS的想法。
於是開始尋找一些方案,但是最後還是選擇了一個比較通用的方案。
RequireJS
jQuery
Underscore
Backbone相對於AngularJS來說,Backbone是一個輕量級的方案,從大小上來說。對於自己來說,靈活性算是其中好的一點,也就是自己可以隨意的加入很多東西。
關於Backbone
Backbone.js是一套JavaScript架構與RESTful JSON的應用程式介面。也是一套大致上符合MVC架構的編程範型。Backbone.js以輕量為特色,只需依賴一套Javascript 函式庫即可運行。
具體功能上應該是
Backbone 輕量級,支援jquery,內建路由,對象化視圖,強大的sync機制減少頁面大小從而加快頁面顯示。
jQuery jQuery使使用者能更方便地處理HTML(標準通用標記語言 (SGML)下的一個應用)、events、實現動畫效果,並且方便地為網站提供AJAX互動。不過主要是jQuery能夠使使用者的html頁面保持代碼和html內容分離,只需定義id即可。
Underscore是Backbone的依賴庫 Underscore 是一個JavaScript實用庫,提供了類似Prototype.js的一些功能,但是沒有繼承任何JavaScript內建對象。
RequireJS 你可以順序讀取僅需要相關相依模組。前台UI,使用的是Pure CSS,一個輕量級的CSS架構,但是最後感覺,總體用到一起,大小還是相當的。只是可以有一個更好的移動體驗。
其他可替換的架構AngularJS,考慮到某些因素,可能會替換掉Backbone,但是還不是當前可行的方案。為了學習是一方案,也為了更好的普及某些東西。handlebars Handlebars 是Mustache的改進,顯示與邏輯分離,文法相容Mustache,可以編譯成代碼,改進Mustache對路徑的支援,但是若需要在服務端運行需要使用服務端Javascript引擎如Node.js。
項目前後端分離設計,後台對前台只提供JSON資料,所以在某種意義上來說可能會只適合瀏覽,和這個要配合背景架構。總的來說,適合於閱讀類的網站。
源碼代碼依然是放在Github上,準系統已經可以Works了。
https://github.com/gmszone/moqi.mobi
進展及目的最後目標:構建一個移動平台的CMS系統。
當前:對於這樣一個項目來說,目前會考慮優先支援下面的兩個架構,
Django+Tastypie API
Wordpress現在:可以從後台讀取到資料。
其他一些比較好的資料有