Warum HTML5 die HMI-Technologie der Zukunft ist
Kommentare

Webspeicherung
Die Webspeicherung ersetzt die alte lokale Speicherung mit Cookies und ist:
Schneller: Nicht jede Anfrage vom Server führt zu einer neuen Datenübertragung
Sicherer: Die Daten sind nur

Webspeicherung

Die Webspeicherung ersetzt die alte lokale Speicherung mit Cookies und ist:

  • Schneller: Nicht jede Anfrage vom Server führt zu einer neuen Datenübertragung
  • Sicherer: Die Daten sind nur auf der speichernden Webseite verfügbar
  • Mächtiger: Die Datenmenge ist nicht so begrenzt wie bei Cookies

Bei der Webspeicherung gibt es zwei Möglichkeiten: Lokale Speicherung (die Daten sind persistent und bleiben lokal auf dem Gerät, solange sie nicht explizit gelöscht werden) oder Sessionspeicherung (die Daten sind nicht persistent und werden beim Schließen des Browserfensters gelöscht). Beide Versionen der Webspeicherung arbeiten mit Key-Value-Paaren. Leider unterstützt die Webspeicherung folgende Features nicht:

  • Indizierung: Das Durchsuchen sehr großer Datenbestände kann die Performance stark beeinträchtigen
  • Transaktionssicherheit bei Datenbanken: Anwendungen können sich gegenseitig die Daten überschreiben. Somit müssen sich diese selbst um die Datenintegrität kümmern
IndexedDB

IndexedDB bietet sowohl schnelles Suchen als auch Transaktionssicherheit. Sie ist weniger komplex aufgebaut als die Web-SQL-Datenbank, die von der W3C im November 2010 eingestellt wurde [2], vermutlich, da weder Microsoft noch Mozilla sie unterstützt haben.

Wie schon der Name suggeriert, unterstützt IndexedDB die Indizierung von Feldern, auf denen häufig gesucht werden muss, was die Performance erhöht. Zudem kann man die gesamte Datenbank, Tabellen und einzelne Spalten sperren und somit die Datenintegrität bei Mehrfachzugriff gewährleisten. IndexedDB benötigt etwas mehr Know-how als Webspeicherung, bietet den Anwendungen aber auch mehr Möglichkeiten beim Umgang mit den Daten.

Wir sollten allerdings berücksichtigen, dass IndexedDB immer noch den Status eines Vorschlags (Proposal) hat und bislang weder Teil der HTML5-Spezifikation ist noch von allen Browsern unterstützt wird. Microsoft hat durchklingen lassen, dass der IE10 IndexedDB wahrscheinlich unterstützen wird, die Unterstützung bei mobilen Browsern ist aktuell noch etwas unklar.

Threading

Für den Webseitenentwickler Craig Buckler ist Threading die wichtigste Neuerung überhaupt in HTML5. Threading wird durch eine Erweiterung in JavaScript zur Verfügung gestellt, die eine Pseudo-Threading-Implementierung namens „Web Worker“ anbietet. Ein Web Worker ist, so Buckler, „eine JavaScript-Datei, die im Hintergrund geladen und ausgeführt wird“ [3].

Web Workers haben nicht auf alle JavaScript-Features Zugriff, sie können weder DOM noch globale Variablen oder Funktionen verwenden [4]. Trotz dieser Einschränkungen ermöglicht Threading einen viel einfacheren Entwurf komplexer HTML5-Anwendungen. Beispielsweise könnte man mit HTML5 eine Anwendung zur Steuerung der Zapfsäule einer Tankstelle schreiben. Die Anwendung müsste u. a. in der Lage sein, die Kreditkarte des Kunden zu lesen, die Verbindung für die Transaktion aufzubauen, die geflossene Benzinmenge aus der Steuerung der Pumpe zu ermitteln und darzustellen.

Abb. 2: JavaScript „Web Worker“ Threads beim Start einer Transaktion an einer Zapfsäule

Ohne Threading wäre solch eine Anwendung komplex und schwerfällig – man müsste den größten Teil der Funktionalität in die zugrunde liegenden C/C++ Services verlagern. Mit der JavaScript-Threading-Unterstützung hingegen kann man die Oberfläche zum größten Teil innerhalb des HMI implementieren und erreicht eine sauber entkoppelte Entwicklung.


Themen der folgenden Seiten:

  • Multimedia
  • Sprachinterface
  • Geräteinteraktion
  • Rendering
  • Canvas
  • WebGL und SVG
  • Die Sandbox
  • Besseres Programmiermodell
  • Semantische Tags
  • Das Document Object Model (DOM)
  • Cascading Style Sheets (CSS3)
Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -