Opinion
5 min read

Expo Is No Longer Optional for React Native Developers

Expo isn't a shortcut anymore. It's the default. Here's why resisting it is slowing your team down.

December 22, 2025

Expo Is No Longer Optional for React Native Developers

There was a time when choosing Expo felt like choosing training wheels. Real developers used the React Native CLI, managed their own native code, and dealt with Xcode crashes like battle scars. Expo was for beginners, tutorials, and quick prototypes you'd never ship.

That time is over.

In June 2024, the React Native team made it official: they now recommend using a framework like Expo to build React Native apps. This wasn't a gentle suggestion. Nicola Corti, a software engineer at Meta, put it plainly: "We believe the developer experience offered by Expo is best in class."

So if you're still spinning up projects with the bare React Native CLI, you're not proving anything. You're just making your life harder.

The New Architecture Changed Everything

For years, React Native's internals were showing their age. The bridge was slow, native module integration was clunky, and performance-sensitive apps had to work around the framework instead of with it. The community talked about a "New Architecture" for so long it became a meme.

Then React Native 0.76 shipped in October 2024 with the New Architecture enabled by default. Fabric, the new renderer. TurboModules for faster native calls. Codegen for type-safe bridges. The rewrite was real.

And Expo was ready. With SDK 52, new Expo projects come with the New Architecture turned on out of the box. As of SDK 53, every expo-* package supports the new architecture. According to Expo's own data, around 75% of SDK 52+ projects built with EAS Build are already running on it.

The teams that stayed on the bare CLI? They're scrambling to migrate. They're debugging interop layers and hunting down incompatible libraries. Meanwhile, Expo users just ran npx create-expo-app and moved on.

Expo Isn't Limiting Anymore

The old knock on Expo was that you'd eventually "eject" once your app got serious. You'd need a custom native module, or some third-party SDK that required linking, and suddenly you'd be knee-deep in Xcode project files.

That's not how Expo works anymore.

Expo's development builds let you include any native code you want while keeping Expo's tooling. Need Stripe? Add it. Need a custom video player? Wire it up. The days of "Expo can't do that" are largely behind us.

And let's talk about Expo Router. File-based routing for React Native, modeled after Next.js, has become the standard for navigation in modern Expo apps. It's intuitive, scalable, and just works. If you're still manually configuring React Navigation stacks in every new project, you're wasting time that could go toward building features.

What You Actually Get

When you adopt Expo as your default, here's what you're signing up for:

Faster iteration. Expo Go lets you test on physical devices without a build step. Development builds give you hot reloading with native modules. EAS Update pushes changes over the air. The feedback loop tightens dramatically.

Less infrastructure. EAS Build handles iOS and Android compilation in the cloud. You don't need a Mac to ship to the App Store. You don't need to babysit CI runners. The build system is someone else's problem.

A maintained ecosystem. Expo's team actively maintains core packages, keeps up with React Native releases, and provides clear upgrade paths. When the New Architecture landed, they had support ready. When libraries broke, they fixed them or documented workarounds.

Universal apps. Expo runs on iOS, Android, and the web from a single codebase. If you ever want to add a web version of your mobile app, it's a flag flip, not a rewrite.

The Holdouts

Some teams still resist. Maybe they have a massive existing native codebase. Maybe they've got some very specific build requirements. Maybe they just learned React Native in 2018 and never updated their mental model.

Those are edge cases. For the vast majority of new projects, starting with bare React Native in 2025 is like refusing to use npm because you prefer manually downloading libraries. You can do it. Nobody's stopping you. But why?

The React Native team isn't subtle about this. Their documentation steers you toward frameworks. The official recommendation is Expo. The writing is on the wall.

Where This Is Headed

The legacy architecture won't last forever. The React Native team has hinted it could be removed in a late 2025 release. When that happens, if you're not on the New Architecture, you won't be able to upgrade React Native or the Expo SDK at all.

Expo's already ahead of that curve. They're actively building the future of React Native development, and they're doing it in a way that doesn't require you to become an iOS or Android specialist just to ship a mobile app.

If you're starting a new React Native project today, start with Expo. If you're maintaining an old bare project, consider migrating. The tooling is better. The ecosystem support is stronger. The React Native team is pointing you in this direction.

Expo isn't the shortcut anymore. It's the path.

If you want to see how fast modern Expo development can feel, Nucleate takes it further. You get a full Expo environment in your browser with AI assistance, Git integration, and the ability to go from prototype to production without switching tools. It's what starting a React Native project should feel like in 2025.

Tags

exporeact-native

Enjoyed this post?

Subscribe to get the latest insights on React Native development and AI-powered prototyping.