Forum: PC-Programmierung caching großer webpack bundles / preload


von Arne S. (Gast)


Lesenswert?

Hallo Leute,
ich baue mir gerade eine WebApp mit einem Mashup aus einigen großen npm 
packages. Mittlerweile umfasst das von webpack erzeugte, minified 
bundle, über 500MB, Tendenz Richtung 1 GB, denn es ist noch lange nicht 
feature-komplett.

Welche Möglichkeiten gibt es, den Download gerade von mobilen Devices 
aus bei wiederholtem Starten meiner WebApp zu cachen? Also 
sicherzustellen, wenn derselbe Nutzer dieselbe Webseite erneut aufruft, 
dass sein Browser sämtliche benötigten bundles im Cache vorhält statt 
500MB erneut zu laden, und dass der Browser nicht der Meinung ist, dass 
irgendwas unbekannt oder veraltet wäre?

Anders gefragt, gibt es eine Möglichkeit, dem Nutzer ein 
"Vorabinstallation" zu erlauben, dass er also irgendeinen Link klickt, 
woraufhin alle benötigten bundles für seinen Browser heruntergeladen 
werden und dann verfügbar sind? Es geht nicht um die Installation von 
Extensions oder Plugins, sondern einzig und allein um das Vorhalten der 
bundles, die sonst erst beim Aufruf der Webseite geladen würden.

War das halbwegs verständlich? Sonst bitte nachfragen.
Viele Dank
Arne

von nodejs-wa (Gast)


Lesenswert?

Hallo,

bist du dir Sicher, dass du eine Webanwendung entwickelst? Werden 
tatsächlich 500 MB an HTML, CSS und JS Dateien benötigt, damit die 
Anwendung beim Client startet?

Grüße

von Arne S. (Gast)


Lesenswert?

nodejs-wa schrieb:
> Hallo,
>
> bist du dir Sicher, dass du eine Webanwendung entwickelst? Werden
> tatsächlich 500 MB an HTML, CSS und JS Dateien benötigt, damit die
> Anwendung beim Client startet?
>
> Grüße

ja, genau.

von Gerd E. (robberknight)


Lesenswert?

Arne S. schrieb:
>> bist du dir Sicher, dass du eine Webanwendung entwickelst? Werden
>> tatsächlich 500 MB an HTML, CSS und JS Dateien benötigt, damit die
>> Anwendung beim Client startet?
>
> ja, genau.

Ich fürchte dann läuft da was konzeptionell schief. Bei der Größe wird 
das nix, auch nicht mit Cache oder sonstigen Hilfsmaßnahmen.

Nimm eine andere Sprache oder verzichte radikal auf 90% Deiner 
Abhängigkeiten.

: Bearbeitet durch User
von nodejs-wa (Gast)


Lesenswert?

nur aus Interesse gefragt: hat die WebApp einen Webservice?

Viele Grüße

von Arne S. (Gast)


Lesenswert?

Gerd E. schrieb:
> Ich fürchte dann läuft da was konzeptionell schief. Bei der Größe wird
> das nix, auch nicht mit Cache oder sonstigen Hilfsmaßnahmen.

Begründung?

Würde es mit kleineren Bundles gehen? Ist das Problem die standardmäßige 
Größe des Caches? Kann man diese anpassen, und sei es für einen 
bestimmten Browser?

> Nimm eine andere Sprache oder verzichte radikal auf 90% Deiner
> Abhängigkeiten.

Diese Option besteht leider nicht. Sonst würde ich nicht fragen.

Die App ist durchaus benutzbar zum jetzigen Stand und bietet einen 
derartigen Mehrwert, dass Nutzer bereit sind, 1-2 Minuten auf den 
Download zu warten, da ich sie vorher auf die derzeitige Notwendigkeit 
hingewiesen habe. Auf Desktopsystemen ist diese Größe gar kein Problem.

von Arne S. (Gast)


Lesenswert?

nodejs-wa schrieb:
> nur aus Interesse gefragt: hat die WebApp einen Webservice?
>
> Viele Grüße

Nur aus Interesse gefragt: hast du auch Antworten, oder warum fragst du 
wiederholt nach Einzelheiten, die nichts zur Sache tun?

von Andre (Gast)


Lesenswert?

Arne S. schrieb:
> über 500MB, Tendenz Richtung 1 GB

Aus reiner Neugierde. Kannst du kurz anreissen, was dieses Programm tut?

von Arne S. (Gast)


Lesenswert?

Andre schrieb:
> Arne S. schrieb:
>> über 500MB, Tendenz Richtung 1 GB
>
> Aus reiner Neugierde. Kannst du kurz anreissen, was dieses Programm tut?

Aus reiner Neugierde. Was tut dies zur Sache?

Ich habe eine Frage gestellt und nach einer Lösung gefragt. Stattdessen 
kommen nur Gegenfragen und die Antwort "geht nicht". Alle Antworten hier 
hättet ihr euch sparen können. Dann würde sich vielleicht jemand 
Kompetentes erbarmen, der sieht, dass meine Frage unbeantwortet ist. 
Aber so?

von Jemand (Gast)


Lesenswert?

Arne S. schrieb:
> Andre schrieb:
>> Arne S. schrieb:
>>> über 500MB, Tendenz Richtung 1 GB
>>
>> Aus reiner Neugierde. Kannst du kurz anreissen, was dieses Programm tut?
>
> Aus reiner Neugierde. Was tut dies zur Sache?
>
> Ich habe eine Frage gestellt und nach einer Lösung gefragt. Stattdessen
> kommen nur Gegenfragen und die Antwort "geht nicht". Alle Antworten hier
> hättet ihr euch sparen können. Dann würde sich vielleicht jemand
> Kompetentes erbarmen, der sieht, dass meine Frage unbeantwortet ist.
> Aber so?

