Jay's Tech Bites Logo

Expo Is Great for App Development—Until It Isn’t

When Expo Goes Nuclear: The Highs and Lows of React Native Development

Jay McBride
  • Jay McBride
  • 3 min read
A picture of two nuclear reactors one with a react native logo and one with an Expo logo going into meltdown
Image by Jay McBride via ChatGPT.

When we decided to move our mobile app from iOS native to React Native, it felt like a logical step. As a small team of three, we needed to get things done fast—especially when our clients started asking for an Android version to go with our iOS app. With our backgrounds rooted in web technologies, React Native seemed like the clear winner. We looked into other options like Flutter, Xamarin, and Ionic Framework, but in the end, we went all in on React Native, specifically with Expo as our framework of choice.

Why Expo?

Expo made our lives easier right from the start. It offers a managed workflow that takes care of a lot of the heavy lifting in mobile development. We could focus on building features instead of getting bogged down in setup and configuration. The built-in components, the ability to deploy updates quickly, and the streamlined development process were exactly what we needed to keep our small team moving at a good pace. For many projects, especially when you’re under pressure to deliver, Expo’s managed workflow is a dream.

The Reality of Hardware Integrations

But as good as Expo is, it has its limits. Our app needed to integrate with custom hardware, including proprietary barcode scanners that relied on native libraries and BLE (Bluetooth Low Energy). This is where Expo started to show its cracks. One of the biggest challenges was the lack of support for Android Intents out of the box, which are essential for interacting with certain types of hardware devices.

This pushed us into a tricky situation where we had to move a lot of functionality back into native code for each platform and then relay that data back into React Native through JavaScript events. It wasn’t exactly what we had in mind when we opted for Expo, but it was a necessary detour.

Prebuilding for Flexibility

As we navigated these challenges, one of the key decisions we made was to use Expo’s “prebuild” command. This is the newer, more streamlined approach that allows you to create a custom development client without fully ejecting from the Expo ecosystem. By prebuilding, we gained the flexibility we needed to write native code while still enjoying many of the benefits Expo provides. This was a game-changer for us because it meant we didn’t have to abandon Expo entirely—something we really didn’t want to do given how much it had sped up our initial development process.

The Verdict

In the end, despite the late nights and frustrations, Expo helped us bring our MVP to market quickly, which was a huge win. Would we choose the same path if we had to do it all over again? Absolutely. But with a few more battle scars and a lot more knowledge about Expo’s boundaries.

If you’re a developer or part of a small team considering React Native and Expo, I’d say go for it. Expo is an incredible tool that can help you build and deploy apps faster than you might think possible. But be ready for the moment when Expo’s convenience runs up against the real-world demands of custom hardware or other complex integrations. When that happens, knowing how to dig into native code—or how to effectively use prebuild—will make all the difference.

Expo is great for app development—until it isn’t. And when it isn’t, you just need to know how to handle it.

Comment

comments powered by Disqus

Want more insights delivered right to your inbox?

Stay up-to-date with the latest in tech, development tips, and subscribe to my newsletter. Join the growing community of developers and tech enthusiasts today!

Sign up now and never miss a post!
Jay McBride

Written by : Jay McBride

Welcome to Jay’s Tech Bites! I’m Jay McBride, a tech enthusiast breaking down the latest trends in tech. Whether you're tech-savvy or just curious, I’ll keep it simple and interesting. Let’s explore the tech world together, one bite at a time.

Recommended for You

An image of a peddler selling snake oil with an AI logo on it

I Drank the Kool-Aid, and It Made Me Sick

The Truth About Generative AI

5 min read

A photo of a clipboard on a table. Photo by Eco Warrior Princess on Unsplash

Beyond the Clipboard: The Unexpected Challenges of Digitizing Everyday Work

Turning a Simple Task into a Powerful Digital Solution—And What We Learned Along the Way

5 min read