前端開發一定會遇到框架的問題,那前端開發時用哪個框架好呢?哪個框架更適合前端初學者呢?我們就來梳理一下三大主流框架。
Reat.js(react)是臉書推出的一個用來構建用戶界面的JAVAScript庫。React是臉書用于構建反應式圖形界面的JS庫,已經用于構建ins和臉書的部分網站。最近出現了AngularJS、MeteorJS 和Polymer中實現的Model-Driven Views等框架,React也順應了這種趨勢。它基于在數據模型之上聲明式指定用戶界面的理念,用戶界面會自動與底層數據保持同步。React較為獨特的一點就在于它使用JavaScript來構建用戶界面而非html。
優點:
1. ui渲染過程中,react通過在虛擬dom中的微操來實現對實際dom的局部更新。
2. 跨瀏覽器兼容:虛擬DOM能夠幫助解決跨瀏覽器問題,它能夠提供標準化的API。
3. 模塊化:能夠編寫獨立的模塊化UI組件,當某個或者某些組件出問題時可以方便地進行隔離。
缺點:
在大型項目中,單react難以完成大型應用的編寫。
Vue.js是一套構建用戶界面的漸進式框架。與其他框架不同,Vue采用自底向上增量開發的設計。Vue的核心庫重點關注視圖層,也非常容易上手,容易與其他庫或已有的項目進行整合。此外,Vue也足夠采用單文件組和其支持的庫開發復雜的單頁面應用。
優點:
1. 簡單:官方文檔十分清晰。
2. 快速:以異步處理的方式更新DOM。
3. 組合:用解耦的、可復用的組件組合應用。
4. 緊湊:~18kbmin+gzip,且無依賴。
5. 對模塊友好:可通過npm、bower或duo安裝,使用場景更靈活。
缺點:
Vue.js多樣性、豐富性與其他庫相比較少。
Angular是谷歌開發的web框架,跨平臺性極強。通常結合typescript開發,能夠提供無縫升級的過渡方案。作為一款優秀的前端JS框架,已經被用于google多款產品之中。
優點:
1. 模塊功能強大,自帶豐富的指令。
2. 框架完善,包含幾乎所有功能。
3. 引入了如依賴注入等java的東西,能夠容易地寫出可復用的代碼。
4. 強大的社區和基礎支持。
缺點:
1. 入門容易但深入概念多,后續學習難度較大。
2. 文檔例子少,經常邊寫邊谷歌。
3. 教程少,寫出來的東西容易四不像。