我在挑選學習框架的時候,其實是想學 React 的,但是看了很多人說 React 的學習成本較高,所以想說框架還是先從 Vue 開始比較好!
那在那麼在框架大戰中該學誰,可以看我整理的資訊來去判斷未來想學什麼框架唷~~
學習曲線
Angular 難
備註:Java工程師開發的,開發思想更多偏向於後台技術。不管怎麼樣angular都是屬於先驅者,也正因為角後退才會出現例如Vue,React這樣的框架。
React 很難
- JSX的語法
- React全家桶(Flux、Router等),React-router
備註:使用React之前,必須先學習JSX語法,後續還需要配合上全家桶等。
Vue 最簡單
HTML + CSS + JavaScript馬上上手。
備註:不管這三個框架中的哪個想要用好都是需要花時間的,並不是說Vue上手簡單,在 project 中就能用的很好,這用法非常靈活。
優缺點
Angular
特性:
- 良好的應用程式結構
- 雙向數據綁定
- 指令
- HTML template
- 可嵌入、注入和測試
優點:
- 模板功能強大豐富,自帶及其豐富的 angular 指令
- 是個完善的前端框架:服務、模板、數據雙向綁定、模組化、路由、過濾器、依賴注入等所以功能
- 自定義指定,可在項目中多次使用
- ng模組話比較大膽引入了 Java 的一些東西(依賴注入),提高代碼的復用性,對敏捷式開發團隊非常有幫助
- 是 google 開發,有堅實的基礎和社群支持
缺點:
- 深入概念多,學習中難以理解
- document 較少,document 只有 API,缺少例子
- 對 IE6/7 兼容性不是特別好(可用 jQuery 解決一些)
- 依賴注入,如果需要代碼壓縮需要明顯聲明
React
特性:
- 聲明式設計:React 採用聲明範式,可輕鬆描述應用
- 高效:React 通過對 DOM 的模式,最大限度地減少 DOM 的互交
- 靈活:React 可以與已知的 library 或 框架很好的配合
優點:
- 速度快:在 UI 渲染過程中,React 通過模擬 DOM 中的微操作實現對實際 DOM 的舉部屬性
- 跨瀏覽器兼容:虛擬 DOM 幫助解決跨瀏覽器兼容問題,提供了標準化 API,甚至 IE8 都沒問題
- 模組化:為應用程式編寫獨立的模組化 UI 組件,可以方便進行隔離
- 單向數據流:Flux 是用於在 JavaScript 應用中創建單向數據層的架構,隨著 React 視圖庫的開發被 FB 概念化
- 純粹的 JS:搜尋引擎爬蟲程式依賴的是伺服器端響應,而不是 JS 執行,預渲染應用有幫助於搜尋引擎優化
- 兼容性好:使用 RequireJS 來加載和打包,而 webpack 適合於構建大型應用,它使得艱難任務不在讓人望而生畏
缺點:
- React 本身只是一個 V 而已,並不是完整框架,要應用到大型項目需要加上 ReactRouter 和 Flux
Vue
特性:
優點:
- 簡單:官方文件清晰,簡單易學
- 快速:異同步處理方式更新 DOM
- 組合:用解耦的、可複用組件組合應用程式
- 強大:表達式、無需聲明依賴的可推倒屬性
- 模組友好:可通過 NPM、Bower、Duo 安裝,無需強迫所有程式碼遵循 ng 各種規定,使用場景更靈活
缺點: