Skip to content
Programing

React Native's New Architecture and the Expo SDK 55 Transition: A Tipping Point

Published: Duration: 6:32
0:00 0:00

Transcript

Host: Hey everyone, welcome back to Allur. I’m your host, Alex Chan. Today, we are diving deep into the world of mobile development, specifically focusing on a massive shift happening right now in the React Native ecosystem. If you’ve been following cross-platform dev for a while, you know the "Bridge" has always been the elephant in the room. It’s how JavaScript talked to the native side of your phone, but it was often a bottleneck—kind of like trying to run a high-speed train through a tiny, old tunnel. Well, the tunnel is being demolished. We’re talking about React Native’s New Architecture and specifically, why Expo SDK 55 is being called the "tipping point" for this whole transition. We’re moving from experimental territory into the new standard. If you’re a dev wondering if it’s finally time to flip the switch on Fabric or Bridgeless mode, or if you’re just curious about how these performance gains actually feel in a real-world app, this episode is for you. We’re going to break down the technical jargon and get into the real-world grit of migration. Host: To help me unpack all of this, I am thrilled to have Marcus Thorne on the show. Marcus is a Senior Mobile Engineer at Horizon Tech and a long-time contributor to the React Native community. He’s spent the last few months migrating several high-traffic production apps over to the New Architecture using the latest Expo tools. Marcus, it is so great to have you here on Allur. Guest: Thanks so much for having me, Alex! It’s a wild time to be a React Native developer, honestly. There’s a lot of "new" to keep track of right now. Host: It really feels like we’re at a crossroads, doesn't it? Before we get into the Expo SDK 55 specifics, let’s go back to basics for a second. We’ve heard about "The New Architecture" for what feels like years. Why is it actually a big deal? Why did we need to move away from the old bridge? Guest: Yeah, the bridge... it’s served us well since 2015, but it had this fundamental flaw. Every time your JavaScript wanted to tell the native UI to do something—like move a button or update a list—it had to serialize that data into a JSON string, send it over the bridge, and then the native side had to deserialize it. It was asynchronous, which sounds fine, but it meant you couldn't get "synchronous" feedback. If you’ve ever seen a jerky list scroll or a jumping UI when the keyboard pops up, that’s usually the bridge struggling to keep up. Host: Right, it’s that tiny delay that makes an app feel "web-like" instead of truly native. So, the New Architecture brings in things like Fabric and Bridgeless Mode. How do those actually fix that "jerkiness"? Guest: So, Fabric is the new rendering system. Instead of that clunky JSON bridge, it uses something called JSI—the JavaScript Interface. It allows JavaScript to hold a direct reference to native objects. It’s like, instead of sending a letter through the mail to tell someone to move a chair, you’re now just reaching out and moving the chair yourself. Actually, the biggest "aha" moment for me was seeing synchronous layout. You can finally measure UI elements in real-time without that "wait-and-see" async gap. It makes the responsiveness feel... well, it feels like a native app written in Swift or Kotlin. Host: That sounds like a dream for anyone building complex animations. But let's talk about Expo. Expo has always been the "easy mode" for React Native—which I say with a lot of love! But with SDK 55, it feels like they’re making a very loud statement about this New Architecture. Why do you think this version is the "tipping point"? Guest: Oh, definitely. Expo SDK 55 is huge because it’s where "New Architecture" stops being a checkbox you might try in a side project and becomes the default recommendation. Expo has done a ton of work to make Bridgeless Mode stable. In previous versions, you’d turn on the New Architecture and half your third-party libraries would just... break. It was frustrating. But with SDK 55, the compatibility layer is so much more robust. They’ve essentially signaled that the experimental phase is over. If you’re starting a new project today on 55, you’d be crazy not to turn on the New Architecture from day one. Host: Interesting! But let’s be real for a second—migration is never just "flipping a switch," even with Expo. When you were moving your apps over at Horizon Tech, what were the "oh no" moments? What actually broke? Guest: (Laughs) Oh, there were a few! The biggest struggle is always native modules that haven't been updated to "TurboModules"—which is the New Architecture version of modules. Even though there’s an interop layer that’s supposed to make old modules work with the new system, it’s not perfect. We had a specific obscure library for a Bluetooth scanner that just refused to play nice. We had to spend a couple of days writing a JSI wrapper for it. Host: That sounds like a lot of work. Was it worth it? Or were you sitting there thinking, "Maybe we should just stay on the old architecture for another year"? Guest: Honestly, after we got past that hurdle and saw the performance? Yes, it was worth it. There’s this one screen in our app with a really heavy map component and a lot of overlaying UI. On the old architecture, it felt heavy. There was a noticeable lag when you’d swipe. After the SDK 55 transition with Fabric enabled, it was buttery smooth. It’s one of those things where you don’t realize how much the bridge was taxing your CPU until it’s gone. Host: I love that. "Buttery smooth" is the goal! So, for the developers listening who are maybe on SDK 50 or 52 and are looking at the jump to 55—what’s your advice? Where should they start so they don't lose their minds? Guest: First, don't panic. You don’t have to do it all in one afternoon. Start by auditing your dependencies. Check which of your libraries are already compatible with the New Architecture—most of the big ones like Reanimated or Gesture Handler are totally ready. Then, use Expo’s "new-arch-enabled" flag in a separate branch. See what screams at you. Actually, one thing people forget is that you can turn on the New Architecture but keep the bridge as a fallback, though SDK 55 really wants you to go Bridgeless. Host: That’s a good tip. It’s like a gradual reveal. I’m curious, Marcus, looking into your crystal ball—now that Expo has hit this tipping point, what does the next year look like for React Native? Are we finally done with the "is it as fast as native?" debate? Guest: I think we’re getting very close to ending that debate. Once the community fully migrates, the developer experience is going to be so much better because we aren't fighting these weird "bridge-related" bugs anymore. I think we’ll see more complex, high-performance apps—things like photo editors or heavy data-visualization tools—being built in React Native because the performance ceiling just got a lot higher. Host: That is so exciting. It feels like the ecosystem is maturing in a way that’s really stable now. Marcus, thank you so much for sharing these insights. It makes the transition feel a lot less intimidating. Guest: My pleasure! Just take it one library at a time, and the results will speak for themselves. Host: That was Marcus Thorne, giving us the inside scoop on React Native’s New Architecture and why Expo SDK 55 is the big milestone we’ve been waiting for. The big takeaway? The bridge is on its way out, and "synchronous" is the new keyword. If you’re working on an app, it might be time to start that SDK 55 branch and see what your performance could look like without those old bottlenecks. If you want to dive deeper, I’ll put links to the Expo migration guide and Marcus’s blog in the show notes. Thanks for tuning into Allur. I’m Alex Chan, and I’ll catch you in the next one where we’ll be talking about the latest shifts in the Go ecosystem. Until then, happy coding!

Tags

React react-native mobile development performance modernization expo