React Native Development

Your React web app,
now on iOS and Android

We build React Native apps for iOS and Android that share code and skills with your React web app, so your web app and your apps move forward together.

Thanks, we’ll be in touch soon.

{{ heroStatus }}

You’re in good company

A few of the companies we’ve worked with.

When the apps fall behind the web

Many businesses have a React web app their team knows well, and mobile apps that live apart from it: built by another team, in other languages, with releases, the updates sent to the stores, planned on a calendar of their own. A feature goes live on the web and waits for the apps. A rule that changes, such as how a price or a delivery date is worked out, has to be changed in each of them. A React Native app built a few years ago can fall behind too: React Native is updated in numbered versions, and each version an app skips makes the next upgrade bigger. Native apps, built for each phone in its maker’s own languages, are still the better fit for some products. For a team that already works in React, React Native can keep the web and the apps on one plan.

What we build

React Native apps for iOS and Android, new or years old, each release tested on real phones before it reaches the stores.

  • Apps for iOS and Android

    New apps written in React and built for both phones, their screens made from each platform’s own views.

  • Apps beside your React web app

    Apps that share your web app’s business rules, the calls to your API and the types that describe your data, so the two move forward together.

  • Moves to React Native, a screen at a time

    React Native screens added to your existing native app one flow at a time, beside the screens it already has.

  • Native code where a feature needs it

    When a feature needs something React Native doesn’t offer, we write that part in each phone’s own language and call it from the app.

  • Upgrades, including the New Architecture

    Older apps moved forward one version at a time onto the New Architecture, the redesigned inner workings every supported version now runs on.

  • Sign-in, payments and notifications

    Connected to your back end and to the services iOS and Android provide for each, and tested on both phones.

  • Apps everyone can use

    Screens that work with each phone’s screen reader and respect the larger text sizes people choose.

  • Releases to the stores

    Store review planned into the schedule, and new versions rolled out in stages, so a release can be paused early if something looks wrong.

  • Smooth lists and quick starts

    Long lists tuned to scroll smoothly and start-up tuned so the app opens quickly, checked in release builds on real phones.

Sharing code and skills with your React web app

React Native apps are written with React, as your web app is, so what your team knows carries over: components, the reusable parts a screen is built from, state, and how data reaches a screen.

The screens are built from React Native’s own components, which become each phone’s own views, so they have the look and feel of the other apps on that phone.

Behind the screens, code such as your business rules, the calls to your API and the types that describe your data can be shared by the web app and the apps, so a rule changed once changes for both.

In your React web app

A function works out the price of an order from its items and the delivery date.

In your React Native apps

The same function, kept in one place, works out the same price in the apps.

Shared as it is

In your React web app

Code asks your API for an order and reads the answer it sends back.

In your React Native apps

The same code, shared with the web app, makes the same call from the apps.

Shared as it is

In your React web app

Types describe what an order holds, so mistakes in the code are caught before it runs.

In your React Native apps

The same types describe the same order in the apps, so both are checked against one description.

Shared as it is

In your React web app

A button made from the browser’s own elements, styled for the web.

In your React Native apps

A button made from React Native’s components, which become each phone’s own views.

Built again, with the same React

In your React web app

A list of orders, laid out for a wide screen and a mouse.

In your React Native apps

A list built from React Native’s own list component, made for long lists on a phone.

Built again, with the same React

In your React web app

A page with its own address, reached by a link and left with the browser’s back button.

In your React Native apps

A screen reached by a tap, with a way back, as phone apps move between screens.

Built again, with the same React

In your React web app

A form whose checks, such as a valid email or a delivery date still to come, run before it’s sent.

In your React Native apps

The same checks, shared, behind a form whose fields are built for phones.

Its checks shared, its screen built for phones

The same React, on the web and on phones

{{ shStatus }}

Kept on a supported React Native version

React Native brings out new versions through the year and supports only the most recent ones. An upgrade can reach the native parts of your app as well as its React code, and the packages your app uses, the ready-made code it builds on, have to be ready for each one. The stores move their bar too: an app that falls behind Google Play’s target level stops being offered to new users on newer Android phones, and Apple decides which tools new uploads must be built with.

We keep your app on a supported version, move it forward one version at a time, replace packages that are no longer looked after, and test on real phones before every release.

Start with a review of your app, or your web app

For an app, the review covers its React Native version and how long that version is supported, whether it runs on the New Architecture, its packages and which of them are still looked after, the next store requirement it has to meet, its crash reports and slowest screens, its accessibility basics and its tests, and how it’s built and released.

