自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

JavaScript年度調查報告:React、Vue和 Angular三分天下,誰將在2018年獨占鰲頭?

開發(fā) 前端
要論 2017年最主流的三個 Web前端框架,應莫過于 Angular、Vue和 React了。然而在實際應用中,這三個框架卻不盡相同。面對各有千秋的開發(fā)框架,作為一名開發(fā)者該如何選擇?哪種框架更具有前景?

要論 2017年最主流的三個 Web前端框架,應莫過于 Angular、Vue和 React了。然而在實際應用中,這三個框架卻不盡相同,對于規(guī)模不大的前端項目來說,Vue因其極易上手會被列出***之位,Angular在快速開發(fā)大型 Web項目上很受推崇,但仍存諸多缺陷,React正為 JavaScript應用開發(fā)者提供新的開發(fā)方式。因此,面對各有千秋的開發(fā)框架,作為一名開發(fā)者該如何選擇?哪種框架更具有前景?

接下來,本文作者通過近日***發(fā)布的 JavaScript調查報告,分享其 15年的 Web開發(fā)經驗,深度剖析前端框架的流行趨勢及未來發(fā)展,希望給諸多前端開發(fā)者指明一些方向。

 

[[215133]]

以下為譯文:

其實在一年前,我的團隊在重新項目時,采用了 Vue.js而非 React,且當時的我還做了一番預測:

按照目前的發(fā)展速度,我預測 Vue將在 16-24個月內成為主要的 JS框架,至少對于后端開發(fā)人員和小團隊的前端人員來說是這樣。當然,在 2017年,如果 React依然按照目前的速度不斷提升自己的話,那么它將仍然會在 2017年占據(jù)前端框架的主導地位。

——2016年 12月 10日

如今,從最近的一份來自 stateofjs.com網(wǎng)站、且超過 23,000名開發(fā)者參與的關于 JavaScript的調查報告來看,事實的確如此。

Stateofjs 2017前端框架調查結果

與日常一樣,使用 JavaScript編程語言的核心區(qū)別是由前端框架引起的。從調查報告來看,相比 Angular和 Vue, React是 2017年的主要 JavaScript框架,尤其是 React Native以***的速度提升自己。同時因為 Angular的流行度下滑,Vue也受到越來越多的歡迎。

 

圖1:JavaScript 年度調查報告:React、Vue 和 Angular 三分天下,誰將在 2018 年獨占鰲頭?

相較于 Stateofjs發(fā)布的 2016年前端框架調查結果:

 

圖2:JavaScript 年度調查報告:React、Vue 和 Angular 三分天下,誰將在 2018 年獨占鰲頭?

基于以上,通過將 2017與 2016年的統(tǒng)計結果進行對比可以發(fā)現(xiàn),在過去一年里 Vue.js是大家最想學習的框架,因此我個人預測明年將是 Vue.js成功的一年,當然 React增長很穩(wěn)定,而 Angular將無法跟上這兩個對手的腳步。2016年時,Vue.js被稱為“另一個 JS框架”,當時它是一匹十足的黑馬,而 React占據(jù)主導地位,Angular則是開發(fā)者的第二選擇。

但是,Vue.js只會在 Web前端中占據(jù)主導地位,而不會統(tǒng)治所有的前端領域。React則可以在所有的前端領域中盛行。這是為什么呢?下面,我們將揭開謎底。

React統(tǒng)治前端領域的關鍵因素

答案就在 Stateofjs.com發(fā)布的 2017年移動和桌面應用前端框架的調查結果之中:

 

圖3:JavaScript 年度調查報告:React、Vue 和 Angular 三分天下,誰將在 2018 年獨占鰲頭?

Synergy是 React能夠統(tǒng)治所有前端領域的關鍵。

React Native

Vue.js未能提供替代 React Native的可行性方案(Weex和 Quasar太年輕,存在碎片化并且很脆弱),伴隨著 React Native和 React.js的爆發(fā)式增長,如果你掌握了 Web前端的 React和 Redux ,你將獲得極大優(yōu)勢:只要你想,便可在幾周內熟練地將 React Native應用到移動端。在這一點上,React充分展示了它相比 Cordova和其他 Hybrid技術的優(yōu)勢。

如今最火熱的前端需求在于移動端,而不再是 Web 。React Native非常成功,同時它也會帶動 React.js的發(fā)展。

我們團隊計劃在 2018年***季度發(fā)布自己 iOS和 Android App的一個大版本,將公司的網(wǎng)站從零開始改寫(研發(fā)代號 Q3,采用 Vue.js和 Yii2),而新的 App基于 React Native開發(fā)。

其實,我們在一兩年前就考慮使用 React Native來改寫我們的 App ,但當時我們團隊的 Swift開發(fā)者表示拒絕,如今看來這個決定是正確的,因為有時候我們需要等待技術成熟,這非常重要。如今我們結束了用 Swift開發(fā) iOS應用 ,用 Java開發(fā) Android程序的局面,避免了不同操作系統(tǒng) App使用不同開發(fā)語言的痛苦。

現(xiàn)在我們的 Swift開發(fā)人員正在使用 React Native編寫 JS代碼,并承認 React確實好用,他認為現(xiàn)在是轉到新的技術棧的好時機,因為在很多情況下 React Native的優(yōu)點都大于缺點。

