News

React Native Team Addressing Biggest Complaints: Upgrading and Debugging

The React Native Community recently conducted a survey via GitHub to ask mobile developers "What do you dislike about React Native?" and found that the two biggest complaints are upgrading and debugging.

React Native made a huge splash in the mobile development arena in 2015 when it debuted from Facebook as a new way to code native iOS and Android mobile apps with JavaScript. It eschewed the problematic cross-platform approach ("write once, run anywhere") with a "learn once, write anywhere" scheme in which the same team can learn React Native and then more quickly use it to crank out separate, native iOS and Android projects.

Although it was the darling of the mobile dev space for years, problems eventually sprung up, as evidenced by a re-architecture effort unveiled last June. Shortly after that, Airbnb and Udacity announced they were abandoning React Native.

About five months after that, led by Facebook engineers, the React Native Community GitHub organization launched a survey on that development platform with an issue.

"There are many discussions out there, and this has been done in the past, but let's have a fresh start and make a collection of things that we can then consider looking at in 2019," the "survey" post said. "For now, we'll just make a list. Please don't expect any of these things to be prioritized and fixed right away."

The issue was closed out late last month after the team replied to many individual responses.

Each issue's response included the number of votes, tags, estimated time to fix, point of contact for the issue, and a comment by Facebook. For example, here's the reply to the No. 1 response, with 572 votes, "Upgrading requires a lot (too much?) effort":
Reply to
[Click on image for larger view.] Reply to "Upgrading requires a lot (too much) effort" (source: React Native Community)

As shown, the response to the No. 1 issue, in part, read: "We asked for more information on GitHub and have a good overview of the problems, however it will likely take a long time and more discipline to make this problem go away entirely."

Other top dislikes were:

The team sought more information on the top two "very broad" items, asking for further developer feedback on Upgrading React Native and Debugging React Native.

"Thank you everyone for bringing all these issues to our attention," the team said in closing out the issue. "We've kept quite busy with our work on React Native in the past few months but we finally have a thorough reply for you, see #104."

That reply said:

More than two months ago in #64 we asked "What do you dislike about React Native?". We have since made progress at Facebook on our incremental rewrite of React Native, via Fabric (#4) and TurboModules (#40), and started deprecating and removing many modules as part of the Lean Core effort. We reduced the number of open pull requests to ~70, compared to ~280 in December, by merging most of them and closing only the ones that weren't applicable any longer. Simultaneously, the average number of Pull Requests that get opened against React Native increased from ~3.5 to ~8 per day.

We are finally done replying to all of the issues that were mentioned in #64. Please read this comment to understand how we generated this list. I recommend you get a beverage of your choice (coffee?) or a snack and take a break before jumping into this fun read.

Earlier this month, the team published an open source update on React Native in which it provided more info on the survey. "In December, we asked the community what they disliked about React Native. We aggregated the responses and replied to each and every problem. Fortunately, many of the issues that our community faces are also problems at Facebook. In our next milestone, we plan to address some of the main problems."

React Native 0.59 was released shortly after that.

About the Author

David Ramel is an editor and writer at Converge 360.