2

Ok, vielleicht sehe ich nicht das ganze Bild oder so, aber ich brauche ein Brainstorming.Wie man eine 250mb Datenbank in einer Offline Web App speichert

Also ist der Zweck, eine Webapp (HTML5, CSS, Javascript) zu machen, die auf einer Datenbank 250mb ohne irgendeine Internetverbindung suchen muss, so .. ja die Datenbank muss auf der Klientenseite sein.

Der schwierige Teil hier ist, diese App muss auf einem iPod oder iPhone ohne Internetverbindung funktionieren. (Eine erste Verbindung zum Herunterladen der App ist in Ordnung), LocalStorage hat ein Limit von 5MB, couchDB wäre großartig, da sie eine Webapp einfach durch Javascript aufrufen können (Datenschutzprobleme sind an dieser Stelle nicht wichtig), also bin ich ziemlich weit draußen von Ideen ....

Sieht jemand eine Alternative oder eine Lösung für den Zweck?

+1

Hmm. Das kann ein Fall für eine native App sein, ich kenne keine Methoden, um diese Datenmengen lokal in einer Webanwendung zu speichern –

+1

Wie sind Sie zu dem Punkt gekommen, wo Sie zu dem Schluss gekommen sind, dass Sie eine 250MB-Datei mit Ihrer Anwendung ziehen müssen? Was ist das größere Bild? – Pointy

+0

Obwohl das Hauptziel das iPhone ist, ist der Zugang zu Androiden sehr willkommen, das ist der Hauptgrund dafür, eine Web-App anstelle einer nativen App zu sein. – Couto

Antwort

1

Ich denke, Sie sollten die Werkzeuge verwenden, die am besten für den Job passen ... und dies scheint ein Client-App-Job zu sein. Hier ist ein kleines Tutorial, wie man eine Datenbank (sqlite) auf dem iPhone verwendet und Sie sollten in der Lage sein, jede andere einbettbare Datenbank zu verwenden, die auch für das iPhone/iPad verfügbar ist.

Sqlite on the iPhone Tutorial

Wenn Sie wirklich HTML5 zu verwenden sind gezwungen, und die Web-Widget Material, das Sie oben von Ihnen erwähnten wil die Möglichkeit haben, ein Browser-Fenster in eine native App und reagieren für url Änderungen oder Post/Get-Nachrichten einzubetten.

+0

Ich habe noch nie SQLite verwendet, also aus Unerfahrenheit und Faulheit werde ich fragen, ist SQLite wie MySQL oder kann es auf die Client-Seite heruntergeladen werden? – Couto

+0

SQLite ist sehr einfach zu verwenden und bietet mehrere Vorteile für die Verwendung in Umgebungen mit eingeschränkten Funktionen, z. B. ist es serverlos und benötigt keine komplexe Konfiguration für die Ausführung (sehr gut für die vordefinierte Bereitstellung).Es ist einfach eine Bibliothek für den Zugriff auf ein Datenbankdateiformat mit SQL-Anweisungen und ACID. SQLite ist weit verbreitet und bewährt (Mozilla benutzt es zum Beispiel für seinen Cache, soweit ich weiß). Es gibt viele Sprachbindungen (z. B. für C#, C/C++, PHP, Java, ...) und so kann SQLite in der Sprache Ihrer Wahl verwendet werden. Weitere Informationen finden Sie unter http://www.sqlite.org/. – Beachwalker

1

Es ist nicht möglich, eine 250-MB-Datenbank in 5 MB Speicher zu speichern.

Mögliche Abhilfen:

  1. Wenn Sie Ihre Daten kennen, können Sie einen speziellen Kompressionsalgorithmus schreiben.
  2. Speichern Sie nur eine Teilmenge der Daten offline, von denen Sie glauben, dass sie vom Benutzer verwendet werden. Wenn sie andere Daten benötigen, müssen sie sich verbinden.
  3. Fügen Sie keine Bilder, Sounds, Videos usw. in die Offline-Daten ein, sondern enthalten Sie den gesamten Text. 5MB wird viel Text enthalten, aber nicht sehr viele Bilder und Grafiken.
+0

nicht ganz sicher, wie man sha1 Hashes komprimiert ... – Couto