Angular Goes Mobile!
Now With 100% More PWA!
Chris Sevilleja
scotch.io
@chrisoncode
Ado Kukic
auth0.com
@kukicado
53%
43%
4%
Global Device Usage
https://bit.ly/2yXO9t3
44%
47%
8%
USA Device Usage
https://bit.ly/2vI6PwJ
20%
Mobile Only Device Usage
http://www.pewinternet.org/fact-sheet/mobile/
87%
Facebook Ad Revenue
https://bit.ly/2vDpV78
So you're thinking about going mobile...
...Native Mobile
...Hybrid Mobile
...Mobile Web
Capabilities
Platforms
...Progressive Web App
What are PWAs
Progressive
Responsive
Connectivity independent
App-like
Safe
Fresh
Discoverable
Re-engageable
Installable
Linkable
Capabilities
Platforms
Capabilities
Platforms
Components of a PWA
Manifest
Service Worker
App Shell
...in the Wild
...rebuilt their mobile site as a PWA and core engagements increase by 60% as well as 44% increase in user generated ad revenue
...cut load times from 11.91s to 4.69s. The PWA is also 90% smaller than the native Android app.
...PWA designed for 2G connections. Only 50kb gzipped, loads in less than 3s.
...PWA install banners convert 5-6X more often than native install banners.
3s
Performance Matters
5s
FMP
TTI
P
R
P
L
ush
ender
re-cache
azy-load
% of Mobile Users that Leave After 3s?
Text
53%
% of connections over 2G or 3G?
75%
Let's Maths!
50 kb/s
3G Connection
5s
Goal TTI
1.5s
DNS/Connection Stuff
3.5s
Download/Parse/Compile/Execute
Bundle Size Goal
~170kb
Let's Build...
Something
Cool
Serverless
Someone else's servers
autoscale + no idle costs
+
ng add @angular/pwa
Installed packages for tooling via npm.
CREATE ngsw-config.json (392 bytes)
CREATE src/assets/icons/icon-128x128.png (1253 bytes)
CREATE src/assets/icons/icon-144x144.png (1394 bytes)
CREATE src/assets/icons/icon-152x152.png (1427 bytes)
CREATE src/assets/icons/icon-192x192.png (1790 bytes)
CREATE src/assets/icons/icon-384x384.png (3557 bytes)
CREATE src/assets/icons/icon-512x512.png (5008 bytes)
CREATE src/assets/icons/icon-72x72.png (792 bytes)
CREATE src/assets/icons/icon-96x96.png (958 bytes)
CREATE src/manifest.json (1071 bytes)
UPDATE angular.json (3565 bytes)
UPDATE package.json (1405 bytes)
UPDATE src/app/app.module.ts (1153 bytes)
UPDATE src/index.html (385 bytes)
Let's See It In Action
Security Considerations
Same as traditional Single Page Application
Which means...
...universal login page
...OAuth 2.0 Implicit Grant
...not storing JWT in browser
Summary
PWAs are Mobile Web Apps on Steroids
Summary
PWAs will get better over time as the web evolves
Summary
Adding PWA capabilities to your Angular app is easy
Thank You!
@chrisoncode
@kukicado
Angular Goes Mobile
By Ado Kukic
Angular Goes Mobile
- 683