Wir haben Web-Entwickler, die wir bewundern, dieselbe Frage gestellt: Was ist eine Sache, die Sie dieses Jahr beim Erstellen von Websites gelernt haben? Hier ist, was sie uns erzählt haben.

Wir möchten unserem ❥ Sponsor Automattic dafür danken, dass diese Seite möglich ist. Sie stellen viele großartige Softwareprodukte her, die wir nutzen, wie Jetpack, WooCommerce und WordPress.com.

npm ruin dev

Im Jahr 2020 entdeckte ich wieder die Freude daran, eine Website mit einfachem HTML, CSS und JavaScript zu erstellen – ohne Transpilierung, ohne Kompilierung, ohne Build-Tools, nur mit meinen Händen auf der Tastatur.

Da meine persönliche Marke sich mit „so spät dran sein, dass das Stadion abgerissen wurde“ zusammenfassen ließe, beschloss ich 2020, einen Podcast zu starten. Es ist der Podcast meiner Agentur Clearleft und er hat den überaus fantasievollen Titel The Clearleft Podcast erhalten. Ich bin sehr zufrieden mit dem Ergebnis der ersten Staffel. Ich bin auch sehr zufrieden mit der Website, die ich dafür erstellt habe.

Die Website ist nicht sehr groß, wird aber mit der Zeit wachsen. Ich habe darüber nachgedacht, wie der Build-Prozess für die Website aussehen sollte, und nach buchstäblich sekundenlanger Debatte entschied ich mich für keinen Build-Prozess. Null. Nada.

Das erwies sich als enorm befreiend. Es fühlte sich sehr praxisnah an, das tatsächliche HTML und CSS zu schreiben, das an die Endbenutzer ausgeliefert wird, ohne jegliche Vermittlung. Ich hatte das Gefühl, meine Hände in den Boden der Website zu stecken.

CSS hat sich in den letzten Jahren so stark weiterentwickelt – mit Funktionen wie calc() und benutzerdefinierten Eigenschaften –, dass man keine Pre-Prozessoren wie Sass mehr verwenden muss. Und Vanilla JavaScript ist leistungsstark, voll funktionsfähig und funktioniert browserübergreifend ohne Kompilierung.

Versteh mich nicht falsch – ich verstehe vollkommen, warum komplizierte Pipelines für komplizierte Websites notwendig sind. Wenn Sie Teil eines großen Teams sind, müssen Sie wahrscheinlich Prozesse einrichten, damit jeder auf konsistente Weise zum Codebase beitragen kann. Je komplexer dieser Codebase ist, desto mehr Technologie benötigen Sie, um Ihre Arbeit zu automatisieren und Fehler zu erkennen, bevor sie online gehen.

Aber diese Einrichtung ist nicht für jede Website geeignet. Und all diese Werkzeuge und Prozesse, die Zeit sparen sollen, verschwenden manchmal doch Zeit weiter unten auf dem Weg. Haben Sie jemals ein Projekt nach, sagen wir, sechs oder zwölf Monaten wieder aufgreifen müssen? Vielleicht möchten Sie nur eine kleine Änderung am CSS vornehmen. Aber Sie können es nicht, weil eine Abhängigkeit defekt ist. Also versuchen Sie, sie zu aktualisieren. Aber sie hängt von einer anderen Version von Node ab. Bevor Sie es merken, sind Sie wie Bryan Cranston, der eine Glühbirne wechselt. Sie sollten eine Zeile CSS bearbeiten, stattdessen kämpfen Sie gegen die Entropie.

Wenn ich ein Problem in der Frontend-Entwicklung angehe, wende ich gerne das Prinzip der geringsten Leistung an: Wählen Sie die am wenigsten leistungsfähige Sprache, die für einen bestimmten Zweck geeignet ist. Ein klassisches Beispiel wäre die Verwendung eines einfachen HTML-Button-Elements anstelle des Versuchs, die gesamte native Funktionalität eines Buttons mit einem Div und viel ARIA und JavaScript nachzubilden. Dieses Jahr habe ich erkannt, dass dasselbe Prinzip auch für Build-Tools gilt.

Anstatt standardmäßig auf die All-Singing-All-Dancing-Toolchain zurückzugreifen, werde ich mit einer langweiligen Basislinie beginnen. Wenn und wenn das zu schmerzhaft oder unhandlich wird, werde ich einen Task-Manager einsetzen. Aber jedes Mal, wenn ich eine Abhängigkeit hinzufüge, werde ich die Lebensdauer des Projekts verkürzen.

Mein Neujahrsvorsatz für 2021 ist, eine Diät zu machen. Keine schweren node_modules-Ordner mehr; nur knuspriges und leckeres HTML, CSS und JavaScript.