" Datenbankgesteuerte Websites " ist der Schlüssel zur Antwort. Es gibt zwei Möglichkeiten, Websites zu erstellen, und die zulässige Menge an Javascript hängt davon ab, welche Sie tatsächlich verwenden. Sie können bauen:
Inhaltsbezogene Websites . Im ersten Fall sind die Zauberwörter "progressive Verbesserung"; Beschränken Sie Javascript auf redundante Funktionen, die mit klassischen Zugriffen auf Inhalte über einfaches HTTP bereitgestellt werden können.
Webanwendungen . Für Anwendungen verwenden Sie stattdessen das Web als Softwareplattform. Apps basieren auf einigen Annahmen über die verfügbare Software - moderne Browser, neueste Versionen der gängigen Javascript-Bibliotheken, Desktop-Zugriffe mit der Maus und / oder Tablets mit Multi-Touch.
Das Web als Softwareplattform
Die Mindestanforderungen für den Zugriff sind in Ordnung, wenn Sie wirklich eine Anwendung erstellen. Sie zielen auf eine bestimmte Plattform ab, um erweiterte Funktionen zu erhalten, die sonst nicht erstellt werden könnten. Es ist wie für Python oder Java oder .Net zu entwickeln. Lassen Sie sich nicht von Modewörtern wie HTML5 und dem Versprechen täuschen, "irgendwo hinzulaufen". Sie können zwischen Geräten nur portablen Code verwenden, solange die gesamte Plattform auf diesen Geräten unterstützt wird. Jede Änderung am Entwicklungsstapel und an der Software führt zu einer Unterbrechung.
Der zu zahlende Preis ist also, dass Sie einem sich bewegenden Ziel folgen, wenn neue Versionen der Plattform veröffentlicht werden. Sie müssen aufholen, damit Ihre App bei der Weiterentwicklung der Plattform funktioniert. Der einzige Vorteil, den Sie erhalten, ist ein semi-universeller Bereitstellungsmechanismus für Ihre App, der nicht von Paketen oder Anwendungsspeichern abhängt. Sie verlieren jedoch die Hauptfunktion, die das Web von früheren vernetzten Computersystemen unterscheidet.
Das Web als Inhaltslieferung
Inhaltsbezogene Websites sind ein anderes Biest. Sie stehen in der Tradition des klassischen World Wide Web. Der Inhalt wird vom Kunden lose interpretiert und kann vor der Präsentation beliebig verändert werden. Der Zugriff auf die Site wird von einem Ökosystem verschiedener Plattformen erwartet, die möglicherweise die aktuellen Standards unterstützen oder nicht:
- Mobile Geräte unterstützen weniger als die neuesten und teuersten Schnickschnack
- Alte Browser-Benutzer, die nicht (im Unternehmen) oder nicht (zu Hause) wissen, wie sie aktualisieren sollen
- Zukünftige Versionen beliebter Engines, die ihre alten APIs nicht mehr verwenden
Sie verlieren sie alle, wenn Sie die aktuelle, sich ständig weiterentwickelnde Version von Javascript benötigen. In diesem Zusammenhang ist defektes Javascript, das den Zugriff auf den Inhalt verhindert, eine Sünde.
Jeder, der sagt, dass "die Verwendung von Javascript minimiert werden sollte", spricht sich für diesen Stil aus. Es ist in Ordnung, ein paar JS einzuschließen, aber alle Funktionen sollten redundant sein, mit grundlegenden Zugriffen auf Inhalte, die serverseitig erzielt werden könnten:
- Validierung der Dateneingabe
- AJAX-Aktualisierungen von Inhalten für die schnellste Navigation (das funktioniert trotzdem ohne JS)
Der Vorteil dieses Ansatzes besteht darin, dass weniger Tests und Upgrades erforderlich sind und die Haltbarkeit erhöht wird. Die ersten statischen Webseiten von vor 20 Jahren sind in jedem Webclient noch durchsuchbar, aber die ersten Webanwendungen sind für immer kaputt. Wenn Ihre Site überhaupt einen Archivierungswert hat, profitieren Sie langfristig von der Verwendung des Webs als Content Delivery-System und nicht als Anwendungsplattform.