React Native App Development
iOS and Android apps from one TypeScript codebase, sharing types and logic with your web app, shipped through both app stores and maintained after launch.
Talk to us about your projectWe build cross-platform iOS and Android apps with React Native, using Expo where it fits. That means one TypeScript codebase for both platforms, sharing types and logic with your web app and API. We work with startups and established businesses across the UK, from first build through App Store and Google Play review to ongoing maintenance.
What is React Native?
React Native is a framework from Meta for building mobile apps in JavaScript or TypeScript. Unlike a website wrapped in an app shell, it renders real native components, so lists scroll, buttons respond and gestures behave the way iOS and Android users expect.
Expo is a set of tools and services around React Native. It handles builds, signing, push notifications and over-the-air updates, and gives you access to device features like the camera, location and biometrics without writing native code for each. For most apps we start with Expo. When an app needs a native library Expo doesn't cover, we add it with a development build or write a small native module, so Expo doesn't box you in.
React Native or native?
React Native is a good fit for most business and consumer apps: accounts, feeds, forms, bookings, ecommerce, messaging, dashboards. It isn't the right choice for everything, and we'd rather say so up front.
| React Native | Native (Swift / Kotlin) | |
|---|---|---|
| Codebases | One for iOS and Android | Two, usually two specialist teams |
| Sharing with a web app | Types, validation and API clients can be shared | Very little |
| Typical app UI | Native components, smooth when built well | Native components |
| Heavy graphics, 3D, games | Possible, often not the best tool | Better suited |
| Day-one access to new OS features | Sometimes waits for library support | Immediate |
| Hiring later | Any strong TypeScript and React developer can contribute | Separate iOS and Android skills |
Fully native makes sense for games, apps built around intensive real-time audio or video processing, apps that depend on the very latest platform APIs the week they launch, and products where the platform-specific feel is the whole point. If that's your app, we'll tell you, and recommend a native specialist rather than force it.
How does it fit with our web app and API?
This is where React Native earns its keep for a TypeScript business. Our web apps use Next.js and our APIs use NestJS, so the mobile app speaks the same language. We share validation schemas, API types and business logic in a monorepo, which means a change to the API shows up as a type error in the app before it ships, not a crash report afterwards.
Authentication works the same way across web and mobile, using better-auth with secure token storage on the device. If you already have a bespoke web application or a SaaS product, adding a mobile app on top of the same backend is usually far less work than starting from scratch.
What about push notifications and offline use?
Push notifications go through Apple Push Notification service on iOS and Firebase Cloud Messaging on Android. We set up the certificates and keys, handle permission prompts sensibly (asking at a moment that makes sense, not on first launch), and send notifications from your backend through a queue so a slow provider doesn't hold up your API.
Offline support depends on what the app does. For many apps, caching recent data so screens load instantly and show something useful without a signal is enough. For apps used in warehouses, on site or in the field, we store data locally in SQLite and queue changes until the device reconnects, with clear rules for what happens when two people edit the same record.
How does App Store and Google Play submission work?
Both stores review apps before they go live, and both have rules that catch people out. Apple rejects apps that are little more than a website in a wrapper, apps that sell digital goods without using in-app purchase, and apps with incomplete account deletion or privacy information. New personal developer accounts on Google Play must run a closed test with a group of testers before they can publish to production.
We prepare the store listings, privacy declarations and screenshots, submit the builds, and deal with reviewer questions. The developer accounts should be in your organisation's name, with us added as team members, so the app is always yours.
What are over-the-air updates?
With Expo's EAS Update, changes to JavaScript and assets can be pushed straight to users' devices without a new store submission. That's useful for fixing a bug quickly or adjusting copy and layout. Changes to native code, permissions or the app's core purpose still need a full build and review, and the stores expect OTA updates to stay within those limits. We set up separate update channels for staging and production, so updates are tested before they reach real users.
Mobile apps for Shopify stores
For Shopify brands, a branded app can sit on top of the Storefront API, using your existing products, collections, customer accounts and discounts. Checkout runs through Shopify, so payments, taxes and order processing stay where they are. The app adds what a mobile site can't: push notifications for drops and restocks, saved logins and a home screen icon your best customers tap without thinking. It's worth considering once you have a loyal returning audience. See our Shopify development services for the store side.
Our process
- Discovery call: what the app needs to do, who uses it and whether React Native is the right fit.
- Written scope and fixed quote: screens, features and integrations agreed in writing, with a fixed price.
- Build in short iterations: you test real builds on your own phone through TestFlight and Google Play internal testing, pointed at a staging API.
- Review: you and a group of test users try it properly before submission.
- Launch: store listings, submission, review and release.
- Support: maintenance, updates and new features, or a handover to your own developers.
Maintenance as iOS and Android change
Mobile apps need more upkeep than websites. Apple and Google release major OS versions every year, and both stores set minimum SDK requirements that apps must meet to keep shipping updates. React Native and Expo release regularly too, and libraries follow. We keep apps current with planned upgrades rather than waiting until a store deadline forces a rushed one.
FAQs
How much does a React Native app cost?
It depends on the number of screens, features, integrations and whether a backend already exists. Adding an app to an existing API is a very different job from building both. After a discovery call we write a scope and quote a fixed price for it, so the cost is clear before work starts.
Will the app feel native?
Yes, when it's built well. React Native renders real platform components, and we follow each platform's conventions for navigation, gestures and keyboard behaviour. Where an app feels sluggish, it's usually down to how lists, images and animations were built, not React Native itself.
Do we need an Apple developer account?
Yes. You'll need an Apple Developer Program membership and a Google Play developer account, both in your organisation's name. Apple charges an annual fee and Google a one-off fee. We'll walk you through setting them up and add ourselves as team members.
Can you take over an existing React Native app?
Usually. We start with a review of the codebase, its dependencies and how far behind it is on React Native and Expo versions. Some apps need an upgrade path before new features can be added. We'll explain what we find and what it would take before quoting.
Can you update the app without going through the App Store?
For JavaScript and asset changes, yes, using over-the-air updates through Expo. Bug fixes and small changes can reach users without a new review. Anything touching native code, permissions or the app's core purpose still goes through a normal store submission.
If you're planning an iOS and Android app, get in touch and we'll talk through whether React Native is the right fit.