arrow
Back to learn
Development

Why we love Expo for React Native projects

by Henry Kirkness19 August 2024 5 Min Read

We’ve been working with Expo since day one at Planes. For most of that time, we’ve had a love-hate relationship with it.

Initially, Expo was a dream for setting up new React Native projects, saving us countless headaches in the early stages. 

But as projects neared completion, and we began integrating third parties, Expo would let us down. Integrating third parties such as Mixpanel often required "ejecting"—essentially ripping Expo out of the project, creating more issues than it saved.

But now? Expo has become a tool we genuinely love. 

The past year has seen Expo become far more versatile and powerful. The new module system means we can install any third-party package our clients throw at us.

No more ejecting, no more limitations. 

This upgrade has turned Expo from a sometimes useful tool into an indispensable part of our development process. So, what is Expo and how have we been using it?

What is Expo? 

Expo, is a set of tools and services built around React Native. It provides a managed workflow that eliminates the need for complex native setup and configuration. 

The best part? Expo includes a wide range of pre-built libraries and APIs for common functionalities, such as camera access and push notifications, and it supports hot reloading for instant feedback on changes.

Expo’s key benefits: 

  • Over-the-air updates: push updates to users without needing an App Store review. Watch out: you'll probably only want to do this for small changes to avoid breaking changes between your JS code and your native app.

  • A set of robust and well-maintained modules: like a Camera module and a Device Motion module.

  • Expo Application Services (EAS): This is how they make their money. EAS makes app deployment effortless, and very flexible. It'll manage certificates, build secrets, and has a connection to the stores.

  • Easy react-native-web setup: react-native-web can introduce complexity to your app's source code and configuration, however with Expo you'll have all the tools to build across web, iOS and Android from the second you initialise your project. 

Using Expo to launch a first-of-its-kind fitness app and a new membership proposition

While helping Camilla Lorentzen launch Mila, getting the app to market fast was a top priority. With mobile apps though, the journey from code to a live app can be time-consuming - especially when you’re dealing with multiple platforms (iOS and Android) and death by forms.

We used Expo’s EAS (Expo Application Service) to reliably speed up release, meaning we could get the app into QA’s hands as quickly as possible and out to market ahead of schedule.


While launching the new Dis-loyalty app for Ennsimore, we used Expo to offset the unpredictability that can crop up in mobile projects. Because no matter how good your team is, instability in your release process will always occur, causing unwanted rabbit-holes. The difference isn’t whether you encounter bugs, it’s how you minimise the time and cost of the project.

Expo’s robust framework helped us keep our team small, while managing the usual challenges of mobile development within our release schedule. 

Using Expo to launch a brand-led product 

We’ve been working with Slice, to launch the UK’s first eSIM-only mobile network. One of the standout features of the app is its design, complete with animations that show off Slice’s playful side. Expo, combined with React Native, allowed us to build this flashy front-end without compromising on performance. 

But our love for Expo on this project didn’t stop there. Integrating Android’s eSIM functionality required us to dip into Kotlin. Normally, this kind of native work would demand significant configuration in a typical React Native setup. So much so, you might be scared off using React Native. 

With Expo though, we could focus on writing the necessary code without getting bogged down by the surrounding configuration. This “backdoor” ability to write native code within Expo helped us navigate the usual headaches of a Kotlin integration, and has opened up the possibility of doing this for more than just eSIM.

Expo: a trusty tool 🛠

With its new updates, Expo is now a solid part of our tech stack. 

If you have any questions about using Expo in your next project, want to chat all things React Native or are looking for advice on how to build your product email Henry at henry@planes.agency

I'm the techy-co-founder at Planes. I love working with our developers and clients to solve technical challenges, whether that's through hands-on coding or coaching and support.
Henry
 
Kirkness
henry@planes.agency
Copied to clipboard!
We think you might like
Get more fresh ideas like this in your inbox
Get more fresh ideas like this in your inbox
Pages loaded on average in 1.0s, emitting
~0.46g of CO2
.
homehome
Let's shake things up
For clients
CJ Daniel-Nield
Co-Founder
cj@planes.agency
For careers
Sophie Aspden
People Lead
sophie@planes.agency
Everything else
Say hello
Drop us a line
hey@planes.agency