VueJS與其他框架比較


現在我們來比較一下VueJS和React,Angular,Ember,Knockout和Polymer等其他框架的比較。

1. VueJS與React比較

虛擬DOM

虛擬DOM是DOM樹的虛擬表示。 使用虛擬DOM,建立一個與真實DOM相同的JavaScript物件。 每當需要對DOM進行更改時,都會建立一個新的JavaScript物件並進行更改。 之後,兩個JavaScript物件進行比較,最後的更改在真實的DOM中更新。

VueJS和React都使用虛擬DOM,這使得它更快。

模板與JSX

VueJS分別使用htmljscss。 初學者很容易理解和採用VueJS風格。基於模板的VueJS方法非常簡單。

React使用jsx方法。ReactJS的一切都是JavaScript。HTML和CSS都是JavaScript的一部分。

安裝工具

React使用create react app,VueJS使用vue-cli /CDN/npm。 兩者都非常容易使用,並且專案建立了所有的基本要求。 React需要構建Webpack,而VueJS則不需要。 我們可以從使用cdn庫的jsfiddlecodepen中的任何地方開始編碼VueJS。

受歡迎程度

React比VueJS更受歡迎。 React的工作機會不僅僅是VueJS。 React背後有一個很大的名字,也就是Facebook,使它更受歡迎。 因為React使用JavaScript的核心概念,所以它使用JavaScript的最佳實踐。一個和React一起工作的人對於所有的JavaScript概念都是非常好的。

VueJS是一個發展中的框架。 目前,與React相比,VueJS的就業機會較少。 據調查,許多人正在適應VueJS,這可以使其比React和Angular更受歡迎。 有一個很好的社群正在研究VueJS的不同功能。vue路由器由這個社群維護定期更新。

VueJS採用了Angular和React的優秀部分,並建立了強大的庫。 VueJS比React/Angular快得多,因為它的輕量級庫。

2. VueJS與Angular比較

相似之處

VueJS與Angular有很多相似之處。 v-ifv-for等指令與ngIfngFor的Angular幾乎相似。它們都有一個用於專案安裝的命令列介面用來構建它。 VueJS使用Vue-cli和Angular使用angular-cli。 兩者都提供雙向資料系結,伺服器端渲染等。

複雜程度

Vuejs很容易學習。 如前所述,初學者可以使用VueJS的CDN庫,並開始使用codepenjsfiddle

對於Angular來說,需要經過一系列的安裝步驟,而初學者也很難開始使用Angular。 它使用TypeScript進行編碼,這對於來自JavaScript核心背景的人來說很困難。 但是,對於有Java和C#背景的使用者來說更容易學習。

效能

決定效能的取決於使用者。 VueJS檔案的大小比Angular輕得多。 以下連結提供了框架效能的比較:http://stefankrause.net/js-frameworks-benchmark4/webdriver-ts/table.html

受歡迎程度

目前,Angular比VueJS更受歡迎。 很多組織都使用Angular,因此非常受歡迎。 在Angular中經驗豐富的求職者也更多地獲得工作機會。 但是,VueJS正在佔據市場的位置,可以被認為是Angular和React的一個很好的競爭對手。

依賴

Angular提供了很多內建功能。 我們必須匯入所需的模組並開始使用它,例如@angular/animations@angular/form

VueJS沒有Angular的所有內建功能,需要依靠第三方庫來處理。

靈活性

VueJS可以很容易地與任何其他大專案合併,沒有任何問題。 Angular不會那麼容易與任何其他現有專案合作。

向後相容性

我們都知道有AngularJSAngular2Angular4AngularJSAngular2有很大的不同。 在AngularJS中開發的專案應用程式由於核心的不同而不能轉換為Angular2

VueJS的最新版本是2.0,並具有向後相容性。 它提供了很好的文件,這很容易理解。

TypeScript

Angular使用TypeScript進行編碼。 使用者需要掌握Typescript的知識才能開始使用Angular。 但是,可以從jsfiddlecodepen中的任何位置開始使用VueJS編碼使用cdn庫。 我們可以使用標準的JavaScript,這很容易開始使用。

3. VueJS與Ember比較

相似之處

Ember提供了Ember命令列工具,即用於Ember專案的易於安裝和編譯的ember-cli。VueJS還有一個命令列工具vue-cli來啟動和構建專案。
它們都具有諸如路由器,模板和元件等特性,使得它們在UI框架中非常豐富。

效能

與Ember相比,VueJS有更好的表現。 Ember增加了一個微光渲染引擎,目的是提高重渲染效能,這與VueJS和React使用虛擬DOM類似。 但是,與Ember相比,VueJS有更好的表現。

4. VueJS與Knockout比較

Knockout提供了很好的瀏覽器支援。它支援IE的較低版本,而IE8及以下版本不支援VueJS。 Knockout的發展速度已經放緩。近來也沒有太多的人氣。

另一方面,VueJS開始越來越受歡迎,Vue團隊定期更新。

5. VueJS與Knockout比較

Polymer庫是由Google開發的。 它用於許多Google專案,例如Google I/O,Google Earth,Google Play Music等。它提供了與VueJS類似的資料系結和計算屬性。

Polymer自定義元素定義包括普通的JavaScript/CSS,元素屬性,生命週期回撥和JavaScript方法。 相比之下,VueJS允許輕鬆使用JavaScript/html和CSS。

Polymer使用Web元件功能,並且需要瀏覽器的polyfills,否則不支援這些功能。 VueJS沒有這樣的依賴關係,並且在IE9+的所有瀏覽器中工作正常。