WhoBuilt

React And React Native: Siblings, Not Twins

Oct 3, 2019· 13 min· 1.0K views·Watch on YouTube

Speaker

Pariss Chandler, creator of Black Tech Twitter and founder of Black Tech Pipeline, compares React and React Native at React Native EU 2019, speaking for Callstack.

React ideas carry over to mobile

Chandler describes React and React Native as similar but distinct, like sisters rather than twins. Reusable components, props, JSX, state management, and the wider library ecosystem carry over. React Native also means building for iOS and Android, with Xcode and Android Studio useful for troubleshooting; Expo can help build apps without setting up those environments.

Development tools and UI differ

Instead of testing changes in a browser, developers run the app in an iOS simulator or Android virtual device, or connect a physical phone. React Native uses components such as View and Text in place of common web elements, and its component names are capitalized. Styling uses JavaScript through StyleSheet or CSS-in-JS libraries, with Flexbox.

Mobile components and navigation

Chandler highlights ActivityIndicator for loading, ScrollView for scrolling, and FlatList for rendering data from an array. The Platform object supports platform-specific configuration, while AsyncStorage provides temporary local storage and Redux Persist can retain Redux data. React Navigation handles movement between screens using a stack.

Upgrades, community packages, and release

React Native upgrades must account for changes in React, iOS, and Android; Chandler recommends the upgrade command and Upgrade Helper to review version differences. She notes that components including WebView, ImagePicker, Geolocation, and AsyncStorage have moved from core to community packages. Mobile release involves Apple and Google processes: TestFlight supports iOS beta testing, while Google Play Console offers internal, open, and closed testing.

Takeaways

  • Carry over React skills, but learn React Native's platform components and development tools.
  • Use the component documentation to find available props that may solve a specific UI problem.
  • Check React Native Upgrade Helper when moving between versions to understand file changes.
  • Plan for mobile testing and store release processes, including Apple review for external TestFlight testers.
  • Expect some formerly core components to require separate community package dependencies.

Mentioned in this talk

Search inside this talk

What was claimed 12

Related talks