Offline First

Hinter dem Begriff “Offline First” verbirgt sich die konsequente Weiterentwicklung des “Mobile First” Gedankens.

Bei mobiler Nutzung einer Webseite oder einer Webapp wird es vorkommen, dass die Internetverbindung abreißen wird. Sei es in großen Bürogebäuden ohne WLAN Zugang, während der Zugfahrt oder im berüchtigten Funkloch. Falls die Verbindung dennoch bestehen bleibt, kann sie für ein flüssiges Arbeiten manchmal dennoch zu langsam sein. Diesen Zustand will der Offline First Ansatz Abhilfe leisten und ein kontinuierliches Weiterarbeiten ermöglichen. Aktuelle Browser implementieren die HTML5 Spezifikationen nun auch in breiter Masse und kann so in realen Projekten verwendet werden. Die HTML5 Spezifikation um die es hauptsächlich geht, nennt sich “Local Storage” (http://www.whatwg.org/specs/webapps/ currentwork/ multipage/offline.html). Also ein Datenspeicher der auch nach dem Verlassen einer Webseite oder dem Schliessen des Browsers, Daten dieser Webseite vorrätig hält. Eine ähnliche Technologie gab und gibt es schon seit langer Zeit. In Form von Cookies können Webseiten unsere virtuellen Einkaufskörbe oder unsere gewünschten Einstellungen speichern. Doch waren und sind Cookies vom verfügbaren Speicherplatz stark eingeschränkt und für größere Anwendungen nicht geeignet.

Design & Konzept für offline Anwendungen

So gut sich der Ansatz zuerst anhört, so schnell kommt man an den Punkt, an dem man sichüberlegt: “Was bringt mir das?”. Einsatz und Entwicklung einer offlinefähigenAnwendungsollten gut geplant und durchkonzeptioniert werden.Lokalen Daten sind zum Beispiel immer Browserspezifisch:Daten die eine Webanwendunglokal auf dem Desktoprechner speichert (etwa einen Entwurf für ein EMail),sind nichtautomatisch auf einem anderen Gerät, mit dem man die gleiche Webanwendung späternochmal ausführt. Auch sollte man für den Fall vorplanen, in dem ein Benutzer keineUnterstützung für lokalen Speicher besitzt oder den Speicher manuell löscht. CrossBrowserKompatibilität sollte eigentlich keine Hürde mehr darstellen, da selbst der Internet Explorer ab derVersion 8 mit dem Begriff Localstorage etwas anfangen kann.Hat man sich um diese Aspekte gekümmert, oder spielen keine Rolle, kann manDesktopähnlicheAnwendungen entwerfen, die auf komplette Datenbanken lokal ohne weiteresnachladen zugreifen können. Ein schnelles Bearbeiten, ehemals komplex und langwierig,kombiniert mit einem synchronisierten Aktualisieren

Anwendungen für Lokale Daten

  • Verfügbarmachen der Webinhalte auch ohne Internetverbindung
  • Zwischenspeichern (Entwürfe)
  • personalisieren von Webanwendungen
  • Beschleunigen des Ladevorgangs der Webseite

Sicherheit

Jede BrowserImplementierungdes Local Storages ist natürlich unterschiedlich. So können dieDaten entsprechend auch mehr oder weniger einfach im Dateisystem des Rechners gefundenwerden. Für kritische Daten sollt also ein geeigneter Schutzmechanismus eingesetzt werdenum unbefugten Zugriffen einen Riegel vorzuschieben.

Technik-Check

Hinter Local Storage verbirgt sich aus technischer Sicht nichts anderes als Name-Value Paare.

  • HTML5 Local Storage
  • Unterstützung in allen gängigen Browsern (IE10+)
  • 5MB Speicher (jeder Browser kann hier seine eigenen Grenzen setzen)
  • Blockierbar durch Benutzer
  • Verschlüssen von kritischen Daten