jQuery V.S. 前端框架
- 用 jQuery 去操作 DOM 的目的是什麼?
- 是為了局部更新視圖,換句話說是為了局部重新渲染
- jQuery 和 現代主流框架差別
- jQuery 是命令式的操作 DOM,命令式的局部更新視圖
- 而現代主流框架 Vue、React、Angular 等都是聲明式的,聲明式的局部更新視圖
什麼是 MVVM 框架?
- 這些框架都是基於 component
- 一個組件得到一個輸入,並且在一些內部的行為/計算之後,它返回一個渲染的 UI 模板(一個登錄/註銷區或一個待辦事項列表項)作為輸出
- 定義的組件應該易於在網頁或其他組件中重用
前端框架有哪些?
- Vue
- React
- Angular
Vue
- 在為 AngularJS 工作之後,Vue 的作者尤雨溪開發出了這一框架。他聲稱自己的思路是提取 Angular 中為自己所喜歡的部分,構建出一款相當輕量的框架
- 最早發布於 2014 年 2 月
- 優點:學習成本較低
React
- React 由 Facebook 的軟體工程師 Jordan Walke 建立
- 2013 年開源 React 這個函式庫
- 優點:生態系較完全,網路比較多教學資源
Angular
- AngularJS 在 2009 年由 Miško Hevery 和 Adam Abrons 開發
- 由 Google 維護
- 優點:適合複雜、大型的專案
- 缺點:Angular 的學習曲線確實很陡。它有全面的文檔,但你仍然可能被嚇哭,因為說起來容易做起來難
前端框架比較
三分天下,該如何選擇?vue,angular 還是 react?
前端框架天下三分:Angular React 和 Vue 的比较
JavaScript 框架大比拼:Vue、React、AngularJS 與 Angular2 該用哪一個?
譯 2017 年比較 Angular、React、Vue 三劍客
上手難度?
- Vue < React < Angular
使用場景?
- Vue React 較適合中小型,大型項目
- Angular 一般用於大型(因為比較厚重)
如何選擇一款適合的前端框架?
- 這些框架或庫有多成熟?
- 這些框架只會火熱一時嗎?
- 這些框架相應的社區規模有多大,能得到多少幫助?
- 找到每個框架開發者容易嗎?
- 這些框架的基本編程概念是什麼?
- 對於小型或大型應用程序,框架是否易用?
- 每個框架學習曲線什麼樣?
- 你期望這些框架的性能怎麼樣?
- 在哪能仔細了解底層原理?
- 你可以用你選擇的框架開發嗎?
我應該選什麼?
- 如果你在 Google 工作:Angular
- 如果你喜歡 TypeScript:Angular(或 React)
- 如果你喜歡面向對象編程(OOP): Angular
- 如果你需要指導手冊,架構和幫助:Angular
- 如果你在 Facebook 工作:React
- 如果你喜歡靈活性:React
- 如果你喜歡大型的技術生態系統:React
- 如果你喜歡在幾十個軟件包中進行選擇:React
- 如果你喜歡 JS 和“一切都是 Javascript 的方法”:React
- 如果你喜歡真正乾淨的代碼:Vue
- 如果你想要最平緩的學習曲線:Vue
- 如果你想要最輕量級的框架:Vue
- 如果你想在一個文件中分離關注點:Vue
- 如果你一個人工作,或者有一個小團隊:Vue(或 React)
- 如果你的應用程序往往變得非常大:Angular(或 React)
- 如果你想用 react-native 構建一個應用程序:React
- 如果你想在圈子中有很多的開發者:Angular 或 React
- 如果你與設計師合作,並需要乾淨的 HTML 文件:Angular or Vue
- 如果你喜歡 Vue 但是害怕有限的技術生態系統:React
- 如果你不能決定,先學習 React,然後 Vue,然後 Angular