PWA vs native app: why Expo changes everything
The false dilemma: PWA or native?
When launching a digital product, one question keeps coming up: should you build a Progressive Web App (PWA) or a native application? Each side has its arguments. But in 2026, this question has become obsolete thanks to an approach that offers the best of both worlds.
PWA: advantages and limitations
What's good
- No store required: instant deployment via URL, no need to wait for Apple/Google approval
- Single codebase: HTML/CSS/JS, standard web skills are enough
- Instant updates: no need for users to download an update
- Lower cost: no Apple developer fees (\$99/year) or review process
What falls short
- Limited native features: push notifications (still restricted on iOS), Bluetooth, NFC, advanced sensors — PWAs lag behind
- Performance: for complex interfaces, smooth animations, or heavy processing, a PWA can't match native
- No store presence: your users can't find you on the App Store or Play Store — a major discovery channel
- Quality perception: users still perceive an app installed from a store as more "serious" than a web shortcut
Native app: power and constraints
What's good
- Maximum performance: direct hardware access, smooth animations, premium user experience
- All APIs: push notifications, Bluetooth, HealthKit, ARKit, advanced camera, biometric payment
- Store presence: visibility, credibility, organic acquisition channel
- Engagement: native apps have significantly higher retention and engagement rates than PWAs
What falls short
- Cost: developing and maintaining a native app for both iOS AND Android potentially means two teams, two codebases
- Time-to-market: 3 to 6 months minimum before reaching the stores
- Store dependency: review process, commissions (up to 30%), rejection risk
Detailed feature comparison
Here's a comparative table of the technical capabilities of each approach:
| Feature | PWA | Native app | Expo (hybrid) |
|---|---|---|---|
| **Push notifications** | Partial (limited on iOS) | Full | Full |
| **Offline mode** | Yes (Service Workers) | Yes | Yes |
| **Camera** | Basic | Advanced (RAW, pro video) | Advanced |
| **Bluetooth / BLE** | Not supported | Full | Full |
| **NFC** | Limited | Full | Full |
| **Geolocation** | Yes | Yes (background) | Yes (background) |
| **Augmented reality** | WebXR (limited) | ARKit / ARCore | Via native modules |
| **Biometrics (Face ID, etc.)** | No | Yes | Yes |
| **In-app payments** | No | Yes | Yes |
| **HealthKit / Health Connect** | No | Yes | Yes |
| **Animation performance** | 30-60 fps | Constant 60 fps | Constant 60 fps |
| **Bundle size** | 0 (web) | 20-100 MB | 20-80 MB |
| **Store presence** | No | Yes | Yes |
| **Updates without store** | Yes | No (except OTA) | Yes (EAS Update) |
When to choose PWA
PWAs remain an excellent choice in certain specific cases:
- Content sites: media, blogs, documentation — where content is king and native features aren't needed
- Simple internal tools: surveys, checklists, basic employee portals
- Interactive landing pages: temporary marketing experiences that aren't meant to last
- Emerging markets: in countries where smartphone storage is limited and bandwidth is low, a PWA that doesn't require installation is an asset
- Very tight budget: if your budget is under CHF 10,000 and you only need a basic mobile presence
When to choose native
A native application is essential in these situations:
- Health applications: Bluetooth for connected medical devices, HealthKit for health tracking, regulatory compliance
- Fintech and payments: biometrics, enhanced security, digital wallet integration
- IoT and connected objects: Bluetooth Low Energy, NFC, sensor communication
- Immersive experiences: augmented reality, complex animations, real-time image processing
- Consumer applications: where store presence is a major acquisition channel and quality perception is crucial
Expo: why it's the best answer
What if you didn't have to choose? That's exactly what Expo enables — the framework we use at Appik Studio.
Web first, native later
Expo lets you start with web and convert to native applications without rebuilding from scratch. The same React code, the same business logic, the same components — automatically adapted for each platform.
In practice:
1. You launch your product on the web (PWA or standard site). Instant deployment, no store, no review process.
2. Your users test, you iterate, you validate product-market fit.
3. When the time is right, you compile the same code into native iOS and Android apps. No need to start over.
Expo's web support in detail
The Expo ecosystem has invested heavily in web support in recent years. Here's what that means in practice:
- Expo Router provides universal routing (web + native) with deep linking support, nested layouts and tab navigation — all working identically on web and native
- React Native components automatically adapt to the web via react-native-web, which translates native components into semantic HTML elements
- Platform-specific APIs gracefully degrade: for example, expo-camera works on the web via the MediaDevices API, and expo-location uses the browser's Geolocation API
- Expo Router generates a website with server-side rendering (SSR), which is essential for SEO — a major advantage over classic PWAs that are often SPAs without SSR
This isn't a compromise: companies like Shopify, Discord, and Microsoft use React Native (Expo's foundation) in production for millions of users.
Maximum agility
This approach offers unmatched agility:
- No store dependency at launch: ship on the web, iterate freely, no review process or approval delays
- One codebase, all platforms: web, iOS, Android — same team, same code
- Progressive conversion: add native features (push, Bluetooth, camera) as you need them
- Controlled cost: one development instead of three, 30-40% savings vs separate native builds
Cost comparison
Here's a comparative cost estimate for building a typical application (MVP with authentication, notifications, 5-6 screens, backend) depending on the chosen approach:
| Approach | Estimated cost (CHF) | Platforms | Maintenance/year |
|---|---|---|---|
| PWA only | 15,000 - 30,000 | Web only | 2,000 - 5,000 |
| Native iOS app | 25,000 - 50,000 | iOS only | 5,000 - 10,000 |
| Native iOS + Android | 45,000 - 90,000 | iOS + Android | 8,000 - 18,000 |
| Expo (web + iOS + Android) | 25,000 - 50,000 | Web + iOS + Android | 5,000 - 10,000 |
Expo's advantage is clear: for a cost comparable to a single native app, you get all three platforms.
In practice: when to use what?
Start with web if:
- You're validating a concept and need to iterate fast
- Your initial budget is limited
- You don't need specific hardware features
- You want to avoid store constraints at the start
Go native when:
- You've validated product-market fit
- You need reliable push notifications, Bluetooth, or native APIs
- Store presence becomes an important acquisition channel
- Your users expect a premium experience
The key point: with Expo, this transition happens **without throwing away your web code**. It's an evolution, not a rewrite.
Our experience
At Appik Studio, we've been using Expo since its early days. Across 40+ delivered projects, this approach has allowed us to:
- Launch web MVPs in weeks, then convert them to native apps
- Ship simultaneously on iOS, Android, and web with a single team
- Reduce costs by 30-40% compared to separate native development
- Maintain a single codebase, dramatically simplifying maintenance
The PWA vs native debate is outdated. The real question is: which platform to start on, and how to evolve smartly? Expo provides the answer.
Have a project? Let's talk. We'll help you choose the right strategy.
Explore our services: mobile development and web development.