Riot.js:不足1KB的MVP客戶端框架

csdn發表於2013-11-09

  Riot.js是一款MVP(模型-檢視-呈現)開源客戶端框架,其最大的特點就是體積非常小,不足1KB,雖然體積小,但它可以幫助使用者構建大規模的Web應用程式。

  Riot.js是由Moot公司開發,目前最新版本為v0.9.2,遵循MIT開源許可。

Riot.js:不足1KB的MVP客戶端框架

  Riot.js包含的元件有:一件模板引擎、路由、事件庫和一個嚴格的MVP模型,可以把所有的元件組織在一起。和其他框架相比,它速度更快、體積更小、功能更加強大。

  下面我們一起來看下Riot.js的幾大特徵。

  最小

  下面是目前幾個比較流行的客戶端JS框架,Riot.js是所有這些框架裡體積最小的:

Riot.js:不足1KB的MVP客戶端框架

  Riot.js之所以如此輕量,它主要注重於構建和維護應用的核心因素,目前,它主要依賴於jQuery,但在即將釋出的v1.0中會有一個獨立的版本,並且可以在Node.js上執行。

  應用程式程式碼更少

  下面是各個框架構建Todo MVC應用程式的程式碼量:

Riot.js:不足1KB的MVP客戶端框架

  Raw amount of minified JS and HTML in Todo MVC

  程式碼量的多少要取決於很多因素,比如編碼風格等,所以這並不是一個非常重要的指標。

  最快

  Riot.js配備了一個非常快速的JavaScript模板引擎,它的速度幾乎是Resig“微模板”或Underscore模板的5倍。

Riot.js:不足1KB的MVP客戶端框架

  Running a variable substitution x amount of times.

  MVP設計模式

  Riot.js使用Model-View-Presenter (MVP)設計模式來組織程式碼,這樣它能夠更加模組化、更具可測試性且易於理解。

Riot.js:不足1KB的MVP客戶端框架

  就像MVC(Model View Controller)或MVVM(Model View ViewModel)設計模式,目的都是把應用程式的邏輯從檢視中分離出來,但MVP更簡單,讓我們與MVC比較下:

Riot.js:不足1KB的MVP客戶端框架

  MVC設計模式更加複雜,許多箭頭圍稱一個圈。控制器角色不明確,該模式可以有很多種解釋方式。事實上,這是導致該模式下有太多客戶端框架的根本原因。

  相反,MVP則沒有太多的解釋空間,每個角色定位都很清楚,它可以應用在各種大小的專案上,並且也是單元測試的最佳模式。

  相關資料

  Riot.js官網:https://moot.it/riotjs

  託管地址:https://github.com/moot/riotjs

  詳細介紹:https://moot.it/blog/technology/riotjs-the-1kb-mvp-framework.html

  國內映象地址:https://code.csdn.net/OS_Mirror/riotjs 

相關文章