掃二維碼與項目經理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯網交流
作為開發(fā)人員,您一定聽說過知名的UI庫—React、成熟的前端框架—Angular、以及最新的漸進式框架--Vue。顯然,它們都有各種獨特的優(yōu)勢和性能指標。本文將和您討論這三種架構在不同方面的優(yōu)缺點,以方便您在實際應用中做出選擇。

作為首要考慮的因素,我們通常在選擇開源框架或軟件庫之前,徹底檢查它們的許可證。目前,React、Angular和Vue都使用著MIT許可證,因此它們?yōu)橛脩籼峁┝擞邢薜氖褂贸潭取D枰谑褂弥?,認真了解每種許可證的具體含義。
隸屬于MEAN棧的Angular框架,是各個初創(chuàng)企業(yè)熱門采用的技術棧。它基于TypeScript的Web應用開發(fā)完整框架,主要用于構建單頁面的Web應用(SPA)。
與原始框架AngularJS不同的是,由于基于組件,因此Angular 2與各種MV*模式并無緊密關聯。Angular的結構主要包括了模塊(Modules)、組件(Components)和服務(Services)。
在Angular框架中,每個組件都有一個獨立的類或模板,可用于定義應用邏輯與元數據(Decorators)。此類元數據可以提供,有關創(chuàng)建和顯示其視圖所需塊位置的指引。
Angular體系架構中的另一個重要因素是,由HTML編寫的各種模板。它們可以包括帶有特殊指令的Angular模板語法,用以輸出反應性數據,并能提交多個元素。
服務作為Angular應用中的一個獨特元素,可以被組件用來委派諸如:獲取數據或驗證輸入等業(yè)務邏輯任務。雖未明確要求,但是Angular建議用戶將應用構造為一組可被重復使用的完全不同的服務。
作為一種開源的前端庫,React主要被用于開發(fā)用戶界面。由于這種靈活的前端方案,并未對特定的項目結構有強制要求,因此React開發(fā)人員只需幾行代碼,即可開始使用。
雖然基于JavaScript,但在大多數情況下,React可與JSX(JavaScript XML)結合在一起。后者是一種語法擴展,它允許開發(fā)人員同時創(chuàng)建包含HTML和JavaScript的元素。實際上,那些由JSX所創(chuàng)建的任何內容,都可以被開發(fā)人員使用React JavaScript API來創(chuàng)建。相比DOM,React不但有著更強大的元素,并且它們是React應用的最小構建塊。而React組件則是決定了是否要在整個Web應用中,獨立且可重用使用的構建塊。
作為一個開源的Model-View-View-Model前端JS庫,Vue可被用于開發(fā)用戶界面和SPA。由于屬于漸進式框架,因此它能夠與其他工具一起用在前端開發(fā)中。Vue憑借著其多功能性、高性能、以及在Web應用上的用戶體驗,而廣受歡迎。
在使用Vue的過程中,開發(fā)人員通常會工作在View Model層上,以確保目標框架通過呈現最新的視圖,來處理應用數據。Vue的模板語法能夠將可識別的HTML,與各種特殊指令功能相結合。開發(fā)人員可以使用該語法來創(chuàng)建視圖組件。
Vue中的組件不但可重用,而且體積小且獨立。例如,由于擴展名為.vue的單文件組件(Single File Components,SFC)支持HTML、JavaScript和CSS,因此它可以將所有相關代碼都集中到一個文件中。
在大型Vue.js項目中,為了使用SFC來組織代碼,我們可以借用Webpack或Browserify之類的工具,將SFC轉換為有效的JavaScript代碼。
Angular比較適合大型和高級項目。其主要功能包括:
來自MERN棧家族的React,是一種以構建復雜的業(yè)務應用聞名的技術棧。作為一款強大的工具,React可與Redux、MobX或其他流量模式庫一起使用。React比較適合如下項目:
由于Vue的學習曲線平緩且容易上手,因此它比較適合解決短期問題。通過與現有代碼塊的輕松集成,Vue能夠被用于如下場景中:
Angular在性能上具有如下優(yōu)點:
在性能方面,React可與Vue媲美,畢竟兩者都有相同的架構,都能與DOM交互。React在Web開發(fā)方面的性能特性如下:
Vue的性能主要體現在如下方面:
使用Angular構建的流行應用程序包括:Tesla、AirBnB、CNN、Nike、Udemy、Linked-in。
使用React構建的流行應用包括:Tesla、AirBnB、CNN、Nike、Udemy、Linked-in。
用Vue構建的流行應用包括:Gitlab、Spendesk、Behance、9Gag、Wizzair、Nintendo。
在學習曲線方面,React可供用戶快速學習和實踐,Vue和Angular則次之。
總而言之,從前端開發(fā)的角度來看,學習和使用React是首選。輕量級的Vue和React則更直觀,且性能更優(yōu)。

我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯網交流