Web App的零框架解決方案
MVC框架(尤其是大型框架)有一個嚴重的缺點,就是會產生用戶的重度依賴。一旦框架本身出現問題或者停止更新,用戶的處境就會很困難,維護和更新成本極高。
ES6的到來,使得JavaScript語言有了原生的模塊解決方案。于是,開發者有了另一種選擇,就是不使用MVC框架,只使用各種單一用途的模塊庫,組合完成一個項目。
下面是可供選擇的各種用途的模塊列表,摘自Andy Walpole的《2015: The End of the Monolithic JavaScript Framework》。
輔助功能庫(Helper Libraries)
- moment.js:日期和時間的標準化
- underscore.js / Lo-Dash:一系列函數式編程的功能函數
路由庫(Routing)
- router.js:Ember.js使用的路由庫
- route-recognizer:功能全面的路由庫
- page.js:類似Express路由的庫
- director:同時支持服務器和瀏覽器的路由庫
Promise庫
- RSVP.js:ES6兼容的Promise庫
- ES6-Promise:RSVP.js的子集,但是全面兼容ES6
- q:最常用的Promise庫之一,AngularJS用了它的精簡版
- native-promise-only:嚴格符合ES6的Promise標準,同時兼容老式瀏覽器
通信庫
動畫庫(Animation)
- cssanimevent:兼容老式瀏覽器的CSS3動畫庫
- Velocity.js:性能優秀的動畫庫
輔助開發庫(Development Assistance)
- LogJS:輕量級的logging功能庫
- UserTiming.js:支持老式瀏覽器的高精度時間戳庫
流程控制和架構(Flow Control/Architecture)
- ondomready:類似jQuery的ready()方法,符合AMD規范
- script.js:異步的腳本加載和依賴關系管理庫
- async:瀏覽器和node.js的異步管理工具庫
- Virtual DOM:react.js的一個替代方案,參見Virtual DOM and diffing algorithm
數據綁定(Data-binding)
- Object.observe():Chrome已經支持該方法,可以輕易實現雙向數據綁定
模板庫(Templating)
- Mustache:大概是目前使用最廣的不含邏輯的模板系統
微框架(Micro-Framework)
某些情況下,可以使用微型框架,作為項目開發的起點。
(完)
來自:https://github.com/ruanyf/articles/blob/master/2015/2015-01-16-zero-framework.md
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!