Firefox 4 baut IndexedDB ein

Die kommende neunte Beta des Firefox 4 soll erstmals die Funktionen für die vom W3C diskutierte Datenbanktechnik IndexedDB enthalten. Damit lassen sich größere Mengen strukturierter Daten in einem einfachen Key-Value-Speicher ablegen.

In Pocket speichern vorlesen Druckansicht 111 Kommentare lesen
Lesezeit: 2 Min.
Von
  • Christian Kirsch

Noch ist die Spezifikation nicht beschlossen, doch die Firefox-Entwickler haben sich entschieden, eine IndexedDB-API in die nächste Version des Web-Browsers einzubauen. Sie soll erstmals mit der in Kürze erscheinenden neunten Beta-Version ausgeliefert werden.

Ob und wie Browser Daten lokal speichern, diskutieren Web-Entwickler seit längerem. Implementierungen des Web-Storage-Modells gibt es inzwischen in allen aktuellen Browsern. Es ist jedoch nur zum Speichern kleinerer Datenmengen gedacht. Das als Alternative für umfangreichere Aufgaben vom W3C vorgeschlagene WebSQL konnte sich jedoch nicht durchsetzen – unter anderem, weil es an das freie SQLite als lokale Datenbank gebunden war. Das W3C hat die Arbeit daran im vergangenen November eingestellt.

IndexedDB soll einerseits simpel zu benutzen sein, indem es auf SQL verzichtet und nur einen einfachen Schlüssel-Wert-Speicher bietet. Andererseits bietet es einen gewissen Komfort durch Indizes, automatisch generierte Schlüssel und Transaktionen. Als Werte lassen sich in einer IndexedDB-Datenbank beliebige JavaScript-Objekte oder Datentypen wie Zahlen und Strings ablegen. Eine Anwendung kommuniziert mit der Datenbank synchron oder asynchron; im zweiten Fall müssen Event-Handler die von der Datenbank eintreffenden Ereignisse verarbeiten.

Die Firefox-Implementierung entspricht noch nicht vollständig dem aktuellen Normierungsstand. So fehlen bislang die synchronen Funktionen, andererseits gibt es eine Methode getAll(), die der Standard nicht kennt. Bislang heißt das zentrale Objekt mozIndexedDB statt IndexedDB, wie es das W3C-Dokument vorsieht. Der Präfix soll die abweichende Implementierung verdeutlichen.

Microsoft hatte kürzlich auf seiner HTML5-Spielwiese seine eigene, beispielhafte Implementierung von IndexedDB veröffentlicht. (ck)