-
1 # 架構師Adam
-
2 # 程式設計365
當前,三大主流前端框架分別是VueJS、AngularJS、React這三個框架。
VueJSVue是華人尤雨溪編寫的一個前端漸進式框架,學習成本低,文件全面,國內使用者最多。
優點:更輕量,單頁面,簡單易學
缺點:不支援IE8
AngularJS
谷歌出品,業界流行一句話"谷歌出品,必屬精品",對於谷歌的認可,AngularJS也得到很多開發者的青睞。
優點:模組化功能強大、自定義directive非常靈活、雙向資料繫結,依賴注入
缺點:比較笨重,學習成本高,不相容IE6/7
React
優點:速度快、跨瀏覽器相容、單向資料流、相容性好
缺點:學習成最高,因為它並不是一個完整的框架,需要加上ReactRouter和Flux才能完成。
-
3 # 碼農的一天
企業主流的前端框架
1、
Angular.js
github排名:star:59.6K
angular框架算是前端框架中的常青樹,自2009年由Misko Hevery等人建立後,在前端框架中一直佔有重要的地位。angular是一款優秀的前端JS框架,被用於Google的多款產品當中。angularJS有著諸多特性,最核心的是:MVVM、模組化、自動化雙向資料繫結、語義化標籤、依賴注入等等,這些特性都是前端人員非常喜歡的東西。
曾經作為最流行的前端js框架,現在熱度也在慢慢降低,體量大,不適合小專案使用,使得angular不再享受獨寵。
2、Vue.js(三大主流框架之一)
github:star: 163K
Vue (讀音 /vjuː/,類似於 view) 是一套用於構建使用者介面的漸進式JavaScript框架。與其它大型框架不同的是,Vue 被設計為可以自底向上逐層應用。Vue 的核心庫只關注檢視層,方便與第三方庫或既有專案整合。
Vue.js是一套構建使用者介面的漸進式框架。與其他重量級框架不同的是,Vue 採用自底向上增量開發的設計。Vue 的核心庫只關注檢視層,並且非常容易學習,非常容易與其它庫或已有專案整合。另一方面,Vue 完全有能力驅動採用單檔案元件和Vue生態系統支援的庫開發的複雜單頁應用。Vue.js 的目標是透過儘可能簡單的 API 實現響應的資料繫結和組合的檢視元件 [2] 。Vue.js 自身不是一個全能框架——它只聚焦於檢視層。因此它非常容易學習,非常容易與其它庫或已有專案整合。另一方面,在與相關工具和支援庫一起使用時 [3] ,Vue.js 也能完美地驅動複雜的單頁應用。有以下幾個特點:
(1) 易用
已經會了 HTML、CSS、JavaScript?即刻閱讀指南開始構建應用!
(2) 靈活
不斷繁榮的生態系統,可以在一個庫和一套完整框架之間自如伸縮。
(3) 高效
20kB min+gzip 執行大小超快虛擬 DOM最省心的最佳化
3、react.js(三大主流框架之一,GitHub排名僅次Vue)
github: star: 148K
React 是一個 Facebook 和 Instagram 用來建立使用者介面的 JavaScript 庫。很多人認為 React 是 MVC 中的 V(檢視)。我們創造 React 是為了解決一個問題:構建隨著時間資料不斷變化的大規模應用程式。為了達到這個目標,React 採用下面兩個主要的思想。
有以下幾個特點:
(1) 宣告式
React 使建立互動式 UI 變得輕而易舉。為你應用的每一個狀態設計簡潔的檢視,當資料改變時 React 能有效地更新並正確地渲染元件。
以宣告式編寫 UI,可以讓你的程式碼更加可靠,且方便除錯。
(2) 元件化
建立擁有各自狀態的元件,再由這些元件構成更加複雜的 UI。
元件邏輯使用 JavaScript 編寫而非模版,因此你可以輕鬆地在應用中傳遞資料,並使得狀態與 DOM 分離。
(3) 一次學習,隨處編寫
無論你現在正在使用什麼技術棧,你都可以隨時引入 React 來開發新特性,而不需要重寫現有程式碼。React 還可以使用 Node 進行伺服器渲染,或使用 React Native 開發原生移動應用。
ReactJS vs Angular5 vsVue.js
的使用情況總的來說,React和Angular一直保持著相對一致的發展步調。如果要我嘗試做個預測,那麼React會持續升高,Angular有所下滑。Vue.js依然不是很明晰,不過由於其框架的簡潔性,發展也不錯。
下面我們各個框架的優缺點:
(1) Angular 5
Angular是一個從2009年就開始推出JavaScript MVVM框架,對於構建高度可互動的網頁應用非常方便。
優點
新特性:RXJS,快速編譯(3秒內),新的HttpClient;詳細的文件幾乎涵蓋了所有必須的資訊,你甚至不需要向同事諮詢。不過,你需要更多的時間去學習;資料雙向繫結,可以減少出錯的風險;MVVM(Model-View-ViewModel)使得開發者可以針對同一個App模組同時開發;依賴注入使得模組化和模組中元件引入更加方便;缺點
與生俱來的複雜的語法;好在Angular 5使用TypeScript 2.4,已經簡單多了;遷移問題:從低版本升級到新版本的時候,不相容導致遷移成本高。使用Angular 5的公司:Upwork, Freelancer, Udemy, YouTube, Paypal, Nike, Google, Telegram, Weather, iStockphoto, AWS, Crunchbase。
(2) ReactJS
ReactJS是一個Facebook在2013年開源的JavaScript庫,可以非常方便地構建大型網頁應用。
優點
易於學習:由於語法十分簡潔,和Angular相比,React要容易得多。工程師只需要重溫一下HTML的基本知識就足夠。根本不需要像Angular一樣,還要深度學習TypeScript。高度的靈活性;虛擬DOM將HTML,XHTML、或則XML的文件格式化成樹形結構,這樣瀏覽器可以更容易理解;結合ES6/7,React可以很容易寫出各種酷炫程式碼;Downward資料繫結,也就是說父節點的資料不會受到孩子節點的影響;100%的開源,每天都有來自全世界無數的開發者的更新和改進;絕對的輕量級,因為資料處理既可以在使用者端,也可以在服務端;版本遷移非常容易,Facebook提供了”codemods”來自動化這一過程。缺點
缺乏官方文件:ReactJS的快速開發使得文件的缺乏,眾多開發者的維護也使其缺乏一個系統化的思路;React因為太靈活增加了決策成本而不好使;需要很長的時間去掌握,因為ReactJS需要你對如何將UI和MVC框架整合有一個足夠深度的理解。使用ReactJS的公司: Facebook, Instagram, Netflix, New York Times, Yahoo, Khan Academy, Whatsapp, Codecademy, Dropbox, Airbnb, Asana, Atlassian, Intercom, Microsoft。
(3) Vue.js
Vue.js是一個2013年誕生的前端框架,非常適合用於構架非常靈活的UI和複雜的單頁面應用。
優點
強化的HTML,也就是說Vue.js有著很多和Angular相似的特點。詳細的文件,Vue.js有著超級友好的文件,開發者可以快速的學會,這將會節省很多時間;可適用性:你可以很快地從其它框架轉移到Vue.js,因為它和Angular以及React都有一定的相似性;非常棒的整合性:Vue.js可以同時用於單頁面應用和更加複雜的網頁應用。主要在於你可以用它編寫很小的可互動部件,然後可以很容易地整合到現有的專案中而不會影響到整個系統;可擴充套件性:Vue.js可以用於快速開發大型複用模板;體積小:Vue.js只有20KB左右的大小,使得其速度和靈活性相對於其它框架都好不少。缺點
資源匱乏:Vue.js依然在整個市場中只佔有很小的比例,所以相應的資源、知識要少很多;靈活性帶來的風險:有時候,將其整合到大型專案的時候會有一些問題,但是你不見得能夠找到解法;來自中國:許多的元素和描述依然使用中文。這對於開發中會引入一些複雜性,好在越來越多的相關資料已經被翻譯成英文。使用Vue.js的公司:小米, 阿里巴巴, WizzAir, EuroNews, Grammarly, Gitlab and Laracasts, Adobe, Behance, Codeship, Reuters。
我們看下最近幾年的前端招聘一般的前端公司都需要精通這幾個框架的 ;
總結如果向從事前端,走的 更遠,這幾個框架是必須要精通的。
回覆列表
主流前端框架非常多,主要有三大陣營。
AngularJS 自2009年誕生,至今已有十年曆史。
React 由Facebook推出的元件庫。
Vue.js 是由Google的開發工程師建立的框架。
學習曲線Angular 最陡峭。Vue最好學。
中文社群Angular 和 Vue 資料最多。
如果想不用深學,拿來就用的框架。也有!
國產的Layui、Ant。
現在的前端比後端學習起來還陡峭。
如果潛心學習,前端也是一個很好的方向。