• This article is Marno original, reprint must retain source!
  • The public account [aMarno], after concern, reply RN to join the exchange group
  • React Native: http://www.marno.cn

It’s time to write the year-end summary again, but I don’t want to write anything about me this year. Instead, I want to summarize the year of React Native. I know there are many readers who follow me because of RN, so thank you very much for your attention. Over the past year, I’ve made a point of Posting only original articles, mostly about RN. However, due to job changes, RN is no longer my main research direction in the second half of 2017, so the update speed is slow. But writing is my personal passion, and I will continue to do it, and I will share more quality original content with you in 2018.

React Native has been updated 92 times in 2017. The average was 7.67 / month and 1.77 / week. Among them, there are 12 official versions (with release logs) with an average of 1.0 / month. After 17 years of following FB’s plan, the first version is 0.40.0, and the last version is 0.52.0-RC0. July saw the most releases, with 14 versions. January and December had the least releases, with 3 releases each.

1801046924.jpg

Updates for Android only: 218 new features and 79 bug fixes for iOS only: 286 new features and 96 bug fixes 608 new features, 157 bug fixes, 35 major changes

Updates to RN are slower than they were when it first came out, but the monthly official release still annoys many developers who use RN. Because projects often don’t work after updates, many teams choose not to update and then can’t use the latest API. I think it’s best to upgrade across versions, because some versions aren’t so different that we can ignore them. But the span is not too big, otherwise there is a problem do not know where to find the reason, every two to three versions of the upgrade is more appropriate.

1801046779.jpg

What are the important things to update? Here’s a look back at some useful new features RN added this year.

Version 0.42

  • IOS: no longer supportedXcode7.xCompile and upgrade toXcode8.x
  • Android: removeRecyclerViewBackedScrollViewcomponent
  • General:WebViewThe component of newinjectJavaScriptmethods
  • General: Add percentage support for some attributes of a component
  • General:initTemplates can be added at project time

Version 0.43

  • General:FlatListThe official launch
  • Universal: style supportalignContentattribute
  • General:initProject templates can now be customized

Version 0.44

  • General: Pass is no longer supported@provides NameOfModuleThe import module
  • General:NavigatorThe component is marked expired
  • IOS: removeMapViewIOSComponent, recommendedAirbnb 的 react-native-maps

Version 0.45

  • General: Add support throughCameraRollComponent access video

Version 0.46

  • General: introductionImageBackgroundcomponent

Version 0.47

  • Android:linkCommand to associate the Kotlin module
  • For Android:AndroidViewPageraddpeekEnabledattribute

Version 0.48

  • IOS: removeAdSupportIOScomponent

Version 0.49

  • General:index.ios.js 与 index.android.jsCombined intoindex.js
  • General:TextInputComponent to addautoGrowattribute

Version 0.50

  • General:Nested components are no longer supported in components
  • General: AddSwipeableFlatListComponent (experimental)
  • General: introductioncomponent
  • Android: Add a pairThe Android 8.0The support of

Version 0.51

  • General:Padding, margin, borderEqual-attribute supportRTLlayout

Of course, there are many other updates, such as improved execution efficiency, code structure optimization, etc., I will not list them all. Is RN more useful than last year? It’s a little bit better, but I don’t know if you feel that way about this year’s update. But at least we can see that Facebook is trying to make RN better.

In this year, I translated the update log for 7 times in total, and counted the total number of the read of these logs in various channels, which should be above 70K at least. As a relatively boring “update log”, I am very pleased that so many people can read it. If you want to know more about the updates, you can check out the Chinese update log for each version.

Attached is a link to the logs of previous translations:

  • [0.42] React Native Chinese update log
  • [0.43] React Native Chinese update log
  • [0.44] React Native Chinese update log
  • [0.45] React Native Chinese update log
  • [0.46] React Native Chinese update log
  • [0.47] React Native Chinese update log
  • [0.48] React Native Chinese update log

The process of translating these contents is not easy. In order to restore the Original English meaning as accurately as possible, I will read the details of almost every update log carefully, and only after I understand them, I will translate them. Although this takes up a lot of my personal time and may not be watched by many people in the end, I feel that since I have done it, I should strive to be accurate, otherwise it may confuse the viewers.

A full year has passed since RN moved from 0.40.0 to 0.52.0-RC0, and if we continue at this pace, it will be at least four years before we get a version of RN 1.0.0 in 2021. But that’s assuming RN can stay up until then, given the rapid pace of technological change. Technologies like wechat mini program and Alipay mini program are squeezing RN’s living space. Coupled with the constraints of RN’s own implementation mechanism, it is impossible to carry overly complex business. Those products that pursue smooth user experience will still choose native development as the main carrier of business. As for what RN is going to do, all we can do is offer our best wishes.

And just to do a little final statistic, which version of RN is used by the most people right now? Welcome to comment and reply in the comments section.