Rocket Ship

#050 - New Arch, JSI, Native Modules & Rust with Oscar Franco


Listen Later

In this conversation, Simon Grimm interviews Oskar Franco about the new architecture in React Native. They discuss the current bridge concept, the need for a new architecture, and the three main components of the new architecture: Fabric, JSI, and CodeGen. They also talk about the challenges and benefits of migrating to the new architecture, the use of host objects, and how to create a new architecture-ready native module with JSI. In this conversation, Oscar Franco discusses different module systems in React Native, including Turbo Modules, Expo Modules, and Nitro Modules. He explains that Turbo Modules came with a new architecture and offer benefits such as code generation and lazy initialization. Expo Modules are easy to initialize but may have performance issues for certain use cases. Nitro Modules, are considered the fastest alternative. Oscar also talks about using Rust in React Native and the benefits it provides, such as memory safety and better tooling. He created the OP-SQLite library, which is claimed to be the fastest SQLite library for React Native.

Learn React Native - https://galaxies.dev

Oscar Franco

  • Oscar X: https://x.com/ospfranco
  • Oscar website: https://ospfranco.com/
  • Oscar GitHub: https://github.com/ospfranco
  • Oscar YouTube: https://www.youtube.com/@ospfranco

Links

  • About the New Architecture: https://reactnative.dev/docs/the-new-architecture/landing-page
  • React Native Bridgeless Mode for Dummies: https://www.youtube.com/watch?v=K5HBIKAjZ4U
  • React Native Builder Bob: https://github.com/callstack/react-native-builder-bob
  • OP-Sqlite: https://github.com/OP-Engineering/op-sqlite

Takeaways

  • The current bridge concept in React Native uses JSON serialization, which can become a bottleneck for performance.
  • The new architecture in React Native includes Fabric, JSI, and CodeGen, which aim to improve performance and provide better interoperability between JavaScript and native code.
  • Migrating to the new architecture can be challenging, especially for larger projects and dependencies that are not updated for the new architecture.
  • The use of host objects allows for the creation of hybrid objects that have both native and JavaScript functionality.
  • Creating a new architecture-ready native module with JSI can be facilitated by using tools like React Native Builder Bob.
  • Turbo Modules offer benefits such as code generation and lazy initialization, but setting them up can be painful.
  • Expo Modules are easy to initialize and portable, but they may have performance issues for certain use cases.
  • Nitro Modules, developed by Marc Rousavy, are considered the fastest alternative.
  • Rust is a memory-safe language with integrated tooling and is becoming popular for writing SDKs for React Native.
  • OP-SQLite is a fast SQLite library for React Native that uses host objects for improved performance.
...more
View all episodesView all episodes
Download on the App Store

Rocket ShipBy Simon Grimm

  • 5
  • 5
  • 5
  • 5
  • 5

5

6 ratings


More shows like Rocket Ship

View all
Software Engineering Radio - the podcast for professional software developers by se-radio@computer.org

Software Engineering Radio - the podcast for professional software developers

272 Listeners

The Changelog: Software Development, Open Source by Changelog Media

The Changelog: Software Development, Open Source

284 Listeners

Startups For the Rest of Us by Rob Walling

Startups For the Rest of Us

696 Listeners

a16z Podcast by Andreessen Horowitz

a16z Podcast

1,034 Listeners

React Native Radio by Jamon Holmgren, Robin Heinze, Mazen Chami

React Native Radio

59 Listeners

The Official SaaStr Podcast: SaaS | Founders | Investors by SaaStr

The Official SaaStr Podcast: SaaS | Founders | Investors

175 Listeners

Y Combinator Startup Podcast by Y Combinator

Y Combinator Startup Podcast

217 Listeners

Syntax - Tasty Web Development Treats by Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers

Syntax - Tasty Web Development Treats

987 Listeners

Techmeme Ride Home by Brian McCullough

Techmeme Ride Home

941 Listeners

Practical AI by Practical AI LLC

Practical AI

192 Listeners

The Stack Overflow Podcast by The Stack Overflow Podcast

The Stack Overflow Podcast

62 Listeners

Latent Space: The AI Engineer Podcast by swyx + Alessio

Latent Space: The AI Engineer Podcast

75 Listeners

The AI Daily Brief (Formerly The AI Breakdown): Artificial Intelligence News and Analysis by Nathaniel Whittemore

The AI Daily Brief (Formerly The AI Breakdown): Artificial Intelligence News and Analysis

485 Listeners

AI + a16z by a16z

AI + a16z

31 Listeners

The Pragmatic Engineer by Gergely Orosz

The Pragmatic Engineer

63 Listeners