offline web apps

26
Offline Web Offline Web Apps ARTEM TABALIN

Upload: artem-tabalin

Post on 16-Apr-2017

4.421 views

Category:

Software


0 download

TRANSCRIPT

Page 1: Offline Web Apps

Offline Web!Offline Web Apps!

ARTEM TABALIN!

Page 2: Offline Web Apps

Why “Offline Apps”!

No Internet connection!

Poor Internet connection!

Improve performance!

Page 3: Offline Web Apps

Offline Apps Includes!

Offline Storage!data on client-side!

Application cache!html, js, css, images!!

Page 4: Offline Web Apps

Detect status!

•  onLine property!

•  online event!

•  offline event!

Page 5: Offline Web Apps

Offline Storage!History. Web Storage. Web SQL. IndexedDB. File API.!!

Page 6: Offline Web Apps

Offline Storage History!

Cookie

Plugins!

HTML5!Web Storage

IndexedDB Web SQL Filesystem API

20 x 4KB

Page 7: Offline Web Apps

Web Storage!

Key-value pair storage!

Page 8: Offline Web Apps

Web Storage!

Pros & Cons!

•  Simple!

•  Cross-browser!

•  No transactions!

•  Serialization/Deserialization!

•  Limited space ! 5MB

Page 9: Offline Web Apps

Web SQL Database!

SQLite in the browser!

Page 10: Offline Web Apps

Web SQL Database!

Pros & Cons!

•  Relational DB advantages!

•  Browser support!

•  Deprecated!

Page 11: Offline Web Apps

Indexed Database API!NoSQL key-value DB with indexing!

Page 12: Offline Web Apps

Indexed Database API!

Pros & Cons!

•  Transactions support!

•  No size limits (almost)!

•  Cross-browser (almost)!

Page 13: Offline Web Apps

File API!Access to sandboxed virtual file system!

Page 14: Offline Web Apps

File API!

Pros & Cons

•  Store binary content!

•  Browser support!

•  Non-standard!

Page 15: Offline Web Apps

Application Cache!App Cache. Service Workers.!

Page 16: Offline Web Apps

App Cache!Manifest defines resources to be cached!

!

Page 17: Offline Web Apps

App Cache!

Pros & Cons

•  Cross-browser!

•  Lots of pitfalls!

•  Hard to debug!

•  Deprecated!

Page 18: Offline Web Apps

Service Workers!

A script is running in the background!

•  Control over requests & responses!

•  Runs even when website is not open!

•  No access to DOM!

•  HTTPS Only!

Page 19: Offline Web Apps

Service Workers - Register!

1. Register Service Worker!

!

Page 20: Offline Web Apps

Service Workers – Cache!2. Cache resources on install event!

!

Page 21: Offline Web Apps

Service Workers – Fetch!3. Read from cache in fetch event!

!

Page 22: Offline Web Apps

Service Workers!

Pros & Cons

•  Flexible & Powerful!

•  Debugging with DevTools!

•  Browser support!

Page 23: Offline Web Apps

Offline Web Tools!

Page 24: Offline Web Apps

Offline Web Tools!•  Offline.js!

alerts and catches AJAX requests when offline !

•  localForage!localStorage-like API for offline storage !

•  IDBWrapper!cross-browser IndexedDB API wrapper !

•  PouchDB!offline store synchronizing with CouchDB!

!

Page 25: Offline Web Apps

Offline App!

App Cache!

Service Worker!

App Cache & Service Worker!

Offline Storage!

localForage!

IndexedDB (IDBWrapper)!

Conclusion!

Page 26: Offline Web Apps

Thank you!!

Your questions, please!!ARTEM TABALIN!