2016-06-07 14 views
1

Ich habe eine Offline-Web-App für den PC mit JavaScript und ich bin dabei, eine Datenbank hinzuzufügen. Das Problem besteht darin, dass ein dauerhafter Datenspeicher über mehrere Computer hinweg (über USB) erforderlich ist. Ich möchte also eine Möglichkeit finden, diese Daten auf einem USB-Stick anstatt auf der Festplatte des Computers zu speichern.Offline portable Web-App, Javascript. Wie bekomme ich eine persistente Datenbank über Computer hinweg?

Ich habe in Lösungen wie lokijs untersucht und während Lokijs persistenten Speicher hat, ist es in Local Storage oder IndexedDB gespeichert. Dies bedeutet, dass es auf dem Computer über den Browser gespeichert wird. Eine Möglichkeit, dies zu lösen, ist das Lesen/Schreiben von Dateien mit JavaScript oder das Speichern der Datenbankdatei in demselben Verzeichnis wie die anderen Dateien (für Portabilität über USB). Gibt es eine Möglichkeit, dies zu tun? Nach meinem Wissen gibt es keinen Weg, dies zu erreichen.

Eine andere Lösung wäre, eine portable version of Chrome herunterzuladen und eine .bat-Datei zu erstellen, um sicherzustellen, dass die Webanwendung mit dem tragbaren Chrome geöffnet wird. Ich denke (nicht zu sicher), dass das portable Chrome die Local Storage/IndexedDB Daten zwischen den Sitzungen behalten wird. Allerdings ist diese Methode sperrig und ich würde mich lieber nicht darauf verlassen.

Gibt es also eine Alternative, um dieses Problem zu lösen? Oder gibt es eine andere JavaScript-Datenbank, die lokal eine Datenbank speichern und abrufen kann, um persistente Datenspeicherung über mehrere Computer über USB zu erreichen.

Vielen Dank für das Lesen und ich würde alle Antworten zu schätzen wissen.

Antwort

0

Grundsätzlich möchten Sie eine portable, Fat-Client-Anwendung mit Web-Technologien gebaut. Dafür gibt es mehrere Lösungen. Ich würde empfehlen, NodeWebKit oder etwas ähnliches zu verwenden (JavaFX hat auch Web-Rendering-Funktionen mit JavaScript).

+0

Danke für Ihre Antwort und Anregung. Wenn es Ihnen nichts ausmacht, was halten Sie von [Electron] (http://electron.atom.io/) gegenüber der von Ihnen erwähnten [NW.js] (http://nwjs.io/)? –

+0

Ich weiß es nicht wirklich, aber es ist definitiv einen Blick wert. – meskobalazs

1

Javascript hat aus Sicherheitsgründen keinen Zugriff auf Ihre Festplatten. Sie können mit einer Web-App nicht auf einem lokalen Laufwerk lesen/schreiben, da sich Malware sonst viel leichter verbreiten könnte. Aus diesem Grund verwenden Lösungen wie lokijs In-Browser-Speicher. Wenn Sie eine Offline-App mit einem tragbaren Speicher wünschen, der von USB betrieben werden kann, würde ich eine Neuschreibung mit einer anderen Technologie/Programmiersprache durchführen. Wenn es auch plattformübergreifend sein muss, ist Java wahrscheinlich die beste Wahl.

+0

Danke für Ihre Antwort und Vorschlag. Ich werde definitiv in andere Technologien schauen, wie Sie und meskobalazs vorgeschlagen haben. –