Richard MacManus erklärt den Ansatz von Daniel Kehoe zum Erstellen von Websites, den er "Stackless" nennt.
Es gibt drei Schlüssel-Webtechnologien, die Kehoes Ansatz untermauern.
- ES6 Modules: JavaScript ES6 kann Import-Module unterstützen, die auch von Browsern unterstützt werden.
- Modul-CDNs: JavaScript-Module können jetzt von Content Delivery Networks (CDNs) von Drittanbietern heruntergeladen werden.
- Benutzerdefinierte HTML-Elemente: Entwickler können jetzt benutzerdefinierte HTML-Tags über Web Components erstellen.
Verwendung eines No-Build-Prozesses und nur Funktionen, die im Browser integriert sind, und doch erhalten Sie ein ziemlich leistungsfähiges Setup. Sie können immer noch Dinge von npm verwenden. Sie können immer noch Templating erhalten. Sie können immer noch mit Komponenten erstellen. Sie erhalten immer noch eine Isolation, wo sie benötigt wird.
Ich würde sagen, dass Sie heute
- Geben Sie etwas DX auf (Hot Module Reloading, JSX, Framework-Schnickschnack)
- Gewinnen Sie etwas DX (können Sie in ein Projekt springen und einfach anfangen zu arbeiten)
- Geben Sie etwas Leistung auf (kein Tree Shaking, viele Netzwerkanfragen)
- Erweitern Sie Ihren Pool an Einstellbaren (mehr Leute kennen Kerntechnologien als spezifische Werkzeuge)
Aber es ist nicht schwer, sich ein Morgen vorzustellen, an dem wir weniger aufgeben und mehr gewinnen, wodurch die Werkzeuge, die wir heute verwenden, weniger notwendig werden. Ich bin mir ziemlich sicher, dass wir immer noch einen Weg finden werden, mehr Werkzeuge in das zu integrieren, was wir tun. Hämmern, hämmern, nageln.
Ich bin absolut verblüfft über die Notwendigkeit von Hot Module Reloading. Der einzige Grund, den ich dafür sehe, ist ein Mangel an URL-Architektur und Zustandsverwaltung, der sich in einer unterdurchschnittlichen Web-UX niederschlägt. Wieder ein DX-Köder und -Umschalter.
Wow! Ich verabscheue es, wenn ich an einer Website arbeite, auf der es nicht als Teil des lokalen Entwicklungserlebnisses vorhanden ist. Idealerweise würde sich die Vorschau für mich bei jedem Tastendruck aktualisieren (der keinen Syntaxfehler hat).
Sie können Webpack oder Rollup verwenden, das löst alle Probleme außer JSX, was mehr Setup erfordert
Polymer ist auch ein Framework, auch wenn es von CDN kommt