Guten Morgen,
Ja, in bestimmten Fällen. Beispielsweise wenn man ein Video auf einer der Plattformen kommentieren möchte, wäre es nicht schön, wenn nach dem Absenden die Seite neu geladen und damit das Video unterbrochen würde. Dann doch lieber im Hintergrund zum Server senden und den Text ins DOM einschieben. Aber wenn man zu einem anderen Video wechselt, wird eine neue Seite aufgerufen und nicht nur das neue Video in die bereits geladene eingefügt. An der Stelle wäre das Vorgehen mit mehr Nachteilen als Nutzen verbunden.
Da hast du natürlich absolut Recht.
Das passiert ja nur beim erstmaligen Aufruf. Und wenn man die Frameworks nicht selber hostet, sondern eines der bekannteren CDNs verwendet, ist die Chance nicht unbedingt niedrig, dass die Ressourcen bereits im Cache sind.
CDN nutze ich grundsätzlich nicht. Ich lade die Sachen immer auf den eigenen Server, da die Ladezeiten einfach deutlich geringer sind. :) Vor allem wenn dann mal einer der CDN-Server ausfällt, hat man ein echtes Problem.
Und das ist ein klassisches Beispiel, wo die Schuld nicht im Framework zu suchen ist.
Oh, ich habe mich vermutlich falsch ausgedrückt, das wollte ich nicht tun. Mit reinem JavaScript wäre es vermutlich noch chaotischer. :-)
Bootstrap muss für einen breiten Anwenderkreis verwendbar sein. Das CSS der Bittersmannseite muss lediglich zu dieser einen passen und kann deshalb darauf optimiert werden. Wenn Bootstrap nicht auf universell verwendbare Klassen sondern konkrete Elemente setzen würde, wäre man bei der Verwendung auf diese Elemente beschränkt. Es ist immer eine Abwägungssache. Mache ich etwas zu Fuß, bin ich frei, alles so zu machen, wie ich mir das vorstelle. Das kostet dann aber unter Umständen eine Menge Entwicklungsarbeit für Dinge, die vielleicht nicht direkt zum Kern der Geschäftslogik gehören, aber trotzdem als Verbindung zwischen den Teilen notwendig sind. Verwende ich ein Framework, dass große Teile des nebensächlichen Krams bereits gelöst hat, bin ich in der Regel schneller am Ziel (unter der Voraussetzung, ich kenne mich mit beiden Vorgehensweisen einigermaßen gut aus und habe keinen grundsätzlichen Lernaufwand mehr). Aber ich sollte dann gemäß dessen Philosophie arbeiten, sonst steht es mir möglicherweise mehr im Weg als dass es ihn mir ebnet. Das Framework muss nun jedoch nicht nur mich zufriedenstellen, sondern einen breiteren Anwenderkreis, und deshalb muss es allgemeiner entworfen werden. Das hat auch zur Folge, dass es eine Menge Funktionen mitbringt, die ich gar nicht brauche. Das passiert aber auch, wenn ich aus einem vorhergehenden Projekt meine dort für die allgemeinen Zwecke erstellte Funktionssammlung mitbringe. Da sind überflüssige Teile drin und manche fehlen. Aber dafür gibts ja bei den Frameworks mit der Modularität eine zumindest entgegenkommende Lösung. Man lädt eben die Module nicht mit, die man gar nicht verwendet.
Auch hier stimme ich dir natürlich zu. Da wäre es natürlich gut, es möglichst modular zu machen. Oder gar ein Programm, dass überprüft was ich überhaupt nutze und alles ungenutzte rauswerfen, quasi Vorkompilieren – gibt es da etwas in der Art?
Wenn man es genau nimmt, hat man dieses angebliche Dilemma auch schon im Browser an sich. Der hat auch eine Menge Zeugs an Bord, dass nicht jede Webseite benötigt, und trotzdem musste man das alles mitinstallieren. Genauso wie beim Betriebssystem (von einfach so mitinstallierten Anwendungen ganz zu schweigen).
Beim Browser ist das aber nicht das große Problem, da dieser ja nur einmal geladen werden muss. Es wäre natürlich schön, wenn mein Firefox etwas schneller starten würde, aber er ist nun nicht so langsam, dass ich das als störend empfinden würde. Es bleibt dahingehend spannend, wenn Mozilla Firefox-Komponenten gegen in Rust geschriebene Komponenten austauscht und die UI möglicherweise mit Webtechnologien gebaut wird – meine Befürchtung ist aber, dass das Aufsetzen auf JavaScript in der Firefox-Benutzeroberfläche ein Fehler ist und den Browser unnötig verlangsamen wird.
Freundliche Grüße
Christian