No apps yet? For a React web app, the review covers what its code could share with the apps, and the first flow to build for both phones, which you can try on your own phone early on.

Either way, you get a written review under three headings, Keep, Fix and Rebuild, and a proposal for the first step.

  1. Should we build a React Native app or two native apps?

    It depends on what the app relies on. React Native suits apps that share a lot with a React web app, or that should work the same way on both phones and be looked after by one React team. When an app leans on the phone itself, such as heavy camera or sensor work, long tasks in the background or each platform’s newest features as soon as they appear, two native apps are often the better fit, and we’ll say so.

    Mobile Apps
  2. A React Native app or a Flutter™ app?

    Both build iOS and Android apps from one codebase. A Flutter app draws its own screens, so both apps look alike. A React Native app is written with React, so it suits a team that already works in it, and its screens become each phone’s own views. We’ll weigh which fits your team and your app.

    Flutter Development
  3. Can our web developers work on the apps?

    Yes, for much of the work. React Native apps are written with React, so components, state and how data reaches a screen work as your team knows them. What’s new is the phone: screens built from React Native’s components rather than the browser’s, moving between screens, the stores and their releases, and the native parts of an app. We can work alongside your team on those parts.

  4. How much code can we share with our web app?

    What sits behind the screens, such as your business rules, the calls to your API and the types that describe your data, can be shared. The screens themselves are built again for phones, with the same React, because the web and the phone have different building blocks. How much that comes to depends on your app, so the review maps it out, part by part.

  5. Will the apps feel native?

    They’re built from React Native’s components, which become each platform’s own views, the same building blocks the phone’s other apps use. Where iOS and Android do things differently, the app can follow each one, with a part written for each platform where it matters.

  6. Do you use Expo?

    Yes, where it fits. For a new app, React Native’s own documentation recommends starting with a framework, and Expo is the one it names: it adds what React Native leaves open, such as moving between screens. We also work on apps built without one.

  7. Our app is several versions behind. Can you bring it up to date?

    Yes. React Native’s upgrade guide sets out the changes between any two versions, across the app’s React code and its iOS and Android projects. We move the app forward one version at a time, onto the New Architecture where it isn’t yet, update or replace its packages on the way, and test on real phones at each step.

  8. Can you move our native apps to React Native without starting over?

    Yes, a screen or a flow at a time. React Native’s documentation describes adding it to an existing iOS or Android app, so new screens can be written in React Native while the screens you already have stay as they are until their turn comes.

  9. Can you take over our existing React Native app?

    Yes. We read the code, build it and run it on real phones, check its version and its packages, and set out in the review what to keep, fix and rebuild. You decide what comes first.

  10. Who publishes it to the stores?

    Your apps are published under your own developer accounts, and their code and signing keys are yours. We prepare each release for its store and plan store review into the schedule.

  11. Is it accessible?

    It can be, and we check that it is. React Native’s components can tell each phone’s screen reader what every part of a screen is and does, and their text follows the larger sizes people set on their phones unless that’s turned off. We test each release with each phone’s screen reader and at large text sizes.

    Accessibility
  12. Who hosts the back end?

    Your apps reach people through the stores. For the back end they talk to, hosting and the platform beneath your software are a service of their own.

    Cloud, DevOps & Security
  13. How do you keep it secure?

    React Native’s security guide warns that anything in an app’s code can be read by anyone who inspects it, so secrets such as API keys stay on your servers, never in the app, and what the app keeps on the phone is stored according to how sensitive it is. We keep the app on a supported version with packages that are still looked after. Threat modeling, code review and checks in every build sit around that.

    Application Security
  14. What does it cost?

    It depends on what the apps have to do, how much they share with your web app, and whether they’re new or being brought up to date. You get a written proposal before any work starts: the scope, the price or rate, and how you pay.

    Pricing
  15. Can we hire React Native developers for our own team?

    Yes. Within 48 hours of your request we introduce React Native developers suited to your app, all working in your time zone, and the choice of who joins is yours.

    Hire React Native Developers

React and React Native are trademarks of Meta Platforms, Inc. Flutter and the related logos are trademarks of Google LLC. Webair isn’t affiliated with or endorsed by Meta Platforms, Inc., the React Foundation or Google LLC.

Let’s build it better

Tell us about your web app and the apps you need, or the React Native app you run today, and we’ll come back with a plan.

Thanks, we’ll be in touch soon.

{{ ctaStatus }}