JS Party: JavaScript, CSS, Web Development · Changelog Media

React Native the Expo way

June 27, 2024·58 min·5 clips
Simon Grimm reveals why React Native's native components make it superior to Flutter and web-based alternatives.
This episode of JS Party features host Jerod Santo and guest Simon Grimm, a React Native educator and founder of Galaxies.dev. They explore the current state of React Native development, focusing on the central role of the Expo framework. Simon explains that React Native allows developers to build cross-platform applications using React, but it renders to native iOS and Android components rather than web views. He contrasts this with alternatives like Flutter, which draws its own pixels, and Capacitor/Ionic, which use web components styled with CSS. The discussion highlights Expo as the now-recommended framework for starting new React Native projects, evolving from a limited toolchain into a comprehensive development platform. Expo provides an SDK with numerous plugins for native APIs like the camera and image picker, and it includes Expo Router for file-based navigation similar to Next.js. A major insight is that Expo enables building for platforms beyond iOS and Android, including Apple TV, Fire TV, Windows, and macOS. Simon shares that he recently deployed an Expo project to his Apple TV with minimal difficulty. The conversation notes the close, collaborative relationship between the Expo team and the React Native community, including contributions from companies like Meta and Microsoft. Interestingly, Expo also facilitates building web applications from the same React Native codebase, aiming toward universal applications. The hosts examine the hybrid nature of Expo as both an open-source framework and a company offering paid services like EAS for cloud builds, app submission, and updates. They acknowledge that while platform-specific UI and capabilities can be challenging to unify, using native components provides superior accessibility and user experience. Simon emphasizes that the development iteration speed for mobile apps, involving simulators, emulators, and app store reviews, is fundamentally slower and more complex than web development. The tone is conversational and educational, with the host and guest sharing personal experiences and technical examples. This episode is ideal for web developers curious about cross-platform mobile development or React developers considering expanding into native apps. Listeners seeking deep critiques of React Native or exclusive focus on alternative frameworks like Flutter might find less value here.
Listen to the show on