Felix Riesterer: Bester Weg für statische Seiten zum "Einbetten" von bspw. einem Header

Beitrag lesen

Lieber Samuel,

Die Web-App soll nichts serverseitiges enthalten (also auch über das lokale Dateisystem oder einen einfachen localhost-Server ohne PHP und co. funktionieren können).

eine WebApp ist definitiv keine statische HTML-Seite, sondern ein mit JavaScript dynamisch sich veränderndes Gebilde. Da krachen zwei Welten aufeinander: Netz der Dokumente (WWW) und Applikation. Dass man mittlerweile Apps in einem Browser bauen kann, ist das Ergebnis einer langen Entwicklung. Eine statische HTML-Seite gab es, seit Tim Berners-Lee das WWW erfunden hat. WebApps (genauer PWA) sind dagegen etwas sehr neues. Deine Formulierung war definitiv irreführend!

Ich wollte einfach HTML-Dateien einbinden, die das Template enthalten. Sonst müssten alle Templates in der index.html stehen, was aber genau so les- und pflegbar wie (any complicated program in one file) ist.

Du darfst Dich anstellen wie der erste Mensch. Das ist Dein gutes Recht. Aber warum ist es für Dich angenehmer, Markup aus zig Dateien zu fetchen (welche Datei genau was enthält muss ja auch verwaltet werden, dazu die vielen Requests, bis der ServiceWorker das alles im Cache hat), anstatt das Markup aus entpsrechend mit ID versehenen Template-Elementen zu holen?

Es ist verrückt, dass man Stylesheets und JavaScript auslagern kann, aber nicht den einfachsten Teil einer Webseite: Das Markup.

Lädtst Du Dein JavaScript auch in Modulen? Und das CSS? Vielleicht ist es für den Client besser, wenn er alles in einem Dokument bekommt?

Du kannst das vom Server zusammenbauen lassen, wenn der Client die App lädt. Dann kannst Du auf dem Server Deine Fragmentierung haben und alles schön in einzelnen HTML-, CSS- und JavaScript-Dateien, damit es für Dich als Entwickler so ist, wie Du das gerne hättest. Aber wenn der Client die App ausführen soll, muss er sie ja anfangs von einem Server laden, welcher diese Fragmentierung auflösen und das gesamte Markup in einem HTML-Dokument liefern kann. Und wenn Du schon dabei bist, kannst Du das CSS und das JavaScript gleich auch noch ins Dokument schreiben.

Liebe Grüße

Felix Riesterer