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
- 620