Skip to content
Vijay Gojiya
All services

React Native

React Native app development

One TypeScript codebase, iOS and Android together, taken from an empty folder to both stores.

React Native is the thing I have done every working day for five years. Six apps built with it are live on the App Store and Play Store right now, and I have been on every part of that path: the first commit, the awkward middle where the native layer stops cooperating, and the release notes.

I work in Expo where Expo fits and in a bare workspace where it does not, which is a decision I would rather make with you early than discover late. Managed Expo with EAS Build and EAS Update is the faster road for most products. A bare workspace is the honest answer when the app needs native code that no config plugin can reach, and I write that native code rather than looking for a library that almost does it.

Everything is TypeScript from the first commit, not added later. That is not a preference I am attached to for its own sake, it is that the apps I have had to rescue were almost always the ones where types arrived after the second year.

What you end up with

  • An app on both stores, under your developer accounts
  • A typed codebase your next developer can read
  • Native modules written where the JavaScript ecosystem has a gap
  • A release pipeline you can run without me
  • Handover notes that describe decisions, not just file names

Where this has shipped

Questions

Expo or bare React Native?

Expo unless something in the app makes it impossible, and less and less makes it impossible each year. With EAS Build and EAS Update you get builds without a Mac in the loop and over-the-air fixes that do not wait on review. I move a project to a bare workspace when it needs native code that no config plugin reaches, and I have written that native code in both Kotlin and Swift, so the decision is not made out of avoidance.

Can React Native really do what a native app does?

For the overwhelming majority of products, yes, and where it cannot the answer is a native module rather than a second codebase. I have shipped offline video download, deep linking on both platforms, live event traffic, payments through three different gateways and a Google Places autocomplete that renders Google own native SDK interface. Each of those is a place where people say React Native cannot, and each one is on a store.

What does an app cost?

It depends on the scope, and anyone quoting before they know the scope is quoting a number they intend to revise. What I can tell you is the shape: I scope a first version in a short paid discovery, give you a fixed price for that version, and bill anything after it monthly. You see a build in your hands every week or two rather than at the end.

Tell me what you are building.

A sentence about the product and where it is stuck is enough to start. I answer every mail myself, including the ones where the answer is that I am not the right person.