Most business apps should be built once in React Native and shipped to both stores, and a surprising number should not be apps at all. Native wins when the app leans on the camera, sensors or heavy graphics; a well-built web app wins when nobody will install anything. Here is the decision in the order it should be made.
Updated · 4 min read
The install is the expensive part. A store app needs a listing, review cycles, two developer accounts (the Apple Developer Program is US$99 a year, Google Play a one-time US$25), and a reason for someone to find it and download it. A responsive web application avoids all of that and is where most B2B ordering, booking, account and dashboard tools belong.
An app earns itself when it needs push notifications that reliably reach people, offline use in the field, a place on the home screen, or hardware access the browser does not give. If the honest answer is that an app would feel more serious, build the web version and revisit in a year.
React Native is Meta's open-source framework for building real native apps from a single JavaScript or TypeScript codebase. It renders native interface components rather than a web view, so the result looks and feels like an app built for each platform. Shopify moved its mobile apps to it and said so publicly; Discord ships on it too.
The practical advantage is one team instead of two and materially less than the cost of two native builds. The trade-offs are real but bounded: an occasional native module for something the framework does not cover, and framework upgrades that need attention a couple of times a year. For a business app with forms, lists, accounts and notifications, it is the default.
Build natively, in Swift for iOS and Kotlin for Android, when the app is the product and leans hard on the platform: real-time camera processing, augmented reality, Bluetooth-heavy device control, games and graphics, or deep use of watch, widget and system features. Native also makes sense when you already employ native teams and have no reason to retrain them.
The cost is two codebases, two release trains and two sets of bugs. That is worth paying when the platform capability is the reason the app exists, and expensive vanity when it is not.
A modern web application installs to the home screen, works offline with cached data, and sends push notifications on Android and, since iOS 16.4, on iPhone once it has been added to the home screen. It also sidesteps store review and the 15 to 30 percent commission the stores take on digital purchases.
Reach is the limitation: the user has to add it to the home screen themselves, and most never will. For staff tools, customer portals of record, and anything used mainly at a desk, that limitation does not matter and the web wins on cost and speed of change.
A focused React Native app for a business, with accounts, a handful of core screens, notifications and an admin side, typically lands between CAD $40,000 and $120,000 for the first version, in line with a web application of the same scope. Native doubles much of that. Plan on 3 to 5 months to the stores, with a round of review feedback from Apple built into the schedule.
Then budget for the annual cost of staying in the stores: a new iOS every fall, a new Android every year, and deprecations that each require a release. An app that is not maintained gets removed from the store eventually, which is the one way a web app can never fail.
Yes. Flutter is Google's equivalent and is a capable framework. We default to React Native because it shares a language and a skill set with the web stack, so one team can run the site, the admin and the app. A team that already writes Dart has a good reason to pick Flutter.
Check who will use it. iPhone holds the majority of phones in Canada, but a tool for field staff or a warehouse often lives on cheaper Android devices. React Native makes the question cheap to answer with both; the decision should come from your users, not from a preference.
On Android, yes, and for years. On iPhone, yes since iOS 16.4 in 2023, for web apps the user has added to the home screen. The reach is lower than a store app because of that extra step.
The primary documents the numbers in this guide come from.
In Canada a focused internal tool typically costs CAD $15,000 to $40,000, a customer-facing web application $40,000 to $120,000, and a SaaS product you can charge for $100,000 to $250,000 before the first paying customer. Integrations, user roles and undecided requirements move the number; the count of screens does not.
Custom softwareRedesign when the problem is how the site looks and reads; rebuild when the problem is what the site cannot do. The tell is the workaround list: if the team keeps more than a handful of manual steps, plugins or spreadsheets propping the site up, a redesign buys about a year before the same conversation. Here is how to decide, and what each one costs.
Hiring and costA CAD $120,000 developer costs roughly $155,000 a year once payroll costs, recruiting, equipment, and ramp-up are counted, and buys about 160 usable hours a month whether you use them or not. Here is the honest comparison against a $5,000 monthly retainer, including the cases where hiring wins.
Nockta builds ecommerce, custom software, and Amazon operations for businesses across Ontario and Quebec. See where we work or the full service list.