Skip to content

PWA Feasibility Study: Replacing Native Mobile & Desktop Apps

Project: Forma3D.Connect
Version: 1.0
Date: January 19, 2026
Status: Research / Proposal


Executive Summary

This document evaluates Progressive Web Apps (PWA) as an alternative to the currently planned Tauri (desktop) and Capacitor (mobile) native shell applications. Based on research conducted in January 2026, PWA technology is highly relevant and well-suited for Forma3D.Connect's use case, potentially eliminating the need for separate mobile and desktop applications.

Recommendation

Adopt PWA as the primary cross-platform strategy, deprecating the planned Tauri desktop and Capacitor mobile apps from the roadmap. The Forma3D.Connect admin dashboard is an ideal PWA candidate: a SaaS-style application focused on data visualization, real-time updates, and notifications rather than heavy device integration.


Current Architecture Plan

As documented in C4_Container.puml:

Container(desktop, "Desktop App", "Tauri, Rust", "Native desktop shell wrapping the web application (future)")
Container(mobile, "Mobile App", "Capacitor", "Mobile shell for on-the-go monitoring (future)")

Both planned apps are essentially WebView wrappers around the existing React web application. This makes them prime candidates for PWA replacement.


PWA Relevance in 2026

Market Position

PWA technology remains highly relevant and growing in 2026:

  • Market CAGR of 30-32% projected through 2034
  • Strong enterprise adoption for admin dashboards, internal tools, and SaaS applications
  • Particularly strong in emerging markets where network/device constraints exist

Key Capabilities (2026)

Feature Status Notes
Offline Support ✅ Mature Service workers with sophisticated caching strategies
Push Notifications ✅ Available Full support on Android; iOS 16.4+ with Home Screen install
Installability ✅ Standard Install from browser, appears in app drawer/dock
Real-time Updates ✅ Works WebSocket/Socket.IO fully supported
Background Sync ⚠️ Limited Available on Chromium; limited on Safari
File System Access ⚠️ Limited Chromium-only; Safari restrictions remain
Badging API ✅ Available Unread count badges on app icons

iOS/Safari PWA Support (Critical Analysis)

Apple's PWA support has significantly improved but retains some limitations:

What Works (iOS 16.4+)

  • ✅ Web Push notifications for Home Screen installed PWAs
  • ✅ Badging API for notification counts
  • ✅ Declarative Web Push (iOS 18.4+) - improved reliability
  • ✅ Screen Wake Lock
  • ✅ Standalone display mode

Limitations

Limitation Impact on Forma3D.Connect Mitigation
Must install to Home Screen for full features Low - one-time user action Clear onboarding guidance
User gesture required for notification permission None - standard UX pattern Button in dashboard settings
No notification sounds/vibration Low - visual notification sufficient N/A
Service worker may be suspended after inactivity Low - dashboard used frequently Declarative Web Push handles this

Assessment

For an admin dashboard like Forma3D.Connect, iOS limitations are acceptable. The primary users (Forma3D operators) will: - Install the PWA once to their Home Screen - Use the app regularly (not affected by inactivity suspensions) - Receive push notifications for order/print job updates


PWA vs Tauri Comparison (Desktop)

Aspect PWA Tauri
Install Size ~0 MB (uses browser) ~3-10 MB
Memory Usage Browser-dependent ~30-50 MB
Development Effort Zero additional Rust backend, build pipelines, signing
Updates Instant (web deployment) Requires new installer/auto-updater
Native File Access Limited (Chromium only) Full
System Tray Not supported Supported
Native Dialogs Web-based alternatives Native
Cross-platform Any browser Windows, macOS, Linux (separate builds)

Tauri Advantages Not Needed

  • Rich file system access: Forma3D.Connect doesn't require local file manipulation
  • System tray: Dashboard is used actively, not as background utility
  • Native performance: Admin dashboard doesn't have performance-critical requirements
  • Rust backend processing: All heavy processing is server-side (NestJS API)

PWA Advantages Critical for Forma3D

  • Zero maintenance overhead: No separate build pipelines, code signing, or distribution
  • Instant updates: Deploy once, all clients updated immediately
  • Lower complexity: Single codebase, single deployment target
  • Browser familiarity: Operators can use existing browser or install as PWA

PWA vs Capacitor Comparison (Mobile)

Aspect PWA Capacitor
App Store Presence Optional (via PWABuilder) Required
App Store Fees None $99/year (Apple) + review process
Native Device APIs Limited but improving Full access via plugins
Camera/Photo Access Available Available
Push Notifications Available (iOS 16.4+) Available
Biometric Auth Web Authentication API Native plugins
Update Cycle Instant App store review (1-7 days)

