Decision context: You need to build a mobile sensing app. Which development approach?
| Development time |
1-2 weeks (fastest) |
2-4 weeks |
6-12 weeks (2× platforms) |
| Sensor access |
Limited (Generic Sensor API) |
Same as web app |
Full access (all sensors) |
| Background sensing |
✗ (stops when tab closed) |
Limited (Service Worker) |
✓ (continuous background) |
| Installation |
None (just visit URL) |
Optional (add to home screen) |
Required (app store) |
| Updates |
Instant (just refresh page) |
Automatic (Service Worker) |
Manual (app store approval) |
| Distribution |
Share URL or QR code |
Same |
Apple/Google app stores |
| Offline capability |
✗ (needs network) |
✓ (Service Worker caching) |
✓ (local storage) |
| Cross-platform |
✓ (works everywhere) |
✓ (iOS + Android) |
✗ (separate codebases) |
| Cost |
$5K-10K |
$10K-15K |
$30K-50K per platform |
| App store fees |
None |
None |
$99/year (Apple) + $25 one-time (Google) |
Choose Web App if: - Quick proof-of-concept (< 1 month timeline) - Short-term data collection campaign - No background sensing required - Users only need access during active use - Example: Research study collecting data for 2-4 weeks
Choose PWA if: - Need offline capability (rural areas, intermittent connectivity) - Want app-like experience without app store - Updates need to be instant (no app store approval delay) - Budget allows moderate development ($10-15K) - Example: Participatory sensing for environmental monitoring
Choose Native App if: - Need continuous background sensing (24/7 health monitoring) - Require access to sensors not available to Web APIs (barometer, high-rate IMU) - Critical performance requirements (real-time audio/video processing) - Monetization via app stores - Example: Commercial fitness tracker or medical monitoring app
Real-world scenarios:
Scenario 1: Campus Air Quality Study (3-month research project) → Web App: Launch in 1 week, share QR codes on campus, collect data during semester, no app store complexity.
Scenario 2: City-wide Noise Mapping (ongoing participatory sensing) → PWA: Install to home screen, works offline when internet spotty, auto-updates with new features, no app store fees.
Scenario 3: Clinical Fall Detection (FDA-regulated medical device) → Native App: Full background sensing, access to all sensors, regulatory approval requires app store distribution, performance-critical.
Hybrid approach: Start with PWA for pilot (3-6 months), validate user engagement and data quality, then build native app only if justified by adoption and revenue. Many successful IoT apps launched as PWAs first (Instagram, Twitter started as mobile web before native apps).
Decision tree:
Do you need background sensing?
├─ NO → Web App (simplest, cheapest)
└─ YES → Do you need iOS + Android?
├─ NO (one platform) → Native App
└─ YES → PWA first, then evaluate native based on success