A panelist described a migration failure that signed out about 95% of users and left 5% in a boot loop. The advice was to support upgrades from multiple schema versions with step-by-step migrations, and to treat changes as risky. Another panelist described an offline-first social network built around an immutable log, where new schemas can reinterpret existing messages.
Q&A Session
Speakers
React Native engineers from Wix, Facebook, and the open-source community join Callstack’s React Native EU 2017 Q&A in Poland to discuss offline data, ecosystem challenges, performance, testing, and navigation.
The panel discussed making React Native more modular, including the move from React Native Packager to Metro and better support for platforms such as Windows. They also called for more native developer contributions and stronger end-to-end testing across JavaScript, iOS, and Android. React Native for Web, React Primitives, and WebAssembly came up as ways mobile and web development might converge.
For production errors, the panel recommended separate tools for native crashes and JavaScript errors, naming Crashlytics and Sentry. They suggested collecting user feedback through a contact form inside the app. For performance issues, they urged teams to measure before optimizing: one panelist traced several seconds of startup delay to native module initialization and JavaScript require calls, and recommended lazy loading where it fits.
The panel described Detox as a JavaScript interface for gray-box end-to-end tests, with iOS support in production and Android work underway at the time. In discussing web and native apps, panelists weighed web distribution against access to device APIs and suggested sharing business logic through JavaScript libraries when full code sharing is impractical. On navigation, they favored flexible APIs over a shared interface, while one panelist argued that the underlying navigation should use native components.
Takeaways
- Keep schema migrations for each version and test upgrade paths across older app installs.
- Measure startup, rendering, and memory behavior before choosing an optimization.
- Track native crashes and JavaScript exceptions with tools suited to each runtime.
- Use automated end-to-end tests to help contributors safely change code across JavaScript and native layers.
- Share business logic across web and mobile when legacy code makes a full rewrite unrealistic.
Mentioned in this talk
Search inside this talk
What was claimed 5
- uses
“We've got GraphQL to solve that problem.”
YouTube Verified2 sources· Talk
- uses
“we use Sentry in production.”
YouTube Unverified1 source· Talk
- metricDetox: In production for iOS; Android version expected very soon.
“It's in production for iOS right now, and an Android version will be released very soon.”
YouTube Unverified1 source· Talk
- featureDetox: Provides a JavaScript API for end-to-end tests in simulators.
“It abstracts this away and gives you a very nice JavaScript API to run end-to-end tests in simulators.”
YouTube Unverified1 source· Talk
- featureReact Native Navigation: Version 2 is fully tested with unit tests and end-to-end tests.
“We're working on version 2 ... making version 2 fully tested.”
YouTube Unverified1 source· Talk






