Eine moderne Web Anwendung ohne Unterstützung der Paradigmen „Mobile-First“ und „Offline-First“ scheint heute kaum noch denkbar. Was aber genau verbirgt sich hinter diesen Begriffen und wie lässt sich das ganze realisieren? Reicht es aus, einfach nur das richtige Framework zu verwenden? Oder geht es evtl. nicht doch um deutlich mehr als nur Buzzword-Bingo? Fragen über Fragen, die auf eine Antwort warten.
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“
Mobile- & Offline-First: Mehr als nur Buzzword-Bingo
1. Lars Röwekamp | CIO New Technologies | open knowledge GmbH
Mehr als nur Buzzword-Bingo
Mobile & Offline First
#WISSENTEILEN
@_openKnowledge | @mobileLarson
3. ÜBER MICH
Wer bin ich - und wenn ja, wie viele?
• CIO New Technologies
• Enterprise & Mobile
• Autor, Speaker, Coach & Mentor
• Snowboard & MTB Enthusiast
• Mehrfacher Vater, einfacher Ehemann
Lars Röwekamp (a.k.a. @mobileLarson)
LR
#WISSENTEILEN
36. Offline-first:
Offline ist kein Fehler sondern
einer von mehreren gültigen
Zuständen der Anwendung.
*
*Wi-Fi, LTE, 4G, 3G, Edge, GPS, Bluetooth, RFID
#WISSENTEILEN
37. Offline-first:
Offline ist der Default-Status der
Anwendung. Online ist lediglich
ein “nettes“ Enhancement.*
*für ausgewählte Szenarien
#WISSENTEILEN
68. Web Storages
einfache Key/Value Storages
Session oder Local Storage
auch offline verfügbar
get / set / remove
clear / length
#WISSENTEILEN
69. Web Storages GOTCHAS
#01: synchrone API
#02: nur Strings als Values
#03: kein Index, keine QL
#04: 2-10Mb Speicherlimit
#05: Security Issues bei Local Storage
*
* https://github.com/bebraw/jswiki/wiki/Storage-libraries/
#WISSENTEILEN
70. Indexed DB
NoSQL Datenbank für Web Apps
speichert beliebige Objekte
Object Stores als Basis
Key / Object Records
TX & Cursor
#WISSENTEILEN
71. Indexed DB GOTCHAS
#01: komplex
#02: Pending TX bei Browser Shutdown
...
#99: Synchronization
*
*localForage (https://github.com/mozilla/localforage)
#WISSENTEILEN
75. PouchDB
Open-Source JavaScript In-Browser DB
Sync via Couch Replication Protocol
nutzt Indexed DB (o. Web SQL)
funktioniert online und offline
extrem klein (46KB)
#WISSENTEILEN
95. #WISSENTEILEN
Customer-first:
a.k.a. „Best of both Worlds“
Anwendung ist jederzeit nutzbar.
Keine Datenverluste falls offline.
Dank Caches & Co extrem schnell!
Sinnvolle Use-Cases evaluieren.
Omni-Channel statt Multi-Channel!