技能拓展筆記-React-前言

背景

畢業已兩年多時間,從畢業實習開始一直是作iOS客戶端開發,期間待過兩家公司,參與或獨立開發了6個上線項目,如今所在公司是一家正在智能家居行業謀求轉型的傳統控制器製造公司。公司整個新業務團隊有近300號人,iOS技術組穩定在20號人左右。從一開始入職我就處於忙綠狀態,因此常和同事笑說:「來這一個月的加班時長超過我在上家公司一年的量」,雖然有時候加班也累但我卻並不以爲苦,畢竟對於成長期的我在這裏學到了很多東西,好比:智能硬件藍牙開發,硬件socket通信,組件化開發,Hybrid混合開發等。身處IT行業你必定能深入感覺到前端技術在這兩年的火爆程度,天然咱們公司也在跟隨這股浪潮,自去年中旬開始公司全部新立項的項目均採用Hybrid混合開發模式,具體邏輯就是:UI界面(除少數框架性界面)由前端構建+網絡通信原生代理+設備的藍牙或者socket交互由原生處理。這樣下來iOS開發人員能作的工做就愈來愈少了,因此我須要擴展本身的前端開發能力,至於我爲何選React?主要緣由在於公司的前端技術組目前就在使用React。如下有一篇發佈在 Medium 上的文章能夠幫助你對比React和Vue。javascript

參考

React or Vue: Which Javascript UI Library Should You Be Using?
簡要譯文:前端


2016年React鞏固了它做爲前端框架之王的地位,這一年中能夠看到它在Web端和移動端的快速成長,同時穩穩領先於它的主要競爭對手Angular。vue

可是2016對Vue來講也是一樣使人印象深入的一年,它發佈了Vue 2.0版本而且在JavaScript社區引發了巨大反響,GitHub上多出的25000顆star就是最好的證實。java

React和Vue的適用範圍無疑是很類似的:一樣是基於組件的輕量級框架,一樣專一於用戶界面的視圖層。一樣能夠用在簡單的項目中,也一樣可使用全家桶擴展爲複雜的應用程序。react

由於,不少Web開發者想知道他們應該使用哪一個框架。是其中一個明顯優於另外一個?仍是他們有各自的優勢和坑?或者他們基本就是一個樣?前端框架

兩個框架 兩個擁護者

在本文中,我想用一次公平,完全的對比來回答上面的疑問。可是惟一的問題是我是一個Vue粉絲,徹底不夠客觀。今年我在項目中重度使用Vue,在Medium上大加讚揚,甚至還發布了Udemy課程網絡

爲了平衡個人偏見,我叫上了個人朋友Alexis Mangin,他是一個很牛的JavaScript開發者,同時也是一個React鐵粉。他一樣沉浸於React中,常常在Web端和移動端的項目中使用。框架

有一天Alexis問我:「爲何你這麼中意Vue,而不是React呢?」那時候我不太瞭解React, 沒辦法給出一個好的答案。因此我出了一個主意,找一天時間,帶上筆記本電腦,互相介紹一下彼此作出選擇的緣由。前端構建

通過大量的討論和和互相學習後,咱們找到了6個關鍵點。socket

  • 若是你喜歡用模板搭建應用(或者有這個想法),請選擇Vue
  • 若是你喜歡簡單和「能用就行」的東西,請選擇Vue
  • 若是你想要你的應用盡量的小和快,請選擇Vue
  • 若是你打算構建一個大型應用程序,請選擇React
  • 若是你想要一個同時適用於Web端和原生APP的框架,請選擇React
  • 若是你想要最大的生態系統,請選擇React
  • 若是你已經用其中一個用的很爽,就別變了

總結一下,咱們發現的,Vue的優點是:

  • 模板和渲染函數的彈性選擇
  • 簡單的語法和項目配置
  • 更快的渲染速度和更小的體積
    React的優點是:
  • 更適合大型應用和更好的可測試性
  • Web端和移動端原生APP通吃
  • 更大的生態系統,更多的支持和好用的工具
    然而,React和Vue都是很優秀的框架,它們之間的類似之處多過不一樣之處,而且大部分的優秀功能是相通的:
  • 用虛擬DOM實現快速渲染
  • 輕量級
  • 響應式組件
  • 服務端渲染
  • 輕集成路由工具,打包工具,狀態管理工具的難度低
  • 優秀的支持和社區
相關文章
相關標籤/搜索