Skip to content
Programing

The 'Expo-First' Era: React Native CLI Officially Moves to Legacy Status

Published: Duration: 6:22
0:00 0:00

Transcript

Host: Alex Chan Hey everyone, welcome back to Allur. I’m your host, Alex Chan. If you’ve been in the mobile development space for a while—specifically the React Native world—you know that there’s always been this… I don’t know, this "tug-of-war" between using the raw React Native CLI and using Expo. For years, the "serious" enterprise devs often stuck to the CLI for that "total control" feeling, while Expo was seen as the "training wheels" version. Host: Alex Chan I am so excited to introduce Jordan Vance. Jordan is a Lead Mobile Architect who’s spent the last decade building high-scale apps and has actually been a contributor to the React Native core in the past. Jordan, thanks for coming on Allur! Guest: Jordan Vance Thanks for having me, Alex! It’s actually a really surreal time to be talking about this. If you told me five years ago that the CLI would be "legacy," I probably would’ve laughed you out of the room. But here we are. Host: Alex Chan Right? It feels like a "end of an era" moment. I remember the days of `react-native link` and just… the absolute nightmare of breaking your CocoaPods every Tuesday. But let’s start with the "why." Why now? This announcement felt very deliberate, especially coming out of the App.js 2026 conference. Guest: Jordan Vance Yeah, "deliberate" is the perfect word. It wasn't a quiet fade-out. At App.js, there was this very clear, unified front from the core maintainers. They basically said, "Look, fragmentation is killing our velocity." When everyone is using a different version of the CLI, different native build setups, and different ways of handling splash screens—it makes the ecosystem impossible to support at scale. Expo managed to solve the "environment hell" that the CLI just couldn't. Host: Alex Chan It’s interesting you mention "environment hell." I think a lot of us remember spending three days just getting a project to compile on a new MacBook. Does this move to legacy status mean the CLI is… well, dead? Like, if I have a CLI project right now, should I be panicking? Guest: Jordan Vance (Laughs) No, don’t panic just yet. "Legacy" in this context means it’s no longer the recommended path for new production-grade apps. It’s not going to stop working tomorrow, but the innovation—the "good stuff"—is all flowing into the Expo managed workflow now. Actually, one of the biggest catalysts for this was the June update where they consolidated everything into SDK 56. Host: Alex Chan SDK 56! I saw some buzz about that. It’s supposed to be the "Great Unification," right? Guest: Jordan Vance Exactly. It basically removed the friction between "managed" and "bare" workflows. With Continuous Native Modules and the new config plugins, there’s almost zero reason to "eject" anymore. You get the ease of Expo but the power to write custom native code if you really need to. It’s the best of both worlds. Host: Alex Chan Okay, so let’s talk about a new tool I’ve been hearing a lot about: "Expo Observe." I saw a post on DEV Community mentioning it’s a total game-changer for production monitoring. How does that fit into this "Expo-First" mandate? Guest: Jordan Vance Oh, Alex, Expo Observe is huge. This is where Expo stops being just a "dev tool" and starts being a full-lifecycle enterprise solution. In the old CLI days, you’d have to manually stitch together Sentry for errors, maybe some custom Firebase analytics, and some other tool for performance monitoring. It was always a bit… janky. Expo Observe standardizes all of that. It gives you real-time production performance metrics and app health analytics right out of the box. For a CTO or a Product Manager, that’s the kind of stability they’ve been craving in the React Native space. Host: Alex Chan That makes so much sense. It’s about professionalizing the entire pipeline. I also read that this shift is partly about preparing for an "AI-assisted" future. That sounds very "2026," but how does moving to Expo help with AI? Guest: Jordan Vance It’s all about predictability. If an AI is trying to help you write a mobile app, it needs a consistent foundation. The React Native CLI was too much of a "choose your own adventure" book. The AI would suggest a library, but oh wait, that library doesn't work with your specific version of Gradle or your CocoaPods setup. By standardizing on Expo, we create a predictable environment where AI tools can actually generate, test, and deploy code with much higher reliability. We’re moving toward a "faster delivery" model, and you can’t have that speed if you’re fighting with your build tools every morning. Host: Alex Chan I love that—"choose your own adventure" is exactly what the CLI felt like, and usually, the adventure ended with a "Red Screen of Death." (Laughs). But let’s get real for a second. There has to be a catch. What are the struggles? I mean, migrating a massive, five-year-old CLI app to Expo isn't exactly a "walk in the park," is it? Guest: Jordan Vance Ugh, definitely not. That’s the real struggle right now. If you have a legacy app with a ton of custom C++ code or very specific, outdated native dependencies that haven’t been updated for the New Architecture, moving to the Expo managed workflow is… well, it’s a project. You have to write config plugins for your native dependencies, and that requires a shift in mindset. You're no longer "hacking" the Android folder; you're "declaring" how the Android folder should be built. It’s a bit of a learning curve for the old-school devs. Host: Alex Chan "Declaring" vs "Hacking." I like that. It’s moving toward a more declarative infrastructure, almost like what we saw with Terraform or Kubernetes, but for mobile apps. Guest: Jordan Vance Exactly! That’s the "aha moment" for most people. Once you realize you don’t have to manually touch the `ios` or `android` folders ever again, and that your CI/CD can just generate them on the fly based on your `app.json`... it’s like a weight is lifted. You realize you can actually focus on building features instead of being a part-time build engineer. Host: Alex Chan Honestly, that sounds like a dream. I think many of us are ready to leave the build-engineer life behind. Jordan, this has been so eye-opening. If you had to give one piece of advice to a developer who is still clinging to their CLI project today, what would it be? Guest: Jordan Vance I’d say: start a "shadow project." Take your most complex feature and try to rebuild it in a fresh Expo SDK 56 project. See how much faster you move. Don’t wait until the CLI is completely unsupported to start learning the Expo way. The ecosystem has moved, and honestly? The water is much warmer over here. Host: Alex Chan The water is warmer in Expo—I love it! Jordan, thank you so much for sharing your expertise. Where can people find you if they want to follow your work or see your deep dives into React Native? Guest: Jordan Vance You can find me on X—or Twitter, I guess—at @JVanceDev, or check out my blog at JordanVance.tech where I’m currently doing a series on migrating legacy CLI apps to Expo. Host: Alex Chan Perfect. We’ll put those links in the show notes.

Tags

React Frontend open-source react-native mobile development cli expo