Christian Heilmann hielt diesen Vortrag auf den Typo3 Developer Days. Ich verlinke ihn, weil er einen bereits getroffenen Nerv bei mir trifft. Die zunehmende Komplexität der Webentwicklung steht in einem umgekehrten Verhältnis zur abnehmenden Zahl von Einstiegspunkten für diejenigen, die sich in die Webentwicklung einarbeiten.
Ich liebe, wie Christian zwei hypothetische Entwicklungsstacks vergleicht.
Damals
index.html
Heute
- Holen Sie sich den richtigen Editor mit allen richtigen Erweiterungen
- Richten Sie Ihr Terminal mit der richtigen Schriftart und all den coolen Dotfiles ein
- Installieren Sie das Framework flügelhorn.js mit dem Bundler wolperdinger.io
- Gehen Sie zum Terminal und führen Sie
packagestuff –g installaus - Betrachten Sie all die lustigen Warnmeldungen und aktualisieren Sie die Abhängigkeiten
- Funktioniert nicht? Gehen Sie SUDO, alle coolen Kids tun das …
- Machen Sie sich keine Sorgen über die Größe des Modulordners
- Lernen Sie die Abstraktion windfarm.css – sie macht Sie so viel effektiver
- Verwenden Sie die Vorlagensprache funsocks – sie ist viel kleiner als HTML
- Schauen Sie sich das erstaunliche „Hallo Welt“-Beispiel eine Stunde später an …
Er ist definitiv ein wenig geschwätzig, aber die Aussage ist solide. Die Dinge sind heute komplexer als vor, sagen wir, zehn Jahren. Ich erinnere mich, wie ich damals mit Grunt gekämpft habe und dachte, ich würde es nie richtig hinbekommen. Irgendwann habe ich es geschafft, und meine IDE war danach nie mehr dieselbe.
Es ist leicht, sich in der Komplexität verfangen zu lassen, selbst für erfahrene Fachleute
Diese Welt geht leider verloren oder wird zumindest abgewertet – nicht weil es nicht mehr möglich ist, den Quellcode einer Webseite anzuzeigen, sondern weil dieser Quellcode oft undurchschaubar ist, selbst bei einfachen Webseiten.
— Pixel Envy „A View Source Web“
Christians Beitrag erinnert mich daran, dass das Wesen des Webs nicht nur noch lebendig ist, sondern jeden Tag besser wird
- Browser werden ständig aktualisiert.
- Der Webstandardisierungsprozess ist viel schneller als früher.
- Wir müssen nicht alle die nächste Killer-App entwickeln. Viele Frameworks versprechen Skalierbarkeit bis ins Unendliche, und nur wenige von uns werden das jemals brauchen.
Er schlägt weiterhin viele Wege vor, um Komplexität und Abstraktionen aus einem Projekt zu entfernen. Mein größtes Fazit wird von einer einzigen Schlagzeile erfasst:
Das Web basiert auf widerstandsfähigen Technologien – wir nutzen sie nur nicht
Was daran erinnert, was Molly White Anfang dieses Jahres sagte, dass es immer die Möglichkeit gibt, das Pendel zurückzuschwingen
Die Sache ist: nichts davon ist verschwunden. Nichts am Web hat sich geändert, das uns davon abhält, zurückzukehren. Wenn überhaupt, ist es viel einfacher geworden. Wir können zurückkehren. Besser noch: Wir können die Dinge, die wir am alten Web geliebt haben, wiederherstellen und gleichzeitig die wunderbaren Dinge einbeziehen, die seitdem entstanden sind, dabei noch bessere Dinge entwickeln, wenn wir voranschreiten, und einige Dinge aus der frühen Webzeit hinter uns lassen, die wir nur allzu oft vergessen, wenn wir unsere rosarote Brille aufsetzen.
Wir können zurückkehren. Wir können all die Dinge wiederherstellen. Sagen Sie mir also: Nehmen Sie die rote Pille oder die blaue?
Das Argument ist im Grunde, dass wir zu Vergasern zurückkehren sollten, weil Einspritzsysteme feiner abgestimmt und komplexer sind. Aber man sieht keine neuen Autos, die so gebaut werden.
Wenn Ihr Tech-Stack Sie nicht produktiver macht, verwenden Sie ihn nicht (Sie halten ihn vielleicht falsch). Aber für viele Leute hat er es uns ermöglicht, massive und komplexe Systeme zu bauen, die skalieren und es Ihnen ermöglichen, sie zu verstehen, zu iterieren und die Entwicklungs-/Debugging-Erfahrung gesund zu halten.
(Für HTML-Interessierte: Probieren Sie htmx mit Ihrem bevorzugten Backend aus oder nutzen Sie rawdog mit SSR-Vorlagen ♂️)
Am Ende des Tages sind alle auf dem Markt verfügbaren Dinge nur Optionen.
Ich denke, das Argument geht weiter – es geht mehr darum, Komplexität als Standard zu wählen, wenn einfachere (und oft ebenso effektive) Lösungen schon immer existiert haben. Wir müssen diese Richtung nicht einschlagen.
Wir greifen immer wieder auf alte Dinge zurück.
Das Leben ist ein großes Pendel, nicht wahr?!
Die Komplexität an sich ist nichts Schlechtes, aber ich vermisse die Einfachheit, HTML in Notepad, Notepad++, oder sogar Vim und Nano zu bearbeiten. Ich denke, das größere Problem ist die Auswahl. Wir können uns für Node, Deno oder Bun entscheiden, und ich bin sicher, es gibt noch etwas, das ich vermisse. Yarn, npm, pnpm, etc. Vite, Webpack, etc. Dann kommen Sie endlich zu React, Angular, SvelteKit, Next und all den Überschneidungen, die viele der anderen haben.
Aber Sie sind noch nicht fertig… Möchten Sie Tailwind, Mantine, MUI oder eines der Dutzenden anderer Tools, die helfen?
Ich würde sagen, das meiste begann ungefähr zur Blütezeit von PHP. Genauer gesagt WordPress. So viele Plugins und Optionen, die die Leute erkunden können. Es gab sicher auch andere Optionen, aber WordPress setzte diesen Standard für Anpassbarkeit. Jetzt bekommen die Leute kalte Füße, wenn sie Dinge nicht so anpassen können wie mit einem stark meinungsbildenden Framework.
HTML war einfach. Ein paar Includes, um Dinge sauber zu halten, und tada, eine Website existiert. Selbst das Hinzufügen von CSS war einfach. Dann kam die Notwendigkeit von viel Überschuss, um Dinge zu erledigen, die glänzend sind. Würde ich zu reinem HTML zurückkehren? Nein. Aber versuche ich, übermäßige Entscheidungen einzuschränken, wo ich kann? Absolut.
Können Sie ein Beispiel geben? Normalerweise entstehen komplexe Dinge, um komplexe Probleme zu lösen, und die Leute wechseln oft zu einfacheren Varianten, sobald sie entwickelt wurden. Nehmen Sie als Beispiel den Wechsel von Webpack zu Vite.