我們使用 Vue.js編寫 Web的前端人員幾周就掌握了 React Native ,但是我認為這個轉變是值得的,如果我們 Web也使用 React.js,那么我們的技術棧將會變得更簡單。我并不后悔使用 Vue.js開發(fā) Web,具體原因在我以前的一篇文章中解釋過(http://pixeljets.com/blog/why-we-chose-vuejs-over-react/),實際上我對 Vue.js在 Web領域的預測已經成為現(xiàn)實,但我仍然期望在 2018年里中小型團隊繼續(xù)選擇用 React來進行 Web和移動端的開發(fā),因為 synergy的存在我相信這樣的選擇是明智的。

使用 Java和 Swift / Objective C分別開發(fā)不同平臺的 App雖然沒錯,但是從商業(yè)的角度來看,它的代價是很高的,此外,與 React Native Codepush相比,想要通過 App Store的審核也不是那么容易的。

GraphQL

GraphQL是 Facebook的另一個重量級產品,它讓 React生態(tài)系統(tǒng)如虎添翼。

雖然它當前還不成熟,比較復雜并且有缺點,但是看起來 GraphQL在未來將有很大可能替代 REST。

GraphQL標志著前端領域大多數(shù)的創(chuàng)新都發(fā)生在 React圈,然后這些創(chuàng)新再在其他框架中被采用和改進。

Angular的未來預測

Stackoverflow展示了一個有關前端開發(fā)人員問題的有趣圖表:

 

圖4:JavaScript 年度調查報告:React、Vue 和 Angular 三分天下,誰將在 2018 年獨占鰲頭?

Angular在這張圖中看起來很好,但我不并認為這預示著 Angular作為一個框架能夠取得長期成功。在我看來,對于那些維護傳統(tǒng)的 Angular 1代碼的開發(fā)者來說,從 Angular 1遷移到 Angular2 +是一個明智的選擇,但是當他試圖遷移并且看到 Angular的新老版本之間的巨大區(qū)別時,這會產生挫敗感,并且這個事實也解釋了 Stackoverflow上有大量問題的原因。

Vue.js的缺陷

Vue.js目前即便還無法支持移動應用,但在 2017年的其中一段時間,它通過獲得開發(fā)者的支持而贏得了與 React的競爭。

WordPress正在考慮用 React來構建其前端布局,并且很可能將 Vue.js加入 WordPress生態(tài)系統(tǒng),就像 Laravel一樣。不過 Facebook很快就調整了 React許可證,并將這個想法扼殺了。

寫在***

通過三大框架的對比,我們更傾向于 React,在此也推薦其他的團隊根據(jù)自身的情況選擇 Vue.js或 React。基于此,開發(fā)者也在 Hacker News (https://news.ycombinator.com/item?id=15999688)上發(fā)表了自己的看法:

@antoriv:

在這次的調查報告中,我最感興趣的是百分比,即(以前使用過、將再次使用)/(以前使用過、再次使用+之前使用過、不再使用)。

2016年:

  • React – 91%的滿意度
  • Vue – 91%的滿意度
  • Angular 2 – 65%的滿意度
  • No framework – 65%的滿意度
  • Ember – 50%的滿意度
  • Angular – 40%的滿意度
  • Backbone – 31%的滿意度

2017年:

  • React – 93%的滿意度
  • Vue – 91%的滿意度
  • Angular 2 – 66%的滿意度
  • No framework – 65%的滿意度
  • Aurelia – 56% 的滿意度
  • Polymer – 53% 的滿意度
  • Ember – 41% 的滿意度
  • Angular – 33% 的滿意度
  • Backbone – 23% 的滿意度

其中,特別有趣的是,許多框架的滿意度比“沒有框架”的高。當然這主要歸因于很多沒有使用框架的開發(fā)者。我就曾遇到過一些認為前端框架是無稽之談的開發(fā)者(通常是后端開發(fā)人員),他們更喜歡只寫一堆 jQuery。另外,如果您在 WordPress網(wǎng)站上工作,那么框架往往是沒有必要的。

個人而言,我已經習慣在這些框架(Backbone,Angular 1,Ember和 React)中編寫代碼,我更喜歡React。

@philliphaydon:

對于 Angular 2,我想我永遠不會再使用。因為它帶來的問題遠遠多于解決的問題。它需要豐富的知識經驗來構建大型應用程序,否則總是會遇到性能問題。

責任編輯:未麗燕 來源: 程序師
相關推薦

2018-02-04 22:05:16

JavaScript 調查報告React

2022-05-17 10:04:59

Angular開發(fā)者調查開發(fā)平臺

2018-01-04 09:02:17

React Web 前端

2010-08-02 10:30:30

2019-06-24 08:52:22

Java開發(fā)代碼

2020-05-15 11:02:34

數(shù)據(jù)泄露安全互聯(lián)網(wǎng)

2018-12-04 17:22:16

OpenStack

2012-08-15 10:30:50

調查報告

2017-03-24 10:02:35

StackOverfl開發(fā)者調查

2015-01-27 10:46:19

2015-12-21 11:51:43

JavaScript開發(fā)者調查

2018-02-25 09:36:59

云計算AWS公共云

2018-04-28 08:48:39

Web 服務器微軟

2013-08-06 10:15:57

iOS開發(fā)者薪資iOS開發(fā)

2023-03-16 11:35:48

報告

2014-01-15 15:02:25

2022-04-15 16:02:57

IT調查報告

2015-11-06 11:14:35

2015容器生態(tài)系統(tǒng)調查報告

2023-08-09 09:07:21

Rust調查報告

2010-11-10 11:25:04

點贊
收藏

51CTO技術棧公眾號