Hi,
Für Binaries ist window.btoa() absolut unbrauchbar.
Einverstanden. Aber welche Binaries wirst Du denn hier verwalten müssen?
Da gibt es nichts zu verwalten. Die Binary wird zur Laufzeit erstellt, in dem Moment wenn jemand eine aktuelle Version haben möchte: Download der Binary um diese dann lokal über die FileAPI (input type="file") der SPA zuführen zu können.
Base64 is nur eine Alternative, nämlich um die Binary direkt ins HTML einzubetten (davon werde ich jedoch abkommen).
Es geht um Wikisource - Text. HTML/CSS/JS Beispiele - Text. Eventuell noch Bilder: Die kann man isoliert b64 codieren und einbetten, und dann bei Bedarf decodieren.
Nein, Bei den Datenmengen, die Binary hat 25MB und das ist nur text, werden die Bilder nicht auch noch eingebaut sondern native neben die SPA in ein lokales Verzeichnis gelegt. Ich gehe mal davon aus daß es da keine doppelten Dateinamen gibt.
Die Binaries, die Du im Moment hast, sind Längenangaben zu E, A und V - die brauchst Du nicht wenn Du dein EAV-Modell als JSON stringifizierst.
Wenn ich die Binary mit weit über 30MB als JSON in <script type='text/plain'> einbette rendert sich der Browser zu Tode 😉 Base64 hingegen ist neutral, da passiert das nicht.
JSON vergessen wir mal lieber ganz schnell. Ich werde tunlichst bei einer Binary bleiben die explizit als Dowload angefordert werden muss, und welches Format diese Datei haben wird, hängt davon ab was der Browser bei diesen DatenUnmengen verarbeiten kann ohne sich aufzuhängen.
Ansonsten sind doch 2 Sekunden zum Download einer kompletten Offline-Version nicht zu lang oder!?
Es ist aber nicht komplett und wird darum nicht bei 2s bleiben.
Natürlich nicht. Der Anwender muss eine 30-MB-Datei downladen wenn er aktuelle Daten haben will. Serverseitig würde dieser Schritt vollautomatisch und wartungsfrei ablaufen.
Aufwand erfordert das Bereitstellen der Images, aber auch dieses Download als ZIP könnte automatisiert werden. Der Anwender muss die Bilder nur noch in ein lokales Verzeichnis auspacken.
Die SPA selbst hat nur ein paar kBytes und das Download beschränkt sich auf ein Speichern unter.. dieser Datei.
Alles in Allem ist das kein Vergleich zu einer Komplettinstallation der Wikisoftware.
Schönen Sonntag 😉