Hallo ebody,
- Würdet ihr JSON, SQLite oder etwas anderes für eine solche Anwendung verwenden?
JSON oder etwas anderes. Je nach den Erfordernissen.
Wenn Deine Webanwendung ein Google Spreadsheet ausliest, dann wird sie das Ergebnis vermutlich nicht speichern, sondern bei Bedarf neu auslesen. Und dann nach dem Auslesen direkt verarbeiten. Ich würde hier keinen Sinn darin sehen, die Daten überhaupt zu speichern.
Einen Filter kannst Du auch anwenden wenn es ein JSON-Objekt ist - vermutlich enthält das ein Array aus Spreadsheet-Zeilen, und das kannst Du mit der [filter-Methode] auf die gewünschten Zeilen reduzieren.
Wenn Du die Abfrage konservieren willst, kannst Du das im LocalStorage auch als JSON-String tun. Der sollte dann nur nicht zu groß sein (Megabyte-Bereich), weil die Browser dem Webstorage API Grenzen setzen (was komplexer ist als "maximal drölftausend Bytinos"). Die Alternative ist, den JSON String in Rows zu zerlegen und jede unter einem Key per IndexedDB abzulegen.
SQLite? Nein, sorry. Das kannst Du nicht verwenden. WebSQL ist kein Standard und wird bspw. von Firefox nicht unterstützt. Ob Safari, weiß ich nicht, aber hier steht Chrome, Opera und Android Browser - also die Chromia. Edge gehört jetzt auch dazu.
SQLite Datenbanken können im Browser des Nutzers gespeichert werden?
Ich nehme an, dass Chrome und Firefox intern SQLite verwenden, um IndexedDB, LocalStorage, Cookies und Favoriten zu speichern. Du könntest sicherlich auch mit dem File API die Datei, die SQLite für eine Datenbank erzeugt, in den Browser laden und im LocalStorage ablegen. Aber Du kannst sie nicht browserübergreifend im Browser verwenden. Es sei denn, irgendwer baut SQLite.js als Library.
Oh. Dieser Jemand ist schon fertig. SQLite crosscompiled nach Web Assembly, allerdings ohne eigenes Speicher-Backend. Dafür muss man die Daten wohl exportieren. Klingt umständlich…
Browser wie Chrome, Firefox, Safari haben SQLite bereits installiert, daher braucht der Nutzer oder ich für die Entwicklung nichts installieren?
Wie gesagt: Ja. Aber nur bei ausgewählten Browserherstellern für den Nutzer zugänglich. Firefox unterstützt WebSQL (die openDatabase Funktion) nicht.
Rolf
sumpsi - posui - obstruxi