JavaScript MVC框架

1 篇文章 / 0 new
author
JavaScript MVC框架
AngularJS ,github,
一組用來開發Web頁面的框架、範本以及資料綁定和豐富UI組件。提供web應用的架構,無需進行手工DOM操作。AngularJS 直接拓展html tag 在標準 tag 內增加屬性來進行相關資料操作. demo
資料綁定
可能最實用的特性。傳統來說,當model變化了。開發人員需要手動處理DOM元素並且將屬性反映到這些變化中。這個一個雙向的過程。
範本
在AngularJS中,一個範本就是一個HTML檔。但是HTML的內容擴展了,包含了很多幫助你映射model到view的內容。
AuguarJS並不把範本當做String來操作。輸入AngularJS的是DOM而非string。資料綁定是DOM變化,不是字 符串的連接或者innerHTML變化。使用DOM作為輸入,而不是字串,是AngularJS區別於其他的框架的最大原因。使用DOM允許你擴展指令 辭彙並且可以創建你自己的指令,甚至開發可重用的元件。
MVC
針對用戶端應用開發AngularJS吸收了傳統的MVC基本原則。但AngularJS並不執行傳統意義上的MVC,更接近於MVVM(Moodel-View-ViewModel)。
Dependency Injection(依賴注入,即DI)
AngularJS擁有內建的依賴注入子系統,DI允許你請求你的依賴,而不是自己找尋它們。比如,我們需要一個東西,DI負責找創建並且提供給我們。
Directives(指令)
指令可以用來創建自定義的標籤。它們可以用來裝飾元素或者操作DOM屬性。
Backbone.js , github ,
重量級javascript  MVC 應用框架,通過Models進行key-value綁定及custom事件處理,通過Collections提供一套豐富的API用於枚舉功能,通過 Views來進行事件處理及與現有的Application通過RESTful JSON介面進行互動. 提供特定功能模組包括:
Model:包含由鍵值對組成的屬性的物件。Model封裝了應用程式中的資料以及同資料相關的行為。
Collection:是一個模型的集合。Collection可以讓相關模型的集合共同工作並且作為一個整體被管理。通用的集合特性諸如新增和移除,迭代,過濾等都有提供。
View:用於管理和操作DOM的通用方法集合與配置,並顯示來自Model和Collection的資料。View提供了使用jQuery DOM 事件的一種結構良好的方法,可以容易的對HTML範本以及更多的其他東西進行渲染。
Event:它是對Javascript物件的觀察者設計模式的一個小巧但強大的實現。事件將Backbone.js應用粘合在一起。Backbone.js中的每一個物件都包含事件系統,它讓每一個Backbone.js物件都能觸發事件並能得到處理。
Router和History:使用URL哈希片段或者HTML5的pushState技術來管理流覽器歷史的物件集合。Router和History物件允許對一個應用程式的物件打上書簽或者鏈結,重載頁面的時候精確的回到上一次最後留下的樣子。  

Spine , github 輕量化的MVC框架
 
JavaScriptMVC , github ,
以 jQuery 與 OpenAJAX 為基礎。JavaScriptMVC 利用 MVC 架構與工具擴展這些函式庫,以便開發與測試。由於 JavaScriptMVC 不需要任何伺服器端的配合,因此它可以和任何的網站服務介面與程式語言整合.
是個JavaScript library,幫助創建豐富的顯示和編輯器UI,通過乾淨的底層資料模型。你可以在任何時候動態更新UI的選擇部分, 是採 Model-View-View Model(MVVM) 的樣式

 ,Cappuccino , github ,
Cappuccino是使用新程式語言Objective-J的實現,與Objective-C類似但是建立在JavaScript上, 撰寫的Objective-J程式是直接在用戶端運作,因此不需任何插件.
算是一個撰寫框架, 此框架以 jQuery 為主, 讓 jQuery 的每個物件撰寫變成 MVC模式. 這樣的方式會不會增加系統效能負擔呢?

 Riot.js ,
一款僅1k小巧的Client端, 運行快速, 採 Model-View-Presenter (MVP)設計模式.雖然小卻說一樣可以建構大型網路應用 介紹
 
batman.js, github , 建構在 CoffeeScript 的 MVC 撰寫應用框架
Derby.js , github ,一個撰寫MVC的協同框架, 可運行在 node.js 或瀏覽器
JX(Javascript eXtension tools), github ,
是騰訊AlloyTeam推出的模組化、非侵入式Web前端框架,其強調適合構建和組織工業級大規模、高效率的 Web App.來自 AlloyTeam 核心主要架構
第一層:Core Javascript 擴展模組 / 代碼組織模組(可用於NodeJs等其他js引擎,輕鬆組織大型應用,無縫接入其他js庫)
第二層:Browser Javascript 擴展模組(跨流覽器,基礎封裝) / 可選模組(設計模式相關模組,選擇器模組...)
第三層:UI 元件 / 即時動畫模組 / 遊戲引擎模組

Serenade.js : 一個小型Client端的建構框架, 提供模板, 數據裝載, 暫存功能
► Ember.js : 一個 web 應用程序框架, 沒有template設計
 
CoffeeScript , github ,
讓 javascript 變得更容易閱讀的一套小語言, 可以編譯到 javascript. 簡介.

其他參考資源
http://www.ithov.com/article/121977.shtml, http://www.dedecms.com/knowledge/web-based/javascript-ajax/2012/0725/367...,
Free Web Hosting