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 用的人最多?欢迎你们在留言区评论回复。

相关文章
相关标签/搜索