Wenn du eine neue Website beginnen willst, was denkst du zuerst? Beginnt man mit einer Bibliothek oder einem Framework, das man kennt, wie React oder Vue, oder einem Meta-Framework obendrauf, wie Next oder Nuxt? Ruft man ein schnelles Build-Tool wie Vite auf oder konfiguriert man sein Webpack?
Es gibt einen großartigen Tweet von Phil Hawksworth, den ich vor ein paar Jahren bookmarkte und der mir bis heute gefällt
Deine Websites starten schnell, bis du zu viel hinzufügst, um sie langsam zu machen. Brauchst du überhaupt ein Framework? Könntest du das, was du willst, nativ im Browser tun? Würde es deine Seite leichter machen, es ohne Framework zu tun, oder im Endeffekt schwerer, wenn du das nachbaust oder optimierst, was andere bereits getan haben?
Ich persönlich liebe die Idee, weniger Code zu versenden, um letztendlich mehr Wert an den Browser zu versenden. Das Verständnis von Browser-APIs und dessen, was "kostenlos" ist, könnte tatsächlich dazu führen, dass das Rad seltener neu erfunden wird, und potenziell mehr Barrierefreiheit, da man die bereitgestellten Werkzeuge nutzt.
Anstatt für jede Aufgabe, die du erledigen möchtest, eine Bibliothek einzubinden, versuche, unter die Haube zu schauen, was sie tun. Zum Beispiel bemerkte ich in einem Projekt, das ich betreute, dass wir eine React-Komponente importiert hatten, die ein komplettes npm-Paket für eine kleine (weniger als 10 Zeilen) Komponente mit etwas CSS obendrauf versandte (das wir mit unserem eigenen Designsystem überschrieben). Als wir diese Komponente von Grund auf neu schrieben, war unsere Bundle-Größe kleiner, wir konnten sie besser anpassen und wir mussten uns nicht mit den Entscheidungen anderer herumschlagen.
Nun, ich sage nicht, dass du *keine* Bibliotheken, Frameworks oder Komponenten verwenden solltest. Open Source existiert aus gutem Grund! Was ich sage, ist, wählerisch zu sein, was du in deine Projekte einbringst. Lass die Leistung des Browsers für dich arbeiten und benutze weniger Zeug!
Ich habe vor einigen Jahren die Entscheidung getroffen, für zukünftige Projekte komplett auf Vanilla-JS zu setzen und angefangen, selbst Bibliotheken zu schreiben, um die Funktionalität zu handhaben, die ich täglich nutzte. Es ist so schön, jQuery und eine Vielzahl anderer Bibliotheken, die die Seite von Anfang an belasten, nicht mehr importieren zu müssen!
Das.
Ich war sehr glücklich, meine Website mit einer beliebten CMS-Sofortinstallation einzurichten, ein JS-loses Theme zu verwenden und sie mit einem statischen / Varnish-Plugin zu betreiben.
Ich konnte innerhalb von Minuten posten, ohne dass Benutzer serverseitig etwas benötigten.
Ich schätze den hier gemachten Punkt. Ich habe meine Websites schon immer von Grund auf neu erstellt und die Verwendung von Frameworks vermieden (oder gelernt). Ich habe eine lokale Friedhofs-Website erstellt und pflege sie, die mir oder jemand anderem nichts bezahlen kann (eine Herzensangelegenheit, die mich auf dem Laufenden hält). Mein Design ist für die Zielgruppe einfach, aber ich habe noch mehr auf meiner To-Do-Liste für die Benutzererfahrung. Jetzt, wo ich 70 bin, drängt die Erkenntnis, dass ich das irgendwann abgeben muss (hoffentlich nicht erst in den 80ern). Also mache ich mir jetzt Sorgen, dass ich WordPress hätte nutzen sollen, damit es leichter an jemanden übergeben werden kann. Aber meine einzige Erfahrung mit WordPress war, dass ich Websites repariere, die damit gebaut wurden, in denen die Designer längst weg sind und keine Dokumentation für ihre Kunden hinterlassen haben.
Ich bezweifle, dass WordPress in diesem Fall einen Netto-positiven Effekt gehabt hätte. Dein eigenes Ergebnis wäre beeinträchtigt worden, und die Übergabe wäre nicht garantierter als bei einer Website, die von Grund auf neu erstellt wurde. Die Schwierigkeit besteht in beiden Fällen darin, jemanden zu finden, der kompetent und leidenschaftlich genug ist, damit du und der Friedhof mit ihm zufrieden seid. Solange du alles auf eine einigermaßen wartbare Weise erstellt hast, d.h. lesbar, sollte es gut genug sein. Die Herausforderung für dich ist, jemanden mit der Leidenschaft zu finden. Du kannst ihnen wahrscheinlich beibringen, was sie brauchen, um anzufangen. Beziehe sie einfach so früh wie möglich in deinen Prozess ein. Viel Erfolg!
Wie du sagtest: "Open Source existiert aus gutem Grund!" und kleine Start-ups haben oft nicht genug Ressourcen oder Zeit, um selbst kleine Code-Teile zu erstellen.
Der Kernpunkt ist, zu versuchen, die 3rd-Party-Bibliotheken so weit wie möglich zu isolieren, um sie in Zukunft durch eigenen, besseren und optimierten Code zu ersetzen.
Obwohl die Erstellung dieser Schnittstelle zur Isolierung manchmal mehr Aufwand bedeutet als der Bau der Lösung selbst.
♂️
Ich habe diesen Teil aber noch nie passieren sehen :-(
Während ich deinen Punkt verstehe und größtenteils zustimme, gibt es definitiv ein Problem damit, dass viele Entwickler viel zu früh nach importierbaren Paketen suchen. Ich habe Importe für einfache Funktionalitäten gesehen, die ich in viel kürzerer Zeit schreibe, als es dauert, sie zu suchen.