PWA vs React Native app: which one does your business need?
PWA vs React Native app: honest comparison of cost, offline mode, push notifications on iOS and Android, app stores and device access — and when to pick which.
You want your customers to have "an app". Fair. But before you budget for two stores and a review process, it's worth asking the PWA vs React Native question: do you need a store app, or will a progressive web app (PWA) do the job for less?
Short answer: a PWA wins for catalogs, bookings, dashboards and anything people use occasionally or find through Google. A React Native / Expo app wins when you need store presence, reliable push on iPhone, deep device access or daily use. Let's break it down without the hype.
What each one actually is
A PWA is a website that behaves like an app. It opens in the browser, but users can install it on the home screen, it launches full-screen, caches content to work offline and can send push notifications. One codebase, one URL, no store required.
A React Native / Expo app is a real native app for iOS and Android, built from one shared JavaScript/TypeScript codebase. It's distributed through the App Store and Google Play and has full access to the device: camera, Bluetooth, background tasks, sensors and so on. Expo takes care of a lot of the painful parts — builds, over-the-air updates, store submission.
PWA vs React Native: quick comparison
| PWA | React Native / Expo | |
|---|---|---|
| Where it lives | Browser + home screen | App Store + Google Play |
| Install friction | Android: install prompt from the site; iPhone: Share → Add to Home Screen | Store page, download |
| Updates | Instant, on next visit | Store review (or OTA updates for JS changes) |
| Offline | Yes, via service worker | Yes, full control |
| Push notifications | Android yes; iOS for installed PWAs (16.4+) | Yes, on both platforms |
| Device features | Camera, geolocation, basic sensors | Almost everything |
| SEO / shareable links | Yes, it's a website | No (only the store page) |
| Relative cost | Lower | Higher |
When a PWA is the smart choice
- Your product is mostly content, catalog or forms. Menus, bookings, dashboards, internal tools, loyalty programs — all work great as a PWA.
- You need Google traffic. Every screen of a PWA can be indexed and shared as a link. An app can't.
- You want to test an idea fast. Ship one version, see if people use it, then decide whether native is worth it.
- Your users are occasional. People rarely download an app for something they use once a month. A home-screen shortcut is an easier ask.
- Budget matters. One codebase for web, Android and iOS, no store fees, no review delays.
When you need a React Native / Expo app
- Store presence is part of the product. Some audiences simply search the App Store first.
- Reliable push is critical. Delivery apps, messengers, reminders — push on iOS for PWAs works only after the user installs the app to the home screen, and many never do.
- You need deep device access. Bluetooth devices, background location, NFC, health data, in-app purchases.
- Performance-heavy UI. Complex gestures, animations, maps with lots of live data feel smoother native.
- Daily usage. If people open it every day, the one-time install friction pays off.
Cost and timeline, honestly
A PWA usually costs noticeably less than a native app with the same features. The reasons are simple: one deployment target, no store accounts and reviews, no separate builds per platform, and you often reuse the website you already have.
React Native with Expo closes a big part of that gap compared to writing two separate native apps (Swift + Kotlin). But you still pay for store setup, platform-specific testing, review cycles and the ongoing work of keeping up with new iOS and Android versions.
A practical path many businesses take: start with a PWA, measure, then go native for the features that truly need it. Good architecture makes this cheaper — the API and business logic stay the same. If you're at the idea stage, how to launch an MVP walks through scoping that first version.
What "installable" looks like in code
The core of a PWA is small. A web app manifest tells the browser how to install the app, and a service worker handles caching and offline:
// main.ts — register the service worker once the page has loaded
if ('serviceWorker' in navigator) {
window.addEventListener('load', () => {
navigator.serviceWorker.register('/sw.js')
.catch(err => console.error('SW registration failed', err))
})
}{
"name": "My Shop",
"short_name": "Shop",
"start_url": "/",
"display": "standalone",
"background_color": "#09090b",
"theme_color": "#d4ff3a",
"icons": [{ "src": "/icon-512.png", "sizes": "512x512", "type": "image/png" }]
}That's the skeleton. The real work is in a smart caching strategy, a proper offline experience and push setup — but you can see why a PWA is a lighter lift than a store app.
A quick decision checklist
Answer yes or no:
- Do users need the app daily?
- Is iOS push absolutely critical?
- Do you need Bluetooth, NFC, background tasks or in-app purchases?
- Does your audience expect to find you in the App Store?
Mostly "no"? A PWA is probably your move. Two or more "yes"? Look at React Native / Expo — no cap, it'll save you a rewrite later.
FAQ
Can a PWA be published on Google Play or the App Store?
On Google Play — yes: a PWA can be packaged as a Trusted Web Activity and listed like a regular app. The App Store is stricter: a simple website wrapper is often rejected for "minimum functionality", so if you need to be in the App Store, plan a real app.
Do PWAs work on iPhone?
Yes. Users open the site in Safari and choose Share → Add to Home Screen. Since iOS 16.4, web apps added to the home screen can also receive push notifications — after the user allows them.
Is a React Native app as good as a native one?
For most business apps, users won't notice a difference: React Native renders real native interface components. You get iOS and Android from one codebase — more on that in React Native and Expo explained.
Can my existing website become a PWA?
Often, yes — by adding a manifest, a service worker and an offline strategy. How much work it takes depends on how the site is built.
Not sure yet?
That's normal — the right answer depends on your users, not on trends. Sketch the project in the builder: pick "Mobile app", then switch between the PWA and MVP presets to compare scopes and rough estimates. You can also read more about app development. And if you're still figuring out budgets, check out what drives the cost of a website or app.