Web App的零框架解決方案

jopen 9年前發布 | 18K 次閱讀 前端技術 APP

MVC框架(尤其是大型框架)有一個嚴重的缺點,就是會產生用戶的重度依賴。一旦框架本身出現問題或者停止更新,用戶的處境就會很困難,維護和更新成本極高。

ES6的到來,使得JavaScript語言有了原生的模塊解決方案。于是,開發者有了另一種選擇,就是不使用MVC框架,只使用各種單一用途的模塊庫,組合完成一個項目。

下面是可供選擇的各種用途的模塊列表,摘自Andy Walpole的《2015: The End of the Monolithic JavaScript Framework》

輔助功能庫(Helper Libraries)

路由庫(Routing)

Promise庫

  • RSVP.js:ES6兼容的Promise庫
  • ES6-Promise:RSVP.js的子集,但是全面兼容ES6
  • q:最常用的Promise庫之一,AngularJS用了它的精簡版
  • native-promise-only:嚴格符合ES6的Promise標準,同時兼容老式瀏覽器

通信庫

  • fetch:實現window.fetch功能
  • qwest:支持XHR2和Promise的Ajax庫
  • jQuery:jQuery 2.0支持按模塊打包,因此可以創建一個純Ajax功能庫

動畫庫(Animation)

輔助開發庫(Development Assistance)

  • LogJS:輕量級的logging功能庫
  • UserTiming.js:支持老式瀏覽器的高精度時間戳庫

流程控制和架構(Flow Control/Architecture)

數據綁定(Data-binding)

  • Object.observe():Chrome已經支持該方法,可以輕易實現雙向數據綁定

模板庫(Templating)

  • Mustache:大概是目前使用最廣的不含邏輯的模板系統

微框架(Micro-Framework)

某些情況下,可以使用微型框架,作為項目開發的起點。

  • bottlejs:提供惰性加載、中間件鉤子、裝飾器等功能
  • Stapes.js:微型MVC框架
  • soma.js:提供一個松耦合、易測試的架構
  • knockout:最流行的微框架之一,主要關注UI

(完)



來自:https://github.com/ruanyf/articles/blob/master/2015/2015-01-16-zero-framework.md

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!