WebSQL, WebStorage oder Indexd DB? iPhone App

Sithys

Captain Pro
Registriert
Dez. 2010
Beiträge
3.484
Hallo und guten Morgen zusammen,
ich bin noch relativ neu in dem ganzen Thema Apps. Fakt ist: Ich programmiere gerade eine App für iOS und Android mit HTML5. Nun brauche ich aber für den Login eine Datenbank und eine Abfrage an den Server (die Abfrage ist kein Problem).

Meine Frage ist:
Welche von den oben genannten Datenbanken soll ich denn nun nehmen?

Ich bin leider etwas ratlos und weiß nicht genau, worin sich die Typen unterscheiden. Ich habe zwar einige Gegenüberstellungen im Netz gefunden (bspw.: http://www.html5rocks.com/en/features/storage) Aber so richtig schlau werde ich daraus leider nicht.

Die App hat in etwa folgende Funktionsweise:

- User loggt sich mit seinem Benutzernamen und Passwort ein (Abfrage auf Server ob Daten korrekt, anlegen einer Kopie in der lokalen Datenbank, damit auch eine Offlinenutzung möglich ist).
- User kann Videos aufnehmen, die zu seinem Profil gespeichert werden und diese an den Server senden.
- User kann Videos herunterladen, und auf seinem Endgerät speichern.

Das ist jetzt wirklich mehr als grob beschrieben, aber ich wüsste nicht, was für Euch noch relevant ist. Wenn Informationen fehlen bitte ich darum, eben kurz bescheid zu sagen, ich reiche gerne nach.

Die Datenbank sollte also in der Lage sein performant zu arbeiten, auch bei vielen Datensätzen (könnten auch irgendwann mal 100.000) sein und möglichst eine Struktur ähnlich einer MySQL DB haben (hier bringe ich zumindest Gewisse Kenntnisse mit, die es mir dann einfacher machen würden).

Vielleicht hat noch jemand einen Link für mich, wo die Datenbank in einer Tabelle gegenübergestellt werden?

Würde mich über Antworten freuen!

PS: Daaron ist doch bestimmt online :p
 
LocalStorage hat nur wenige MB Platz und kann nur Strings speichern. Das ist für kleine Dinge wie Anmelde-Infos gut, welche man schnell beim Start braucht.
WebSQL (ist im Grunde eine SQLite Datenbank) wird nur von Webkit-Browsern unterstützt. Firefox und der IE werden es vermutlich nie für Web-Content unterstützen. WebSQL hat schon mehr Platz und alle Vor- und Nachteile von SQL Datenbanken. Die API ist auch recht überschaubar.
IndexdDB wird von den Desktop Browsern unterstützt, aber nur den neusten Mobil-Browsern. Das ist ne Art NoSQL (Key-Value) Datenbank und kann z.B. JavaScript Objekte Speichern, ohne sie vorher zu serialisieren. Nur ist die API ziemlich übel und schwer zu nutzen.

Willst du letztendlich Videos in der DB speichern? Mit IndexdDB geht das vielleicht per Blob, aber keine Ahnung, ob das zuverlässig läuft. WebSQL hat (soweit ich weiß) kein Support für Daten-Blobs.
Aktuell kenne ich keine Technik um Videos zuverlässig offline zu Speichern bzw. nur mit Dingen wie Cordova/Phonegap, denn da hat man zugriff aufs Dateisystem.
 
Du kannst die Videos doch auf der SD-Karte des Mobilgerätes speichern und nur den Pfad zum Video in die DB nebst nem Vermerk "synchronisier mich" speichern. Wozu das Rad neu erfinden, Cloud-Storage für Fotos etc. dürfte ähnlich funktionieren.
 
Zurück
Oben