Vue、React和Angular 2.x,誰是2016年的主流?
vue、react不用多說已經成了目前比較熱門的討論話題了,angular 2.x目前已發出測試版,2016年前端的世界這三個框架中哪個會笑到最後呢?
誰笑到最後不太好評判,但我前幾天回答說,2016年Vue會大放異彩,也就是說,在2016年這一年的時間線里,有些事情是可以作個預測的,我來解釋一下這麼認為的理由。
1. 在2016年,不管是React,Vue,Angular(無論是2還是1),都會處於上升期,注意,甚至Angular 1.x,也還是會上升。
以上判斷是基於什麼作出的呢,是認為整個Web領域仍然在嚮應用化傾斜。新增前端需求中,應用型的類型比重高於以往,同時,部分傳統行業產品的互聯網化、適應多種大小的屏幕等需求釋放,會導致不少團隊脫離ExtJS這類框架,向以上這些東西靠攏,所以,即使是現在大家已經不太看好的Angular 1.x,仍然會保持上升。
2. 從上升速度來看,在2016年,Vue應當處於第一位,其次是React。
為什麼作出這個判斷呢:
第一:由於Vue的基數小於React用戶,畢竟後者已經先火了一年,基數小的,增長率比較容易高。
第二:Vue的用戶來源比較特別。
有一部分人,會從Angular轉到Vue這條線,因為這些人可能被Angular 1.x的一些缺點嚇到,想要轉換路線,到底是轉Vue還是轉React呢?習慣了Angular思維模式的人,第一反應肯定是轉Vue,而不喜歡Angular思維模式的,基本都會往React走。這兩種人可以認為均等。
另外一部分人,從傳統前端轉入這個領域,對他們來說,侵入較少的東西更容易接受,所以在這個點上,Vue比其他兩者是有優勢的。
還有一部分人,從後端或者一些非前端領域轉入,他們接受Vue和React的可能性差不多,因為各自能找到比較像的東西。
第三:Vue比較輕量,所以適用場景更廣。
除了比較重型的應用,很輕量的頁面也可以用Vue。React強制組件化的寫法,但有不少比較輕量的頁面,甚至一些控制台,都不太適合組件化。Angular 1.x和Vue都是可以選用組件化,也可以不組件化,僅以模板形式與數據結合。
今天我面試了一個人,這個人技能不錯,他學過很多東西,也思考過很多東西,最近一段時間用React編寫了一個雲控制台,對組件樹的層次感到很苦惱。
個人認為,在這種場景下,React是不如Vue和Angular有優勢的。因為模型層很扁平,業務場景偏重表格和表單,很少存在前端的模型間的關聯,這種大部分代碼只不過是Todo那個Demo的堆砌而已,並不需要很組件化,更不需要在組件通信層做太多設計。
在2016年,不能使用ES2015/ES2016進行開發的前端技術棧,會是最先停止增長並且走下坡路的!
這三者,都可以使用它們,其中Angular 1.x稍微彆扭一些,但也能很好地開發、運行。
為什麼Angular系列的增幅不如另外兩者呢,一方面自身確實因為設計缺陷錯過了一些機會,另一方面,宣傳沒跟上,被React的氣勢超越了。
毛主席教導我們:宣傳陣地你不佔領,敵人就要佔領。所以,你們懂的。
3. 從2016年底所能達到的用戶量來說,三個系列(其中Angular包括1和2),應當在同一數量級。
這三者中,Vue和React的用戶會是凈流入,Angular會同時是流入和流出方,但流入還是高於流出的,到2017就不太好講了。
從生命周期的角度看,這幾個東西很可能同一時間被未來某個東西幹掉,但是到底幾年後,不知道,所以,誰笑到最後呢?我猜,是大家相愛相殺,笑著手挽手走進歷史的車輪下。先聲明,作為 Vue 的作者我有利益相關,但我盡量從客觀角度說說我的看法。
主流並不一定只有一個贏家
首先,我覺得框架間的競爭並不是零和遊戲。雖然解決的核心痛點有重合,但適用場景還是有區別。比如 React/Vue 這樣以 view layer 為核心,可以靈活選擇整體架構和工具鏈的框架,和 Angular 2 這樣大而全一站到底的框架,各有各適合的場景。Vue 因為不需要構建也能直接用,也能用在一些比 React 更輕量的場景中。撇開場景,也有開發風格的偏好問題。有些人用 React 更有效率,有些人用 Vue 更有效率,而 C#/Java 生態圈一大群人會覺得 TypeScript 和 Angular 2 讓他們更有效率。最理想的情況是大家都找到最符合自己場景需求和開發偏好的框架,所以我覺得多框架的並存是合理且有意義的,不太可能出現 Angular 2 火了就沒人再用 React/Vue 的情況。
技術角度
React 和 Angular 2 都有服務端渲染和原生渲染的功能(Angular 2 只是號稱會有,具體啥時候會有,好不好用還不知道)。這兩個東西在對此有需求的場景下,是很有吸引力的,但實際上對此有硬需求的場景佔多少百分比則是個問題。比如服務端渲染的前提是前端渲染層得用 Node.js 交給『全棧』去做,原生渲染的多端代碼復用率會因應用實際需求而變化,制約它們發揮的條件還是不少的,因此我個人樂觀地認為這並不會影響 Vue 在整個市場中佔有一席之地。另一方面,手淘已經押寶 Weex,也不排除哪天我會搞個 Vue 服務端渲染。
性能方面,這裡不深入談了,這幾個主流框架都應該可以輕鬆應付大部分常見場景的性能需求,區別在於可優化性和優化對於開發體驗的影響。這一點上我覺得 Vue 可能是最簡單的,加好 track-by 就 ok 了。React 需要 shouldComponentUpdate 或者全面 Immutable,Angular 2 需要手動指定 change detection strategy,都有一定程度的侵入性。但是從整體趨勢上來說,瀏覽器和手機還會越變越快,框架本身的渲染性能在整個前端性能優化體系中,會漸漸淡化,更多的優化點還是在構建方式、緩存、圖片載入、網路鏈路、HTTP/2 等方面。順道說一句,Angular 2 壓縮後的大小是 500 多 kb,在移動場景反正我是不敢用。
開發體驗
這方面,我個人認為 Vue 是最容易上手,最具親和度的。工具鏈方面最近剛發布了 vue-cli,1 分鐘搞定 webpack 配置。Vue 組件格式只要你會 HTML/CSS/JS 就能寫,你要用 coffeescript 或者 less/sass 也沒問題。React 的 JSX 是道坎,但跨過去之後會有一定的生產力提升。社區工具豐富,但實在太多,配置工具麻煩。CSS in JS 也不是每個人的菜。Angular 2 目前上手配置也非常麻煩,官方正在寫一個 cli,但體驗如何要出來了才知道。它推薦的默認語言是 TypeScript,這個對於靜態類型愛好者來說是個大優點,配合 WebStorm/VSCode 體驗會很不錯,但也不是所有人的菜。
社區生態- React 是目前最成熟也最活躍的,但有一個問題就是過於頻繁的方案迭代,幾個月前的最佳實踐可能明天就變過去式了,而 FB 官方對於最佳實踐基本是採取讓社區自行發展的態度,因此社區長期處於一個百家爭鳴的狀態,直到今年下半年才慢慢地開始合流到了 React + react-router + redux 的主流方案,並且這兩天也開始討論工具鏈的最佳實踐。這些東西一旦穩定下來,會進一步鞏固 React 的地位。
- Vue 的社區固然比不上 React,但也不算太小。Gitter 聊天室里有 1300 來號人,國內聽說也有幾百人的 QQ 群,論壇上也還算有些活躍度。社區組件也在穩步發展:vuejs/awesome-vue · GitHub 當然比起 React 來說還是小巫見大巫,希望 2016 能更進一步。比起 React 來說,Vue 的一個好處就是提供了官方推薦的 Vue + vue-router + vuex + webpack + vue-loader 的全套方案,如果你不想三個月換一套,就跟著官方推薦走;如果自己有想法,那就自己整也沒問題。
- Angular 2 的社區,目前來說基本沒有,到現在連文檔都沒寫完呢,也沒法有什麼生態。更傷的是 ng2 和 ng1 的生態是完全割裂的。2016 年能怎麼發展,要看 Google 的社區運營做得如何,但不管怎麼說 Google 的影響力在那邊,群眾基數還是很大的...
用戶來源
這一塊 @徐飛 老師分析得很具體了。當然了,在中國還有另一個制約條件,那就是 IE8,這三個框架裡面只有 React 支持 IE8,所以這應該會對 React 在中國的份額有所幫助... 另外徐飛叔預測 2016 年底 Vue 能和另外兩個在同一數量級,我覺得還是太樂觀了,我個人覺得不太可能 =_=
說在最後
看到有人說這個題是在拍馬屁。React/Angular 的作者們都不上知乎,那隻能認為是在針對我了,但我是理解不了問問題的人拍我馬屁有什麼好處... 我知道 Vue 最近在國內被提起的比較多,難免會有人覺得是不是吹太過了,對於有這樣的想法的同學我有如下建議:
1. 如果你沒用過 Vue,去用一用,自然會有你自己的判斷;2. 如果你用過 Vue,覺得確實吹過頭了,歡迎寫文章有理有節地來批評。有批評我才能改進 Vue,我會非常感謝你。3. 如果你用過之後覺得確實不錯,歡迎你加入社區貢獻一份力量,一起推動項目的發展。========更新答案=======
如何工程化開發大型angular2項目(上篇續)(分享自知乎網)https://zhuanlan.zhihu.com/p/24545021如何工程化開發大型angular2項目(上篇)(分享自知乎網)http://zhuanlan.zhihu.com/p/23808621=====≠================淺談一下從3月份到現在用angular2的體驗。alpha版到rc.7,之間變動之大。router系統重構好幾版,component組件編寫語法也是變了好幾次。上頭追新,作死應用到生產環境,應用越做越大,打包出來JS都快2、3M。導致客戶普遍抱怨首屏載入慢。還好後來在Nginx伺服器上做了優化,還有angular提供了預編譯技術,先渲染HTML。速度提升60%。這裡也不是抱怨angular小組技術變動大,畢竟還是研發階段。我想提一點是,追求新技術是值得鼓勵的,但是不要把還在研發的技術應用在主線產品中,而是用在一些內部系統中。不然真是血的教訓。當然要說說,angular這次變革式創新出了2代。優勢有
1.學習成本降低,因為有中文版文檔www. angular.cn,在也不用聽新同學抱怨英文看不懂。基本看幾天就能上手。會angular2,看vue基本無壓力,反過來也行得通。2.技術實現成本降低,用angular1實現組件共用,用2輕鬆實現。現在項目里已經有很多通用組件了。3.react,vue的redux,angular2也有,ngrx技術。4.對於選擇恐懼症的盆友,angular2真是一站式服務。5.聽說react可以開發native app,不好意思angular2和nativescript也可以開發原生app。 忘了說一句,angular2還可以開發react native。(自行上GitHub搜索angular2 react native).6.最六的是支持Rx.JS。7.人生苦短,快用angular2吧。PS:哪有蘿蔔坑,準備挪坑,私聊如果vue支持到ie6…如果avalon的api和體積再簡單點…如果knockoutjs的網站再美一點…
我選擇狗帶,我選擇自己寫一個…
我覺得yyx給我的回複比較好地給我下面的擔憂做出了回應,這裡就不多討論了。畢竟不是為了黑而黑。
==========分割==========大家好我是來給Vue降溫的。我主要說三點Vue不利的地方:
1、Vue的資源匱乏。Vue 0.11那個時期,資源非常匱乏,以至於你Google一些問題,搜出來的頁面都是日文的。大家今天所看到的Vue router其實是今年最近才有的,很多vue資源也都是最近才出來,因為沒用過,穩定性我不知道,希望高覆蓋的測試能夠進行一定的背書。時至今日,vue在界面上的積累還是很少的,與此相比,React已經有了螞蟻金服和老外的若干界面庫了。積累一套界面庫我相信大家應該知道其重要性,因為小團隊一開始是啥都沒有的,沒有界面庫就很難把精力集中在業務上。做控制台的團隊也注意了,如果你沒有設計師資源(好多沒有設計師資源吧),那這個地方就呵呵呵了。
2、Vue沒有你想像的那樣穩定。Vue在今年一年之內有突飛猛進的進展,我非常欣喜國內終於有框架也能站在舞台上說話了,但不代表就要因此溺愛。yyx在這一年對框架進行了大量而密集的改造工作,從0.11啥都沒有,到了1.x能和React放在一起說話,這裡面無論是開發棧還是API,都經歷了大量的變化。原來*.vue的模塊還是個玩具,現在已經成了推薦開發模式。甚至原來沒有router到現在已經有了,這個也是不小的變化,如果你的項目和router打交道,那這樣的變化其實就是一個很大的API變更。另外我就不說v-**系列屬性的各種變化了。未來不知道React的開發棧還能有什麼樣的變化,但可以肯定的是,如果變化是利於開發的,我不信Vue不跟。你想不想三個月換一次,不取決於你自己,實際上還說取決於React。什麼叫水漲船高你懂的。
3、就像上面兩點我說的,yyx在這裡做了大量的工作。遺憾的是,這裡絕大部分工作都是他做的,也就意味著一旦他忙別的去了,Vue的發展就有了嚴重的問題。這個項目說來說去,卻少其他的骨幹來支撐。我們來對比一下:
sass 和 less 最近都已經常用到大家懶得提了? backbone 的思想被各大框架吸收後也不再是主流了? 響應式設計大家也都習以為常了? 今天說得起勁的 vue,angular 和 react,我想在 2016 年應該都會是主流吧?一切融合了現代思想、提高了生產力的新一代前端框架,都會繼續高歌的。我相信它們還能主流 5 年,不相信 bower, jquery, requireJS 和 YUI3 還能主流過兩年。踩它們的一直不會停,固步自封的偽前輩也不會少。話放在這兒,兩年後咱看看。
自己的一點想法,供參考。先說幾個我的觀點:
- 脫離業務和團隊,單說技術純屬耍流氓
- 小而美的技術不代表門檻低,而應該是進的門檻高,出的門檻低。這樣說是因為小而美的技術需要很多其他小而美的技術才能組成一個完整的開發技術棧,而這需要較為專業的能力,並且通常有木桶效應,即整體水準是由最差的一個環節決定。不過優勢在於隨時可以替換掉某個環節,所以說出的門檻低
- 大而全的技術不代表門檻高,而應該是進的門檻低,出的門檻高。這樣說是因為這類技術通常已經有一個完整的開發技術棧,直接用來業務開發即可。但想換一個就不那麼輕鬆了,接盤俠表示壓力很大
技術的複雜性也分兩個維度:概念和實現。Vue、React、Angular 三者來說的話:
- 概念上:Vue ≈ React &<&< Angular
- 實現上:Vue &<&< React &< Angular。React 的實現確實有些過度
三者有相通之處,例如組件化,這是大勢所趨。三者也有一些差別,我對 React 和 Angular 接觸較多,先說這兩個:
- Angular 適用於 Web 前端資源偏緊的團隊和富交互、對性能 / SEO 要求不高的業務。一般剛剛起步而且沒有專業前端的團隊我會建議他們用 Angular。Java 系程序員對 Angular 的很多概念都很容易理解呢
- React 適用於有一定規模的業務和團隊,因為這通常意味著復用的需求較為強烈
- Vue 更加輕量一些,我判斷比較適用於對有一定自研能力的團隊,能夠基於 Vue 做一些新輪子出來滿足業務線
基於以上的分析,說下我對發展趨勢的判斷:
- 隨著前端工程師數量的增加和專業能力的進步,用 Vue 這類小而美方案的團隊會增加
- 隨著 React Native 這類 JS2Native 技術的發展,React 會加速發展,比 15 年更快
- Angular 這類重型方案也會有一定增長,畢竟整個大盤在漲
總體上是 React &> Vue &> Angular
2017年初補充回答
文章最後面說的那個小而美的框架出來了,vue2,手機開發我是很推崇這個的,編譯出來的包比正常手動優化的還好還小。
react也填坑填得差不多了,但更傾向於團隊開發。
angular2+是我最喜歡的,但是還不很完善。
後兩個編譯速度都很慢。即便用了webpack熱載入模塊也是感覺很慢。
所以2017,react和angular應該是要挖出大坑了,reason和dart。
個人傾向於後者,ddc發布出來的話,我應該是會花去重新好好學習複習dart
=====簡單的說,這個走勢的決定者,主要是來自瀏覽器廠商。
一句話:等io2016吧。因為走勢這個東西,其實更多是國外在帶動。然後國內把這些被帶動出來的新技術更多用在mobile上。
所以我最近重新抓緊關注polymer。polymer的思想和API的設計是「碾壓」現在各個框架的,有興趣的話可以去看一下。
可是在我上手邊學邊開發一個實驗性項目的時候,它並不能做到所謂的和現有框架完美搭配。具體為什麼我不在這裡說,會離題。
所以我要說的是,如果io2016上,polymer有了進一步的發展方向(不大可能,看github的commit還有版本號是變更就知道),那麼這將會是一個引領開發者的趨勢。
如果沒有,那麼就要看誰先把polymer的組件是想抄過來用,誰就有了大後期carry的能力。本來angular2.0是想走這條路的,無奈這些人只盯著一個方向走,給我的感覺就像是在黑暗中直走(帶來了太多的實驗性代碼寫法,簡直就是人肉破冰,看了就不想學),心理想著GM(Google mother)快帶我飛。
react這東西一開始就是要和瀏覽器廠商分離,不受他們影響,所以學react是等於進入了另外一個領域,不論標準方向怎麼發展他都有一席之地,不過說真的,也正因為如此,這鬼東西的深入學習代價太大,如果團隊裡面沒大牛,建議別踩這傳送陣(已經不是坑了)。
vue,小東西,算是中規中矩地在現有的瀏覽器標準上經過這個mv*時代的衝擊所留下來的產物精華。學他就像學jq一樣,反正不虧。
其實像vue這種小東西很多公司都有類似的產品。vue小而美,開發者把他推廣出來了,大家用了,以為世界上就只有一個vue。錯,在vue之前也就是mv*混戰的那個時代,有大量類似的產品,但其實都只是在公司內部使用,並不是每個人都有那想法去把這東西推廣開來。
所以你要說vue是2016的carry點,我不大相信。我只相信一個看到webcomponent發展方向的小而美的框架在2016出現,並在2017完美carry。16年已過,到是沒發現一家獨大的情況,如果非要說市場佔有率,react目前暫時領先
之前的回答有點跑題了,我覺得Angluar2 有可能不太會再次流行起來了,即便他擁抱了typescrit。
而Vue + React 從幾個方面來看:上手程度:
Vue 由於簡單入門門檻比較低,上手也非常快,對比React 的一些概念和方式可能更容易讓初學者接受。之前的團隊的同學在上手React 的時候普通遇到了一些問題,而Vue 則沒有這個感覺。社區發展:
Vue 的component 少的確是,資源不多,就算僅存的資源中,質量也不高。VueStrap 中有一些模塊是有bug 的,直接import 還會報錯。React 的社區不論是國內還是國外都比Vue 目前要活躍一些,組件也更多,也因為這樣導致質量也更高。但是能看到的一個趨勢是,越來越多的Vue 實現在冒出來,而且國外PHP 的Laravel 社區很喜歡這個框架開發效率:
我個人認為Vue 的開發效率是優於 React 的,因為 @尤雨溪 之前提到他的設計理念,就是實用和簡單,沒有過度設計,只是把複雜問題簡單化,而不是簡單問題複雜化。所以我在很多個人項目中毫不猶豫的使用 Vue,很希望vue 的生態能越來越好,儘管沒有公司的直接支持,如果還能產出更多高質量的組件,會更加減少大家開發應用的時間從而提高開發者的效率,也就是生產力。最後:現在這是一個百花齊放的年代,每一種框架都能找到自己的定位。開發者選擇變多了,也會找到最適合自己的框架,而 Vue 給所有開發者一個不錯的選擇。我個人還是十分喜歡Vue + Vue-router + Vuex 這一套,雖然可以直接用的組件不多,但是覺得自己實現這些組件實在也是不難。。。就算是其他平台遷移過來應該也很容易。而用Vue實現出來的東西,代碼簡單清晰。加上Vue 2.0的發布指日可待,2.0 修改掉了很多我覺得我本來就開發體驗不太的地方,比如父子component 雙向sync通信,還有增加了server render 和 virtural DOM。對 Vue1.0 的絕大多數的api 也都是兼容的。而且還提高了開發效率 和 開發體驗。而且我聽說現在收到的沒畢業的學生簡歷中,幾乎都寫著在學習VUE和對VUE 的實踐。這個也可以說明一個趨勢?而且作者不停的吸收其他框架的優點來持續改進的態度,也讓我對VUE 保持很高的期待我覺得你這樣釣魚想看我們單純老實的技術宅撕逼是不人道的。你有這時間去多釣點妹子爆爆圖還能對社會多做點貢獻。
我認為應該是php。很高興 Vue 能有個不錯的發展,但大家如此赤裸裸的誇讚 Vue 好嗎?而且我個人不太認同現階段就拿 Angular/React 和 Vue 作比較,他們不是一個級別的(不要急著否定)。舉 NBA 的例子:Vue 如同姚明,Angular/React 是聯盟的奧尼爾和霍華德(只是簡單比喻,不要對號入座),作為中國人自然會對姚明產生額外的好感,但並不代表姚明和奧尼爾或者霍華德是一個等級的,即使姚明曾經多次打爆霍華德,但是並不代表姚明就比霍華德厲害了。大家希望在全明星賽上看到中國人的影子,給力的把姚明投進了全明星首發,而且是票王,奧尼爾都要給姚明當替補,但是姚明和奧尼爾的距離還是很遠的。
過去的一年是 Vue 的新秀賽季,表現良好,可以堪稱中國人在開源社區的巔峰,這一直都是大家的夢想,希望在國際上被大家認可。Vue 的出現給了大家期待,無論從哪個角度出發,我都是希望 Vue 能夠真正的成長為巨星,甚至被銘記史冊,但是從過去一年的發展來看,巨星之路還是有很長一段路要走,Vue 表現出色大家一股腦熱捧也屬正常,但是 Vue 的發展出現瓶頸之時,這些在熱捧的人是否還會一如既往的支持呢甚至身處援手呢?我認為這時候才是考驗 Vue 的真正時刻,現在來看,大有機會評選為最佳新秀,但是未來一切都是未知數。
在 Vue 1.0 之前,我更多關注 Riotjs 這個微型 UI 庫,因為個人更喜歡類 Polymer 的這種 Web Components 思想的框架。早期 Vue 我感覺他很像仿 Angular 的 RactiveJS,在 Vue 1.0 之前並不太看好這個框架,當然這種喜好也是很主觀臆斷的。
在知乎社區已經把 Vue 吹上天了,而幾乎不見 riotjs 和 ractivejs 這幾個也很優秀的 UI 庫的評價。這也是國內互聯網環境決定的。
只從我緊密關注的 Riot 和 Vue 來做個比較,我曾經大量搜索 Riot 代碼,Vue 的官方 repo 代碼質量不錯,但第三方代碼質量比較小白,當初在學 Riot 時,在 Github Code 上搜到了不少質量不錯的值得學習的非官方 repo,而 vue 我只能通過看官方的 repo 了,甚至在一些複雜的組件樹時,我只能憑經驗和感覺自己來寫代碼了,甚至得自己追溯到底層代碼,然後猜測怎麼實現更好。
在我學 React 時,有大量優秀的第三方資源借鑒,學習成長是飛速的,甚至自己都感覺震撼,Vue 目前只在自身的代碼上給我有震撼的感覺,社區建設實在是太缺乏了,雖然我們都保持樂觀的看好有更多的人投入社區建設,但是有心無力,我不認為 Vue 靠著幾個人就能大放異彩。如果 Vue 持續是一個人在發光發熱,沒有後繼給力的第三方資源做後端,早晚要完蛋。
比如我曾經發現有國人占著茅坑不拉屎,大量空 packgage 掛在 npm 上很久了 vue-components · GitHub,出來丟人現眼。
話說回來
近幾個月的緊密關注(跟炒股一樣),Vue 的認真對細節的注重,佩服的五體投地,尤其代碼寫的對我來說太棒了,如此優秀的代碼,學習來百無一害,即使安利也要跟大家說說。
vue 非常適合我們團隊,尤其我們做的是輕量型應用,我們的業務幾乎不必考慮 IE 9 以下瀏覽器,未來一年我會讓 vue 在團隊內部普及開來。在一些項目細節上還有做一些輕量級應用上有獨到的優勢。
再來回答題主的問題
個人角度
Vue 主打客戶業務和輕量型產品,React 跟進學習和重量級產品應用,Angular 2 保持關注。
國際上
未來的一兩年還將是 Google 代表的 Angular 和 Facebook 代表的 React 兩強對話,針鋒相對。他們就相當於含著金鑰匙出身的巨星,未來的一年依舊是他們在主導前端的發展。
國內
Vue 作為冉冉之星,在國際上慢慢被大家認可,有成為明星的潛質,巨星的話還有很長的路要走。在國內的發展形勢大好,尤其賦予著中國人特殊的使命。
最後,其實我挺煩大家概念派的講一大堆理論,不多廢話,最快三個月,最慢也不會超過半年,我定將貢獻給力的資源庫給 Vue 社區。那種類 Demo 代碼不好意思拿出來分享,為此過去很長時間大量的學習和閱讀了諸多項目代碼,構思了很久,正在寫一款自認為非常不錯的 PHP + Vue 的 WebAPP(啥東西先不說了,肯定開源,歡迎拍磚),時間局限,估計在16年6月份前發布第一版本(哈哈,歷史見證)。
一晃,就過去半年了, webapp 諸多原因不能還不能開源。共享個 kit 吧,詳見:前後端技術分離 - 雨戟的文章 - 知乎專欄適合自己(團隊)的技術棧才是好技術棧。至於用什麼框架什麼技術其實反而顯得不是那麼重要了。不過話說回來,2016年必然是React技術火爆的一年,有精力並且有興趣的可以關注一下,可以從一個小的starter項目開始,逐步打造出一套自己的技術棧。
這裡有一些不錯的react starter項目,大小都有,按喜好各取所需吧!Awesome-react-boilerplate by jiji262是否是主流,要看社區,要看貢獻,要看討論度,自己看圖。鑒於過兩天就是 2016 年了,我覺得主流跟圖的結果差不太大。
這麼熱鬧,我也湊湊
React吧
非技術的原因:- 有牛的乾爹並且乾爹是靠他吃飯的。Facebook的網站不倒閉,React就一直會有人維護。這年頭選一個框架最擔心的就是過了一年,發現就只有我公司一個人用了。誰被坑過誰知道。Angular2也是有牛的乾爹的,可是google並不靠他吃飯。再說從Angular1到Angular2的這麼坎坷的轉換來看,我是不願意再來一次擔驚受怕的。
- 組件是React最核心的優勢。簡單,暴力而且非常有效。composition vs inheritance,至少在UI層面,組件/composition用起來真的方便。
- 你要SEO嗎?要的話,你還是乖乖的伺服器端渲染吧。其他的捷徑都太多坑了。
- 創業公司,想三端一起上?確不說三端一起上是不是個好主意,但是React Native的iOS確實是比較靠譜了,至少可以考慮兩端一起上。(web / iOS)
這種極具爭議性的話題就不要回答了。一切脫離需求和技術儲備的選型都是耍流氓。
主流毫無疑問是React,社區非常活躍,經過很多團隊使用和檢驗,同時滿足多端開發。Vue算是去年火了一把,但是插件還是比較少,作者一直在做基於Vue的周邊衍生工具和插件(特別高產,特別敬佩~),2016年Vue有望全面在移動端大放異彩的。Angular2是一直觀望,如果Release的話,不少重量級WebApp都會青睞用它的,比較是集成解決方案。一言以蔽之:用React穩健,用Vue輕快,用Angular2全面~
都是技術解決方案中的一種,誰也干不掉誰,除非google消失,fb倒塌,能笑到最後的我猜肯定是你放蕩不羈笑點低的內心。
送一首詩:
滾滾長江東逝水,浪花淘盡英雄。是非成敗轉頭空,青山依舊在,幾度夕陽紅。
白髮漁樵江渚上,慣看秋月春風。一壺濁酒喜相逢,古今多少事, 都付笑談中。
最後福利,vuejs高質量群:364912432,禁發無意義大gif,非喜勿加。
這個馬屁拍得有些露骨了
吐槽下前端圈子,雖然我也很關注這個圈子,這個圈子有個典型的特點:1.大牛喜歡各種預言未來的趨勢2.開發者很在乎未來的主流趨勢3.好多人忘記了基礎很重要,盲目的跟風各種框架,各種構建工具
推薦閱讀:
※vue,react之類的框架是不是弱化了對前端人員js水平的要求?
※為什麼到2017年7月,知乎上已經很少見到討論angular了?
※關於『餓了么的PWA升級實踐』中『採用傳統的頁面跳轉』這一問題?
TAG:JavaScript | AngularJS | React | Angular? | Vuejs |