Die Antwort ist, dass dein Grundkonzept völlig für die Tonne ist! Das 
gehört als eigenständiges Programm ausgeliefert. (wobei ich vermute, 
dass >90% einfach überflüssiger Bloat ist)

von vn nn (Gast)


Lesenswert?

Tja, da du es nicht schaffst, dein Problem vollständig zu beschreiben, 
kommen halt Gegenfragen. Da du diese nicht beantworten willst, bist du 
wohl nicht sehr smart.
http://www.catb.org/esr/faqs/smart-questions.html#goal

Allein die Idee, ein Website, entschuldige, WebApp natürlich, mit einem 
Gigabyte Transfervolumen zu bauen, ist ja so absurd, dass es sich nur um 
eine Trollfrage handeln kann...

von omega (Gast)


Lesenswert?

Arne S. schrieb:
> minified bundle, über 500MB

That's S-I-C-K, MAN !

von Arne S. (Gast)


Lesenswert?

Aus euch spricht der blanke Neid, weil ihr nicht in der Lage seit, 
derart komplexe Mashups zu konstruieren. Fun fact: eure Vorstellung 
reicht nicht einmal aus, euch vorzustellen was so eine App leisten 
könnte.

von Jemand (Gast)


Lesenswert?

Arne S. schrieb:
> komplexe Mashups zu konstruieren

Rühmst du dich gerade mit schlechter Softwarearchitektur?

von S. R. (svenska)


Lesenswert?

Arne S. schrieb:
> Fun fact: eure Vorstellung reicht nicht einmal aus,
> euch vorzustellen was so eine App leisten könnte.

Fun fact: Wenn du eine App entwickelst, dann tue das bitte und 
installiere sie auf die Telefone. Aber lass sie nicht als Webseite den 
unbedarften Mobile-Internet-User mit 300 MB Monatsvolumen laden.

von Arne S. (Gast)


Lesenswert?

Jemand schrieb:
> Rühmst du dich gerade mit schlechter Softwarearchitektur?

Ich wüsste nicht, wozu ich einem namenlosen Niemand etwas über 
Softwarearchitektur beibrigen sollte. Ich bin aber beeindruckt, dass du 
das Wort fehlerfrei copy&pasten konntest. Weiter so!

von Arne S. (Gast)


Lesenswert?

So, Thema ist durch. Hier ist keine Hilfe zu erwarten. Woanders konnten 
wir eine zielführende Diskussion starten.
Gehabt euch wohl! Und wenn ihr irgenwann selbst mehr als HelloWorld 
programmieren könnt, hören wir vielleicht noch mal voneinander.

von Jemand (Gast)


Lesenswert?

Arne S. schrieb:
> Ich wüsste nicht, wozu ich einem namenlosen Niemand etwas über
> Softwarearchitektur beibrigen sollte. Ich bin aber beeindruckt, dass du
> das Wort fehlerfrei copy&pasten konntest. Weiter so!

Ach komm, bespaß mich weiter!

von Rolf M. (rmagnus)


Lesenswert?

Arne S. schrieb:
> So, Thema ist durch. Hier ist keine Hilfe zu erwarten. Woanders konnten
> wir eine zielführende Diskussion starten.

Wenn du in einem Mikrocontroller-Forum danach fragst, wie du deine 1 GB 
große Webseite auf deinem Handy cachen kannst, brauchst du dich nicht 
wundern, dass du keine Antwort bekommst.

von Rene K. (xdraconix)


Lesenswert?

Davon mal abgesehen das ich dir bei deinem Caching Problem nicht helfen 
kann.

Kann ich aber, aus Erfahrung, sagen das bei einem Mashup ein Cache 
überhaupt keinen Sinn macht. Das liegt an der Natur des Mashup selbst. 
Bei einem Mashup von 1GB (so am Rande: was wirklich absurd groß ist) 
werden da soviele immense Abhängigkeiten von anderen Webservices 
stattfinden das der komplette Cache geändert werden müsste, wenn sich 
auch nur eine Abhängigkeit ändert / aktualisiert weil du die Konsistenz 
sonst garnicht garantieren kannst.

Aber, mach dir Gedanken darüber ob du dies als wirklich als Mashup 
realisieren willst. Bei dieser Größe ist das wirklich als Webapp ad 
absurdum. Das hat rein garnichts mit Webentwicklung zu tun. Vor allem 
ist die Frage nach dem "Was" wirklich berechtigt: weil das einzigste was 
mir in solchen Größen einfallen würde, wären Spiele und selbst da macht 
Mashup keinen Sinn.

von Εrnst B. (ernst)


Lesenswert?

Ach geh, so eine Web-App ist doch erst richtig toll, wenn sie per WASM 
einen CPU-Emulator laufen lässt, auf dem dann ein Linux rennt, welches 
Docker-Container beherbergt. Simple Design-Decision, und schon ist das 
Serverless-Container-Cloud-Computing Feld im Bullshit-Bingo abgehakt.

von 1000V Dc (Gast)


Lesenswert?

Εrnst B. schrieb:
> Ach geh, so eine Web-App ist doch erst richtig toll, wenn sie per
> WASM einen CPU-Emulator laufen lässt, auf dem dann ein Linux rennt,
> welches Docker-Container beherbergt. Simple Design-Decision, und schon
> ist das Serverless-Container-Cloud-Computing Feld im Bullshit-Bingo
> abgehakt.

Sowas könntest du wohl auch gerne? ?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.