Steren Giannini in „Mein Stack wird deinen überleben“
Mein Stack erfordert keine Wartung, hat perfekte Lighthouse-Scores, wird niemals Sicherheitslücken aufweisen, basiert auf offenen Standards, ist portabel, hat eine sofortige Entwicklungs-Schleife, keinen Build-Schritt und… wird jeden anderen Stack überleben.
Jeremy Keith in „npm ruin dev“
Anstatt standardmäßig auf eine All-Singing-All-Dancing-Toolchain zurückzugreifen, werde ich mit einer langweiligen Basislinie beginnen. Wenn und wann das zu schmerzhaft oder unhandlich wird, werde ich einen Task-Manager hinzufügen. Aber jedes Mal, wenn ich eine Abhängigkeit hinzufüge, werde ich die Lebensdauer des Projekts einschränken.
Beide dieser Aussagen gefallen mir.
Sterreus „Stack“ ist nur HTML und CSS. Werden HTML und CSS im Sinne von „dass die Website lange online und funktionsfähig ist“ „halten“? Ich würde sagen sicherlich ja. HTML und CSS gab es schon, bevor ich hier war, werden aktiv weiterentwickelt und keine anderen Technologien versuchen, sie zu verdrängen. Die engsten Bedrohungen sind native Plattformen, aber diese sind so zersplittert, geschlossen und ihnen fehlt die weltweite Nützlichkeit der URL, dass es unwahrscheinlich erscheint, dass eine native Plattform das Web verdrängen wird. Wahrscheinlicher ist (und wir sehen das auch, wenn auch langsam und mühsam), dass native Plattformen das Web stattdessen umarmen.
Wird eine HTML- und CSS-Website im Jahr 2041 noch voll funktionsfähig sein? Ich würde sagen sicherlich. Ich wette einen Dollar darauf.
Steren meint nicht, dass HTML und CSS nur das Ergebnis sind, sondern dass es auch keinerlei Werkzeuge gibt. Kein Build-Prozess. Kein Templating. Hier ist, was er über die Aktualisierung etwas Gängiges wie die Navigation über Seiten hinweg sagt
Also… wenn ich kein Templating-System verwende, wie aktualisiere ich meinen Header, Footer oder meine Navigationsleiste? Nun, einfach, indem ich die Funktion „In Dateien ersetzen“ eines beliebigen guten Texteditors verwende. Sie benötigen sowieso keine häufigen Updates. Die Vorteile der Verwendung eines Templating-Systems sind den Kosten für die Einführung der benötigten Werkzeuge nicht wert.
Ich gebe zu, das zieht die Linie weiter zurück, als ich es tun würde. Das fühlt sich an, als würde man eine Art technische Schuld gegen eine andere eintauschen. Jetzt müssen Sie Skripte oder eine aufwändige Suchen-und-Ersetzen-RegEx schreiben, um das zu tun, was Sie tun möchten, anstatt zu einer Art HTML-Include zu greifen, für die es unzählige Möglichkeiten gibt, diese leicht zu handhaben.
Aber ich verstehe es. Vor allem, da man, sobald man *eine* Vorlagensprache (oder was auch immer) hinzufügt, stark versucht wird, dem System weitere hinzuzufügen, immer mehr Haftung einzuführen, ohne groß darüber nachzudenken, wie diese die „Lebensdauer“ des Projekts „einschränken“ könnten.
Ich glaube nicht wirklich, dass der Stack so wichtig ist.
Wenn ich über Websites nachdenke, an denen ich arbeite (und gearbeitet habe), scheint die Langlebigkeit der Website überhaupt nicht mit dem Stack zusammenzuhängen. Die Websites mit der längsten Lebensdauer (wie diese hier) haben eine lange Lebensdauer, weil ich mich darum kümmere, und sie haben alle möglichen beweglichen Teile im Stack.
Ich wähle Technologie, um bei dem zu helfen, was ich tun möchte. Wenn sich meine Bedürfnisse ändern, ändere ich die Technologie. Ich sage nicht einfach: *Ups, mein Stack ist nicht richtig, ich schließe wohl die Website für immer.*
Wenn wir über die Langlebigkeit von Websites sprechen, denke ich, dass die Aufschlüsselung, wie viel Dinge wichtig sind, eher so aussieht
- 80% Wie sehr mir die Website am Herzen liegt
- 10% Die Website ist keine finanzielle Belastung
- 5% Die Website ist keine mentale Belastung („der Stack“ ist ein kleiner Teil davon)
- 5% Ich habe Zugriff auf den Registranten und habe vergessen, die Domain rechtzeitig zu erneuern, bevor ein Squatter sie sich geschnappt hat
Das ist ein Kompromiss. Wenn man bei HTML und CSS bleibt, werden einige Dinge einfacher, aber alte Probleme treten auf, an die wir uns nicht mehr erinnern. Wenn man kein einfaches Portfolio baut, wie zum Beispiel einen Webshop, wie macht man das? Stacks, Frameworks usw. entstehen aus der Notwendigkeit, mehr zu tun. Wenn HTML/CSS ausreichen würden, würde niemand es verwenden.
Ich stimme Steren irgendwie zu, aber ich möchte trotzdem einige Erleichterungen nutzen: Hugo und SASS lösen die meisten Templating- und CSS-Probleme für mich, liefern aber immer noch eine unzerstörbare Kombination aus HTML+CSS+ein paar Streusel JS, wo nötig.
Ich liebe Einfachheit, aber ich will nicht so tun, als würde ich im Jahr 1999 leben :)
Zumindest brauche ich eine Form von Templating. Selbst PHP kann das mit einer `include`-Anweisung. Zu wissen, dass ich den Header an einer Stelle bearbeiten und er überall wirksam wird, gibt mir Sicherheit!
Ich betrachte es aus der Perspektive des Refactorings. Für die erste (oder sogar zweite) Instanz einer Funktionalität mache ich mir keine Sorgen, Komplexität zum bestehenden Code oder Stack hinzuzufügen. Halte es einfach und flüssig.
Sobald die Anzahl der Instanzen wächst, wird richtiges Refactoring zum besseren Weg, es einfach, flüssig und handhabbar zu halten. Das kann alles bedeuten, von der Hinzufügung eines kleinen vorlagenbasierten Snippets bis zur Hinzufügung von Abhängigkeiten, die am besten passen.
Ein gutes Fallbeispiel für die Langlebigkeit von Websites wäre die Space Jam-Website. Diese Website wird die Wärmetod des Universums überleben.
Ich finde es lustig, dass die Anzeige oben im Artikel auf AWS Amplify steht, einem Framework der Frameworks :) Alles in allem lösen die meisten Frameworks spezifische Probleme, die auf die eine oder andere Weise gelöst werden müssen. Sie versuchen, die Bereitstellung zu beschleunigen und zu verhindern, dass spezifische Räder neu erfunden werden, und hoffen, dass viele Räder in ihr Schema passen. Mehr vom Gleichen Kompromisse. Jetzt gegen später. Schnell gegen wartbar. Jedes mit seinem eigenen Gleichgewicht und seiner eigenen Lernkurve. Und zusätzlicher Ballast für das Projekt, Bruchpunkte zum Beheben.
Vielen Dank für Ihre Meinung, so wenig sie auch auf unserem aktuellen Markt geschätzt wird. Es ist schön zu sehen, dass mehr Entwickler so denken.
Bei vielen Websites spielt die Frage der Langlebigkeit eigentlich keine Rolle.
Viele Websites sind von Natur aus temporär, nicht dafür gedacht, länger als ein paar Jahre oder sogar weniger zu halten.
Ich habe mit einer Reihe von Websites gearbeitet, die – nach Design – eine Lebensdauer von wenigen Monaten hatten.
Selbst bei längerlebigen Plattformen ist es nicht selten, dass eine Website so wirkungsvolle Updates erhält, dass das Endergebnis auf technischer Ebene so anders ist, dass es auch eine neue Website sein könnte.
Für all diese ist die Frage, wie dauerhaft ein Stack sein kann, kein Grund zur Sorge. Das von Ihnen verwendete Werkzeug (oder dessen Fehlen) sollte immer an das Projekt angepasst sein, an dem Sie arbeiten.
Ich entdecke gerne neue Technologien und benutze sie. Deshalb bin ich Entwickler.