做者:Patricia Neiljavascript
翻譯:瘋狂的技術宅前端
原文:towardsdatascience.com/react-vs-vu…vue
未經容許嚴禁轉載*java
Javascript 框架以及 HTML 和 CSS 已成爲每一個現代軟件項目前端開發的重要組成部分。 2020 年將會是爲你的 Web 項目選擇正確的 javascript 框架的又一個年頭。react
若是你正在閱讀本文,相信你對下一個程序的技術棧感到困惑。肯定它並不容易,本文旨在解決每一個開發者的這種困境。與選擇技術棧相關的一些常見問題是:web
在看完這些問題的答案後,你將能爲本身的項目選擇一種完美的 Javascript 技術。讓咱們根據各類參數對 React 與 Vue 進行比較,以揭示這些工具在 2020 年的現實狀況。編程
Javascript 推出新框架和庫的速度很是快。實際上,這是一件持續的事情,而且每隔幾個月,這些 javascript 技術就會在人氣排行榜中交換位置。前端工程化
讓咱們看一下 2019 年的最新統計數據,來了解 React 和 Vue 中哪一個是更受歡迎的。瀏覽器
#1: Google 趨勢:搜索折線圖描述了 Google 中 Vue 和 React 的搜索趨勢。與 Vue.js 相比,React 遙遙領先。服務器
2:Stack Overflow 調查:在最受歡迎的框架中,React 排名第一。可是 vue.js 也顯示了非凡的成功。自 2014 年推出以來,它已成爲開發人員在較短期內的熱門選擇。
讓咱們快速瞭解一下這些 JavaScript 技術的背景知識。
Vue.JS: Google 前工程師尤雨溪於 2014 年建立了這個框架。可是它沒有獲得著名的頂級組織的支持。 截至撰稿時的最新版本是 2.6.10,於 2019 年 3 月 20 日發佈。
它是 javascript 家族中最年輕的成員,僅僅推出五年。 阿里巴巴和 Gitlab 正從該框架中受益。 Vue 被認爲是一些成功的 javascript 技術功能的結合。
React:與 Vue 不一樣,這個 JavaScript 庫是由 Facebook 建立的。最初是爲了 Facebook 廣告流量管理建立的。那時 Facebook 遇到了維護和編碼方面的問題。
它以動態建立和交互式 UI 的能力而聞名。 最新版本是16.8.6,於 2019 年 5 月 6 日發佈。使用 React 編寫代碼的一些熱門公司是 BBC,Instagram,WhatsApp和清單實際上很長!
Web 程序的修改反映在其用戶界面和被稱爲 DOM 的事物中。能夠是 virtual DOM 或 real DOM。 DOM 的種類對任何編程技術的性能都有很大的影響。
React:它有一個輕量級的 virtual DOM,而且不是特定於瀏覽器的。這是 React 與 virtual DOM 一塊兒獲得普及的主要緣由,它消除了效率低下的問題。
Vue:Vue 也使用了虛擬 DOM,可是與 React 相比提供了更快的性能。它還確保了無錯誤的性能。
社區支持對每種軟件技術都相當重要。它激勵新用戶致力於特定技術。
React:爲了維持不斷增加的廣告活動流量,Facebook 開發了這個 Javascript 庫。 Facebook 員工緻力於爲
React 的功能添加新的和高級的功能。這爲 react 開發人員提供了強大的可靠性。
Vue:它是由 Google 前工程師開發的,但沒有任何頂級公司的支持,這會致使它缺少可靠性,以及在市場上的推廣。可是 Vue 意外的得到了開發人員的歡迎和支持,使它克服這一障礙。 Vue 本身建立了社區支持。
React 小比 Vue.js 略大。 React 大約爲 100 KB,Vue 的爲 80 KB。框架和庫的大小可能會對軟件開發項目產生重大影響。
React 須要某些其餘庫的支持,其中一是路由。它的小尺寸很是適合輕量級應用。 Vue 的會甚至更小,使其更適合輕量級應用。
在選擇正確的編程技術以前,對於開發者來講,研究使用不一樣技術棧的公司類型相當重要。長期以來,Javascript 已成爲軟件開發服務難以想象的一部分。
主要歸功於其各類框架和庫的功能。如下是 React 和 Vue 的主要用例:
React:
Vue:
學習曲線是衡量軟件開發人員應用特定語言、框架或庫的代碼的能力的指標。根據統計數據,在這兩種編程技術之間,Vue 對 Web 開發人員更友好。
在 Stateofjs 的調查研究中,對「用過,並將再次使用它」這一選項進行投票,更多的受訪者把選票投給了 React 。除此以外,受訪者還對其餘狀況提出了意見。
如下是受訪者的迴應:
經過下面的索引瞭解上述條形圖:
Vue 是 Web 開發人員必須嘗試的一個新的框架。它在「據說過,想學習」這樣選項的分數很高。這確保了在將來幾年中該技術的前途。
React:官方的 React 庫中沒有太多內容。在這裏你能夠靈活選擇所需的工具。有一些相似 angular 的框架,軟件包中提供了全部內容。
React 路由以及用於辦公管理任務的 Redux 和 MobX 是能夠與該技術集成的一些工具。經驗豐富的移動應用開發人員能夠受益於這種自由的開發方式,由於它容許他們建立動態應用程序。
Vue:與 react 不一樣,在 Vue 的官方網站上爲 vue.js 開發人員提供了一些內容。並且 Vue 服務端渲染技術也支持服務器端開發。僅舉幾例,用於狀態管理的 Vuex 和用於路由的 Vue Router 是能夠在自定義軟件開發服務中使用。
基於上述的統計和事實表述的分析,咱們能夠總結一下關於 React 與 Vue 的一些區別: