Progressive Web App
A new approach to mobile development
Alex Mihordea & Alex Grigoruta
- what is a PWA?
- development impact
- product impact
- PWA and our VMSs
Hybrid
Native
PWA
2012
2016
PWA
- normal web page with some tricks
- opens in the browser
- behaves like a native app
- does not have all the native capabilities
Let's look at these two apps
Development impact
Build Time
Launch dev environment
Modifying the code
7.9s x 100 = 13m 10s
33.5s x 5 = 2m 37.5s
61.3s x 2 = 2m 2.6s
18m / day / FTE
Hybrid
Native
PWA
- Heavy dev environment
- Heavy dev environment
- Light dev environment
- Test: multiple devices
- Deliver: native file
- Deliver: native file
- Test: multiple devices
- Test: browsers on devices
- Deliver: web app bundle
Dev environment
Hybrid
Native
PWA
- Java
- Objective C or Swift
- Ionic (Angular)
- Javascript Whatever
- PWA concepts
Mobile Java Devs & IOS Devs
2 FTE
Angular & Ionic Devs
React and React Native Devs
1 FTE
Any Javascript Dev
1 FTE
- React Native (React)
Tech stack
- more freedom with specialists
- faster development speed
- can transition to hybrid without full re-write*
Development - How does it fare?
Product impact
Security
Hybrid
Native
PWA
Strong standards imposed by stores
(can bypass)
Strong standards imposed by stores
(can bypass)
Custom standards
Hybrid
Native
PWA
Fully compatible
Dependent on plugins and middleware
- some inconsistencies
Dependent on browser
- no advanced features
- unified look and feel across platforms
Device compatibilty
Hybrid
Native
PWA
- High memory usage
- Best performance
Performance
- Doesn't work offline
- High memory usage
- Fast set-up
- Browers
- Low memory usage
- Fast set-up
Hybrid
Native
PWA
Delivery and installation
Deliverable
- app store restricted
- native file
- 2 versions
Deliverable
- deployment on host
- one version
Installation & Updates
- user prompted
Installation & Updates
- user prompted
Deliverable
- app store restricted
- native file
- 2 versions
Installation & Updates
- user action - 1st install
Product - How does it fare?
- more permissive security
- lacking advanced hardware features
- dependent on browsers
- unified look and feel Apple vs Android
- low memory print
- no app restrictions and no app store
- first install user action only
PWA and our VMSs
When not to use PWAs
- advanced hardware features
- support old phone/browsers
- support just Apple tech
- lots of client-side processing
When are PWAs suited best
- just basic hardware access (eg. camera, GPS)
- mostly Android with Chrome users?
- it needs to work both web & mobile
- needs to work offline
- we need a quick MVP/POC
Some examples
- Ticketing app
- Scheduler with location
- Tracking assets
New initiatives to quickly extend your existing suites with on the field capabilities
Q&A
PWA-webinar
By alexb_90
PWA-webinar
- 552