Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Going Progressive with Ember
Search
Samanta de Barros
March 28, 2017
Programming
780
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Going Progressive with Ember
Samanta de Barros
March 28, 2017
Other Decks in Programming
See All in Programming
【加筆修正版】Laravel のアプリケーションをどこにデプロイするか #phpcon_ehime
akase244
0
160
우리의 Nitro Modules는 당신의 Turbo Modules보다 아름답다
l2hyunwoo
0
220
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
410
自作Discord音声botをLambda MicroVMsに移行した話 / Migrating My Discord Voice Bot to Lambda MicroVMs
akihisaikeda
0
150
エージェントを使い続けるためのメタワーク / Meta-work for keeping using the agent
rkaga
6
1.9k
조합이폭발하는디자인시스템이걸눈으로도테스트하라고요
giljongyu
0
560
PumaからFalconに移行したRailsアプリケーションでの実践
falcon8823
0
220
Lambda durable functionsでHuman in the Loopを楽に…楽に……
har1101
1
200
Seven New Principles of Software Engineering
yegor256
0
310
Long Living Tokens, Die, Die, Die! (or: The One Ring is Banned in Modern)
sylph01
0
370
Jetpack Compose Mechanisms
skydoves
3
870
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Kaigi on Rails 2026, Tokyo, Japan
marcoroth
2
340
Featured
See All Featured
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
530
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
1.1k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.9k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
3.5k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
33
5.4k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
A designer walks into a library…
pauljervisheath
211
25k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3.2k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
1
580
Navigating Team Friction
lara
192
16k
Navigating Weather and Climate Data
rabernat
0
560
My Coaching Mixtape
mlcsv
0
360
Transcript
GOING PROGRESSIVE WITH SAMANTA DE BARROS EMBERCONF 2017
+
PROGRESSIVE WEB APP CARMELO, URUGUAY
“Progressive Web Apps take advantage of new technologies to bring
the best of mobile sites & native apps to users. They’re reliable, fast, and engaging. They originate from a secure origin and load regardless of network state.“ - Addy Osmani
I HAVE A DREAM…
None
None
None
None
PROGRESSIVE WEB APP? LA PEDRERA, URUGUAY
LOOKS GOOD
LOOKS GOOD INSTALLS ON DEVICE
LOOKS GOOD INSTALLS ON DEVICE WORKS OFFLINE
LOOKS GOOD INSTALLS ON DEVICE WORKS OFFLINE WORKS FAST
PUNTA DEL ESTE, URUGUAY LOOKS GOOD?
NATIVE VS WEB
PUNTA DEL DIABLO, URUGUAY INSTALLS ON DEVICE?
THE WEB APP MANIFEST
None
None
None
None
None
BEFORE
AFTER
None
None
BEFORE
AFTER
None
ember-web-app Generates App Manifest and iOS tags from config file
github: san650/ember-web-app
config/manifest.js
LOOKS GOOD INSTALLS ON DEVICE WORKS OFFLINE WORKS FAST
WORKS OFFLINE? LA PEDRERA, URUGUAY
None
THE SERVICE WORKER
It’s a script Runs in the background Doesn't need a
web page or user interaction
None
None
None
None
SAVE ASSETS ON INSTALL EVENT
SAVE ASSETS ON INSTALL EVENT INTERCEPT EVERY REQUEST
SAVE ASSETS ON INSTALL EVENT INTERCEPT EVERY REQUEST BACKGROUND SYNC
SAVE ASSETS ON INSTALL EVENT INTERCEPT EVERY REQUEST BACKGROUND SYNC
PUSH NOTIFICATIONS
SAVE ASSETS ON INSTALL EVENT INTERCEPT EVERY REQUEST BACKGROUND SYNC
PUSH NOTIFICATIONS ALL YOU CAN DREAM OF
ember-service-worker broccoli-serviceworker
ember-service-worker Plugable approach Base addon just registers SW Add plugins
for different cache strategies github: dockyard/ember-service-worker
ember-service-worker ember-service-worker-index ember-service-worker-asset-cache ember-service-worker-cache-fallback
broccoli-serviceworker Generates SW based on configuration Pre-caches app files by
default github: jkleinsc/broccoli-serviceworker
app/config/environment.js
None
None
None
None
BEFORE
AFTER
AFTER
None
Chrome 37.7% MOBILE BROWSER USAGE WORLDWIDE Safari 22.2% Firefox 0.1%
IE 0.1% Samsung Internet 5.4% Opera 8.6% http://gs.statcounter.com/browser-market-share/mobile-tablet/worldwide/#monthly-201602-201702-bar
MOBILE BROWSER USAGE Safari 55.9% Chrome 31.4% USA http://gs.statcounter.com/browser-market-share/mobile-tablet/united-states-of-america/#monthly-201602-201702-bar
None
THE APPLICATION CACHE
None
None
None
None
Generates appcache manifest with app resources Can be configured to
ignore certain paths broccoli-manifest github: racido/broccoli-manifest
app/config/environment.js
USER DATA OFFLINE?
LOCAL STORAGE
LOCAL STORAGE WEBSQL
LOCAL STORAGE WEBSQL INDEXED DB
LOCAL STORAGE WEBSQL INDEXED DB LOCAL FORAGE (WRAPS ALL 3)
ember-localstorage-adapter ember-localforage-adapter ember-pouch
ember-localstorage-adapter Ember data adapter for local storage Local storage: key/value
pair store, works with strings github: locks/ember-localstorage-adapter
ember-localforage-adapter github: genkgo/ember-localforage-adapter Ember data adapter for local forage LocalForage:
wrapper for indexedDb and WebSQL that falls back to local storage
ember-pouch Ember Data for PouchDB/ CouchDB Saves data client side
to IndexedDB or WebSQL Can sync to PouchDB github: nolanlawson/ember-pouch
LOOKS GOOD INSTALLS ON DEVICE WORKS OFFLINE WORKS FAST
DOES IT WORK FAST? MONTEVIDEO, URUGUAY
NATIVE VS PWA
FIRST PAGE RENDER
ember-cli-fastboot Server side rendering Still beta github: ember-fastboot/ember-cli-fastboot
SECOND PAGE RENDER
Service Worker / App Cache
TIME TO INTERACTION
Allows composition of apps into a single app Lazy loading
of engines ember-engines github: ember-engines/ember-engines
TOOLS JOSE IGNACIO, URUGUAY
LIGHTHOUSE
None
None
web manifest + service worker + app cache
None
+ fastboot
None
+ ember-engines?
None
BACK TO THAT DREAM… PUNTA DEL ESTE, URUGUAY
1. IT IS POSSIBLE
1. IT IS POSSIBLE 2. IT IS DOABLE WITH EMBER
1. IT IS POSSIBLE 2. IT IS DOABLE WITH EMBER
3. IT CAN GET EVEN BETTER
WE NEED YOUR HELP!
THANKS! @sami_dbc @sdebarros CABO POLONIO, URUGUAY