Julien Evano
Head of Engineering @IXUP_Limited prev @datarepublicans @Cashwerkz. Advisory Board Member @Leezair 🏄♂️
Julien Evano
Tech Lead - Software Engineer
2
@Cashwerkz
@Leezair
@julienevano
julienevano
Budget Forecast
Sydney Expat Guide
Music Queue Player
Ionic 2
Angular 2
Firebase 3
Webpack
Ionic
AngularJS
Gulp
Objective-C
julienevano
Hybrid & PWA
Hybrid
Native
Native
Native JS
Hybrid
P.W.A
Distribution
Capabilities
Performance
Productivity
Native
Native JS
Hybrid
P.W.A.
Capabilities
Performance
No single strategy has to be used in isolation
There’s no one-size-fits-all
https://youtu.be/FP1w89F5OtI
Productivity
Distribution
Native
Native JS
Hybrid
P.W.A.
Framework
Language
Number of team profiles
Code base & Build
NativeScript
or
ReactNative
Cordova
or
Phonegap
Any Web framework
with native like capability
HTML
CSS subset
JS / TS
HTML
CSS
JS / TS
HTML
CSS
JS / TS
Multiple
Single
Single
Single
3
1
1
1
Native
Native JS
Hybrid
P.W.A.
UI components
Native API
Offline
Push notification
Native
HTML, CSS, JS
in WebView
HTML, CSS, JS
Yes
Yes
Yes
Yes
Yes
Only Android for now
Yes
Yes
Yes
Yes
Native
Yes
Yes
No
Native
Native JS
Hybrid
P.W.A.
Installation / Update
Searchability
Store
Web
Store
Web via Website
Web
1st time experience
Installation = friction = abandonment
Native experience
on the web
# Install ionic tools
$ npm install -g ionic
# Create Ionic 2 project
$ ionic start AngularHackDayIonic2PWA --v2
# Build the project
$ ionic build
http://ionicframework.com/docs/v2/getting-started/installation/
{
"name": "Angular Hack Day Ionic 2 PWA",
"short_name": "AngularHackDay",
"description": "Ionic 2 PWA demo for Angular Hack Day - Sydney",
"start_url": "index.html",
"display": "standalone",
"orientation": "portrait",
"background_color": "#79C273",
"theme_color": "#79C273",
"icons": [{
"src": "../resources/android/icon/drawable-ldpi-icon.png",
"sizes": "36x36",
"type": "image/png"
},
...
],
"related_applications": [{
"platform": "web",
"url": "https://.../"
}]
}
https://developer.mozilla.org/en-US/Add-ons/WebExtensions/manifest.json
Enable home screen install
https://developers.google.com/web/fundamentals/getting-started/primers/service-workers
Enable offline capability
https://serviceworke.rs/
https://developers.google.com/web/fundamentals/instant-and-offline/service-worker/lifecycle
https://developers.google.com/web/fundamentals/instant-and-offline/service-worker/lifecycle
https://developer.mozilla.org/en-US/docs/Web/HTML/Using_the_application_cache
As a fallback
https://goo.gl/ec1p6N
https://developers.google.com/web/fundamentals/architecture/app-shell
Enable instant loading
https://github.com/julienevano/angularhackday-ionic2-pwa-demo
@julienevano
julienevano
julienevano
By Julien Evano
Ionic 2 allows you to create hybrid (installed as native app) and progressive web app from a single code base. Webpack optimises the the builds for you and reduce the size of the app to a maximum. Angular Hack Day - Sydney, Australia - 5th November 2016 - http://angularhackday.com/sydney/
Head of Engineering @IXUP_Limited prev @datarepublicans @Cashwerkz. Advisory Board Member @Leezair 🏄♂️