Warum benötigen diese Foren JavaScript? Es ist nicht so, dass andere Foren ohne sie funktionieren könnten.
Da Discourse im Grunde reines JavaScript ist. Wenn man JS wegnimmt, bleibt nichts übrig ![]()
Eine andere technische Lösung, nichts weiter.
Es ist einfach so aufgebaut. Discourse “benötigt” JavaScript nicht einfach, es IST eine JavaScript-Anwendung, die vollständig in Ihrem Browser geladen wird, und diese Anwendung verwendet die API, um Daten von der serverseitigen Datenbank zu laden.
@Jagster war schneller. Außerdem ist meine Erklärung vielleicht etwas vage, aber ich bin sicher, dass es hier Experten gibt, die sie besser erklären können!
Das verdient eine nähere Erläuterung.
Zum Anfang:
GitHub - discourse/discourse: A platform for community discussion. Free, open, simple.
Discourse ist eigentlich größtenteils Ruby on Rails, und (laut GitHub) ist nur ein Viertel davon JavaScript, obwohl es ein extrem kritisches Viertel ist und die Client-Seite dominiert.
Die Gründe, warum Discourse und andere moderne Websites(/Webanwendungen) JavaScript verwenden, sind:
- Arbeitslast: Entlastet den Server von viel Arbeit, was der Website hilft, besser zu skalieren (hey, lass die Maschine des Benutzers etwas von der Arbeit übernehmen, warum nicht?!)
- Bandbreite: Obwohl der anfängliche Ladevorgang zum Herunterladen dieses JavaScripts etwas länger dauern mag, ist das nachfolgende Laden von Daten VIEL schneller und verbraucht WEITAUS weniger Bandbreite (wenn die Welt morgen JavaScript verlieren würde, würde das Internet möglicherweise zum Stillstand kommen?), da nur die Daten und nicht das gesamte Markup und Layout der gesamten Benutzeroberfläche übertragen werden müssen. So wird im Web so viel schneller gearbeitet und ermöglicht Verbindungen mit geringer Bandbreite wie schlechte mobile Verbindungen.
- Benutzeroberfläche: Verbessert die dynamische Natur der Benutzeroberfläche, sodass die Benutzererfahrung besser ist (z. B. Klick auf eine Schaltfläche, um nur einen Teil des Bildschirms zu aktualisieren – keine großen Neuberechnungen des gesamten Browsers).
- Es ist ein Standard: JavaScript ist ein Standard in allen modernen Browsern, einschließlich mobiler Geräte, sodass man einmal schreibt und App-ähnliche Qualitäten für die Mehrheit der Geräte erhält.
- Trennung der Zuständigkeiten: Entkoppelt die Serverprozesse von der Sorge um das Rendern der Benutzeroberfläche (normalerweise), sodass es einfacher ist, zu anderen Front-Ends zu migrieren oder diese zu unterstützen, die möglicherweise nicht auf JavaScript (oder sogar HTML) basieren. iOS-App, jemand?
Ich bin sicher, es gibt viele weitere Vorteile, aber das sind die grundlegenden.
Aus Sicht des Kunden und für einen Endbenutzer ist es reines JS, oder sieht zumindest so aus, oder?