Capacitor Advantages Not Needed

  • Deep device integration: Dashboard doesn't need NFC, Bluetooth, health sensors
  • App Store discovery: B2B tool for known operators, not consumer app
  • Native UI components: React + Tailwind provides excellent mobile UX

PWA Advantages Critical for Mobile

  • No app store friction: Operators can start using immediately
  • Cross-platform consistency: Same experience on iOS and Android
  • Easier onboarding: Share URL, install from browser

Forma3D.Connect Feature Compatibility

Evaluating current and planned features against PWA capabilities:

Feature PWA Support Notes
Order management dashboard ✅ Full Core web functionality
Product mapping UI ✅ Full Standard CRUD operations
Real-time WebSocket updates ✅ Full Socket.IO works in PWAs
Push notifications (print job status) ✅ Full Web Push API
API key authentication ✅ Full Standard auth patterns
Offline order viewing ✅ Full Service worker caching
Activity logs ✅ Full Standard data display
Toast notifications ✅ Full In-app notifications
QR code scanning (future) ✅ Full Camera API available
Printing shipping labels ⚠️ Partial Browser print dialog; mobile limitations

Only Limitation

Printing shipping labels on mobile: This is inherently challenging on any mobile platform. The standard workflow (print to network printer) works via browser print dialog. For Bluetooth thermal printers, native apps would have advantages, but this is not a primary use case for mobile operators.


Implementation Plan

Phase 1: PWA Foundation (Minimal Effort)

The current React/Vite web app requires only minor additions:

  1. Web App Manifest (manifest.json)

    {
      "name": "Forma3D.Connect",
      "short_name": "Forma3D",
      "start_url": "/",
      "display": "standalone",
      "background_color": "#ffffff",
      "theme_color": "#0066cc",
      "icons": [...]
    }
    

  2. Service Worker (via Vite PWA plugin)

  3. vite-plugin-pwa handles generation
  4. Cache static assets, enable offline access
  5. Precache critical routes

  6. HTTPS (Already implemented)

  7. Required for PWA features

Phase 2: Push Notifications

  1. Implement Web Push API in frontend
  2. Add VAPID key configuration
  3. Backend push notification service (integrate with existing email notifications)
  4. User permission flow in settings

Phase 3: Enhanced Offline Support

  1. IndexedDB for offline data storage
  2. Background sync for queued actions
  3. Optimistic UI updates

Cost-Benefit Analysis

Development Cost Savings

Item Tauri + Capacitor PWA
Initial development 40-80 hours 8-16 hours
CI/CD pipelines 16-24 hours 0 hours
Code signing setup 8-16 hours 0 hours
App store submissions 4-8 hours 0 hours
Ongoing maintenance 4-8 hours/month 0-2 hours/month

Estimated savings: 80-150 hours initial + ongoing maintenance reduction

Complexity Reduction

  • Remove Tauri app from monorepo (apps/desktop)
  • Remove Capacitor app from monorepo (apps/mobile)
  • Single deployment target (web only)
  • No native build environments required (Xcode, Android Studio, Rust toolchain)

Risk Reduction

  • No platform-specific bugs to debug
  • No webview inconsistencies between platforms
  • No app store rejection risks
  • No signing certificate management

Risks and Mitigations

Risk Likelihood Impact Mitigation
Apple further restricts PWAs Low High Monitor WebKit releases; Capacitor fallback possible
User unfamiliarity with PWA install Medium Low Clear onboarding documentation
Browser compatibility issues Low Medium Target modern browsers only; test on Safari
Offline sync conflicts Medium Medium Proper conflict resolution strategy

Decision Framework

Adopt PWA If:

  • ✅ Application is primarily data-driven (dashboard, forms, lists)
  • ✅ Real-time updates needed but not gaming-level performance
  • ✅ Push notifications required
  • ✅ Cross-platform reach is important
  • ✅ Rapid iteration and updates desired
  • ✅ Development resources are limited

All criteria apply to Forma3D.Connect

Keep Native If:

  • ❌ Heavy graphics/3D rendering required
  • ❌ Deep device integration (Bluetooth LE, NFC, sensors)
  • ❌ App store presence essential for marketing
  • ❌ Offline-first with complex sync requirements
  • ❌ Background processing requirements

None of these apply to Forma3D.Connect


Conclusion

PWA technology in 2026 is mature, well-supported, and ideal for Forma3D.Connect. The planned Tauri and Capacitor apps would add significant development and maintenance overhead while providing no meaningful advantages for an admin dashboard application.

  1. Add PWA support to the existing web application (Phase 1)
  2. Implement push notifications for print job and order status updates (Phase 2)
  3. Remove apps/desktop and apps/mobile from the project roadmap
  4. Update C4 Container diagram to reflect PWA-only architecture
  5. Create ADR documenting this architectural decision

References


Appendix: Updated C4 Container Diagram (Proposed)

uml diagram