Content-space.de

The WikiBlog of Michael Hamann about changing technologies and more

User Tools

Site Tools


events:bc0711:webapplikationen_ohne_offline_grenze

Barcamp Stuttgart: Webapplikationenn ohne "Offline-Grenze"

Tobias Günther von www.puremedia-online.de spricht über offline-Applikationen im Web-Bereich.

Web-Applikationen können im Vergleich zu Desktop-Applikationen nur online genutzt werden, es sei denn jetzt: Offline-fähige Desktopapplikationen - Offline schließt eine der letzten Lücken zum Desktop!

Komplette statische Seiten können einfach gespeichert werden, Applikationen nicht so einfach, da Datenquelle nötig ist. Sinnvoll für wackelige/instable Verbindungen, aber auch unterwegs, im Flugzeug, beim Kunden… Nicht jede Web-Applikation muss offline-fähig sein. Auch Performance kann ein Kriterium sein.

Beispiele: Google Reader, GearPad, Remember The Milk, Google Docs, Mail Client, CRM, Projektmanagement-Tools, Kalender…

Das Problem ist nicht neu, es gab Dojo Storage, Derby/JavaDB, Zimbra (Derby-based). Heute: Adobe AIR (früher: Apollo), Joyent Slingshot, Apple iPone, Google Gears, Google Gears Mobile.

Adobe AIR: Wirklich eigene offline-Anwendungen in eigener Runtime (muss jeweils installiert werden), damit echte Applikationen ohne Browser. Entwicklung in Flash/Flex oder HTML/Javascript. Vorteile: Zugriff auf Systemresourcen, Taskbar, Autostart…

Joyent Slingshot (Ruby on Rails) - einheitliche und gewohnte Entwicklungsplattform, ansonsten wie Adobe AIR.

Apple iPhone - JavaScript-API (Webkit/HTML5 Spec) - mit Datenbank, Transaktionen…

Weitere/Bald: Mozilla Prism, Microsoft Silverlight (mobile Endgeräte, dann offline-Support), Webkit (Safari) und Firefox 3 eigene Schichten, HTML5 Working Draft WHATWG - “Client-side database storage”

Google Gears

Ist ein Browser-Plugin für Firefox und Internet Explorer, vermutlich bald auch in Opera und Safari. Google Gears ist OpenSource. Motivation von Google Gears ist, dass Google Apps offline nutzbar ist. Ziel: single industry standard, in allen Browsern verfügbar mit einheitlicher API.

Benötigt insgesamt keine echte Installation, kann schnell installiert werden, niedrige Hürde. Alles bleibt bei Google Gears im Browser, alles ist gleich. Auch bei der Entwicklung werden Standardtechnologien eingesetzt, nur JavaScript ist ein wenig erweitert. Schwerpunkt ist die offline-Nutzung, aber keine sonstige Erweiterung der Browser-Funktionalität.

Google Gears besteht aus drei Komponenten, einem LocalServer (eine Art Webserver), eine Datenbank (SQLite) sowie ein Workerpool für Hintergrundprozesse (ein threading-Modell für JavaScript).

Local Server

Liefert definierte Ressourcen aus einem lokalen Cache aus, egal ob offline oder online. Es gibt eine Variante, die automatisch aktualisert, bei einer anderen muss man manuell aktualisieren. Resourcen müssen definiert werden im JSON-Format.

Datenbank

Echte Datenbank mit allen Features, auch mehrere Datenbanken nutzbar. Sandbox-Modell, d.h. man kann nur auf die eigene Datenbank zugreifen. Nichts neues, aber gut.

Worker Pool

Für ressourcenhungrige Prozesse, das Benutzerinterface bleibt benutzbar. Man kann allerdings nicht auf das DOM zugreifen. Einsatzbereich: Synchronisation, auch für online-Applikationen interessant.

Seit 2-3 Monaten auch mobil (Windows Mobile 5&6) nutzbar, exakt gleich wie auf dem Desktop, aber das Gerät hat natürlich Einschränkungen. Mittlerweile gibt es relativ gute Browser auf mobilen Endgeräten, damit können Web-Technologien genutzt werden.

Mobile Applikationen sind oft offline, Performance nicht so groß, große Datenmengen sind schwierig, Gears hilft, um die wiederholte Übertragung großer Datenmengen zu vermeiden.

Zukunft von Google Gears

Desktop-API: Shortcut Icon, fortsetzbare Uploads, GeoLocation API, noch nicht: ImageManipulation API, Audio API, …

Gears? Oder AIR?

Hängt von der Anwendung/Philosophie ab. Adobe AIR eher auf den Desktop konzentriert, erfordert aber eine aufwändige Installation, während Google Gears auf den Browser konzentriert ist und eine einfache Installation bietet. AIR bietet eine sehr reichhaltige Umgebung, ist aber closed source, während Google Gears weniger Funktionen bietet, aber Open Source.

Synchronisation

Standard: Dojo offline gibt es, Synchronisation ist aber unglaublich individuell, keine fertige Strategie, bleibt dem Entwickler überlassen.

Comments



P L B X S
events/bc0711/webapplikationen_ohne_offline_grenze.txt · Last modified: 2010/10/30 15:39 (external edit)