React Native 的 2017 年終總結

  • 本文爲 Marno 原創,轉載必須保留出處!
  • 公衆號【 aMarno 】,關注後回覆 RN 加入交流羣
  • React Native 優秀開源項目大全:http://www.marno.cn

又到了寫年終總結的時候,但今年不想寫個人事情,而是想總結一下 React Native 的這一年。知道有不少讀者是由於 RN 才關注個人,特別感謝你們的關注。在過去一年,我堅持只發原創文章,其中大部分是關於 RN 的。但因工做變更,在 2017 下半年裏,RN 再也不是我主要研究的方向了,因此更新速度就慢了。可寫做是個人我的愛好,我會堅持下去,也會在 2018 年和你們分享更多優質的原創內容。react

2017這一年,
React Native 共更新 92 個版本。
平均 7.67 個/月,1.77 個/周。
其中正式版共 12 個(有 release 日誌)
平均 1.0 個/月,在按照 fb 的規劃進行
17 年的第一個版本是 0.40.0
最後一個版本是 0.52.0-rc0
7 月份發佈次數最多,共 14 個版本。
1 月和 12 月發佈最少,均爲 3 個版本。android

每月發佈版本的數量▲
1801046924.jpg

在這 92 個版中,更新的內容有:
僅針對 Android: 新特性 218 個、修復 bug 79 個 
僅針對 iOS: 新特性 286 個、修復 bug 96 個 
雙平臺通用: 新特性 608 個、修復 bug 157 個、重大變動 35 個ios

如今 RN 更新的速度已經比剛出來那會兒慢了,可是一個月一個正式版,仍是讓許多使用 RN 的開發者感到苦惱。由於常常在更新後項目就跑不起來了,因此不少團隊都選擇了不更新,但也就無法用最新的 API 了。我以爲最好進行跨版本升級,由於有些版本之間的差異不是很大,咱們能夠忽略掉。但跨度也不要太大,否則出了問題都不知道去哪裏找緣由,隔個兩到三個版本升級比較合適。小程序

每一個版本更新內容統計▲
1801046779.jpg

更新了這麼內容,有哪些是比較重要的呢?下面咱們一塊兒來回顧下,今年 RN 添加了哪些實用的新功能(可能會漏,歡迎留言補充)。微信小程序

0.42 版本react-native

  • iOS:再也不支持 Xcode7.x 編譯,升級爲 Xcode8.x
  • Android:移除 RecyclerViewBackedScrollView 組件
  • 通用:WebView 組件新增 injectJavaScript 方法
  • 通用:爲組件的部分屬性添加百分比支持
  • 通用: init 項目時能夠添加模板

0.43 版本微信

  • 通用:FlatList 正式發佈
  • 通用:樣式支持 alignContent 屬性
  • 通用:init 項目時的模板能夠自定義了

0.44 版本markdown

  • 通用:再也不支持經過 @provides NameOfModule 導入模塊
  • 通用:將 Navigator 組件標記爲過時
  • iOS:移除 MapViewIOS 組件,建議使用 Airbnb 的 react-native-maps

0.45 版本ide

  • 通用:添加支持經過 CameraRoll 組件訪問視頻

0.46 版本oop

  • 通用:引入 ImageBackground 組件

0.47 版本

  • Android: link 命令支持關聯 Kotlin 模塊
  • Android:爲 AndroidViewPager 添加 peekEnabled 屬性

0.48 版本

  • iOS:移除 AdSupportIOS 組件

0.49 版本

  • 通用:將 index.ios.js 與 index.android.js 合併爲 index.js
  • 通用:TextInput 組件添加 autoGrow 屬性

0.50 版本

  • 通用: 組件中再也不支持嵌套組件
  • 通用:添加 SwipeableFlatList 組件(實驗性)
  • 通用:引入  組件
  • Android:添加對 Android 8.0 的支持

0.51 版本

  • 通用:padding,margin,border 等屬性支持 RTL 佈局方式

固然還有不少其餘更新,好比執行效率上的提高、代碼結構的優化等,我就不一一列舉了。要問 RN 有沒有比去年更好用?確實仍是更好用了一些,不過我總以爲今年的更新不是特別給力,不知道你們有沒有這樣感受。但至少咱們仍是能夠看出, Facebook 在努力讓 RN 變得更好。

這一年裏,我一共翻譯了 7次更新日誌,大概統計了下這些日誌在各渠道的閱讀總數,至少應該在 70K 以上了,做爲比較枯燥的「更新日誌」還能有這麼多人看,我已經非常欣慰了。有想了解更多更新內容的朋友,能夠去看下每一個版本對應的中文更新日誌。

附上以前幾回翻譯的日誌連接:

翻譯這些內容的過程並不輕鬆,爲了儘量準確的還原英文原意,幾乎每一條更新日誌的詳情我都會去仔細看,只有本身理解了之後纔會去翻譯。儘管這件事佔用了我大量的我的時間,並且可能最後看的人也並非不少,但我以爲既然作了,就力求作到準確,否則可能會讓看的人比較困惑。

一全年過去了,RN 的版本從 0.40.0 到更新到了 0.52.0-rc0,若是保持這樣的節奏更新下去,那咱們至少也得在 4 年後,也就是 2021 年,才能等到 RN 1.0.0 的版本了。不過前提是 RN 還能維護到那個時候去,畢竟如今技術更新換代的節奏愈來愈快了。像微信小程序,支付寶小程序這樣的技術,都在擠壓着 RN 的生存空間。加上 RN 自身實現機制的約束,致使它不可能承載過於複雜的業務,那些追求流暢用戶體驗的產品,依然仍是會選擇將原生開發做爲業務的主要載體。 至於之後 RN 會怎麼發展,咱們能作的也只是獻上美好的祝福了。

最後作個小小的統計,看下如今哪一個版本的 RN 用的人最多?歡迎你們在留言區評論回覆。

相關文章
相關標籤/搜索