Web App的零框架解決方案

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

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

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

輔助功能庫(Helper Libraries)node

路由庫(Routing)react

Promise庫jquery

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

通訊庫git

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

動畫庫(Animation)es6

輔助開發庫(Development Assistance)github

  • 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

相關文章
相關標籤/搜索