WhoBuilt

Backstage Interviews

Sep 14, 2018· 13 min· 48 views·Watch on YouTube

Martin, a React Native developer and open-source author, discusses React Native in production, performance, tooling, and community at React Native EU 2017 with Callstack’s backstage interview team.

Why the team adopted React Native

The team wanted to improve a difficult-to-maintain codebase, make development easier, and help developers move between platforms. React Native also offered a path beyond an Objective-C-only app. Adding it to an existing application brought extra repository, packaging, release, and upgrade work.

Production use and performance

Martin says his team had used React Native in production for over a year and a half, in apps used by millions. He considers it production-ready for teams willing to work around limitations and adapt designs. He estimates performance in a standard app at 90% to 95% of native, with room to improve.

Open source and the React Native ecosystem

Martin names Slick Carousel as a library he is proud of because it became widely used, while he personally uses Spectacle more often. He sees React Native adoption growing through Facebook’s maintenance and community contributions. He favors sharing components across mobile and web, while suggesting less-used native APIs could move into separate modules to ease maintenance.

Tooling and community priorities

Martin says his team plans to focus on tooling, including expanding the Detox ecosystem and exploring bitmap snapshot testing for React Native components. He also points to Detox Instruments for investigating app behavior and performance issues. He describes React Native EU as a welcoming community built around friendships and collaboration.

Takeaways

  • Account for repository, packaging, release, and upgrade overhead when adding React Native to an existing app.
  • Production readiness depends partly on a team’s willingness to work around framework limitations.
  • Measure performance in the app’s actual use cases; Martin’s 90% to 95% estimate is for a standard app.
  • Invest in diagnostic and testing tools to track down performance problems that accumulate across many small issues.
  • Shared components can reduce duplicated work across mobile and web when product interfaces are similar.

Mentioned in this talk

Search inside this talk

What was claimed 8

Related talks

Backstage Interviews · WhoBuilt