Vor etwa 15 Jahren arbeitete ich in einem Unternehmen, in dem wir Apps für Reisebüros, Flughafenmitarbeiter und Fluggesellschaften entwickelten. Wir haben auch unser eigenes internes Framework für UI-Komponenten und Single-Page-App-Funktionen erstellt. Wir hatten Komponenten für alles: Felder, Schaltflächen, Registerkarten, Bereiche, Datentabellen, Menüs, Datumsauswahl, Auswahlmöglichkeiten und Mehrfachauswahlmöglichkeiten. Wir hatten sogar eine div-Komponente. Unsere div-Komponente war übrigens großartig, sie erlaubte uns, abgerundete Ecken in allen Browsern zu erstellen, was, ob Sie es glauben oder nicht, damals keine einfache Sache war.

Unsere Arbeit fand zu einem Zeitpunkt in unserer Geschichte statt, als JS, Ajax und dynamisches HTML als Revolution angesehen wurden, die uns in die Zukunft führte. Plötzlich konnten wir eine Seite dynamisch aktualisieren, Daten von einem Server abrufen und mussten nicht zu anderen Seiten navigieren, was als langsam empfunden wurde und zwischen den beiden Seiten ein großes weißes Rechteck auf dem Bildschirm blinkte. Es gab einen von Jeff Atwood (dem Gründer von StackOverflow) populär gemachten Satz, der lautete: „Jede Anwendung, die in JavaScript geschrieben werden kann, wird irgendwann auch in JavaScript geschrieben.“ – Jeff Atwood

Für uns fühlte es sich damals wie eine Herausforderung an, diese Apps tatsächlich zu entwickeln. Es fühlte sich wie eine pauschale Zustimmung an, alles mit JS zu machen. Wir haben also alles mit JS gemacht und uns nicht wirklich die Zeit genommen, andere Vorgehensweisen zu erforschen. Wir verspürten nicht wirklich den Anreiz, richtig zu lernen, was HTML und CSS leisten können. Wir haben das Web nicht wirklich als sich entwickelnde App-Plattform in seiner Gesamtheit wahrgenommen. Meistens sahen wir darin etwas, das wir umgehen mussten, insbesondere was die Browserunterstützung betraf. Wir könnten einfach mehr JS einsetzen, um die Dinge zu erledigen. Hätte es mir geholfen, mehr darüber zu erfahren, wie das Web funktioniert und was auf der Plattform verfügbar ist? Klar, ich hätte wahrscheinlich eine Menge Code weglassen können, der nicht wirklich benötigt wurde. Aber damals vielleicht nicht so sehr. Sie sehen, die Browserunterschiede waren damals ziemlich groß. Dies war eine Zeit, in der der Internet Explorer noch der dominierende Browser war, dicht gefolgt von Firefox, der jedoch aufgrund der rasch wachsenden Beliebtheit von Chrome begann, Marktanteile zu verlieren. Obwohl Chrome und Firefox sich recht gut auf Webstandards einigen konnten, mussten wir aufgrund der Umgebungen, in denen unsere Apps ausgeführt wurden, IE6 lange Zeit unterstützen. Selbst als wir IE8 unterstützen durften, mussten wir uns mit vielen Unterschieden zwischen den Browsern auseinandersetzen. Darüber hinaus verfügte das damalige Web nicht über so viele direkt in die Plattform integrierte Funktionen.

Schneller Vorlauf bis heute. Die Dinge haben sich enorm verändert. Wir verfügen nicht nur über mehr dieser Fähigkeiten als je zuvor, sondern auch die Geschwindigkeit, mit der sie verfügbar werden, ist gestiegen. Lassen Sie mich die Frage noch einmal stellen: Würde es Ihnen heute helfen, sich die Zeit zu nehmen, mehr darüber zu erfahren, wie das Web funktioniert und was auf der Plattform verfügbar ist? Absolut ja. Wenn Sie heute lernen, die Webplattform zu verstehen und zu nutzen, haben Sie einen großen Vorteil gegenüber anderen Entwicklern. Egal, ob Sie an Leistung, Zugänglichkeit, Reaktionsfähigkeit oder einfach nur an der Bereitstellung von UI-Funktionen arbeiten: Wenn Sie dies als verantwortungsbewusster Ingenieur tun möchten, können Sie Ihre Ziele schneller und besser erreichen, wenn Sie die Tools kennen, die Ihnen zur Verfügung stehen. Für einige Dinge benötigen Sie möglicherweise keine Bibliothek mehr Wenn wir wissen, was Browser heute unterstützen, stellt sich die Frage: Worauf können wir verzichten? Brauchen wir im Jahr 2025 eine Div-Komponente, um abgerundete Ecken zu erstellen? Natürlich tun wir das nicht. Die Eigenschaft border-radius wird zu diesem Zeitpunkt seit mehr als 15 Jahren von allen derzeit verwendeten Browsern unterstützt. Und bald kommt auch Corner-Shape für noch ausgefallenere Ecken. Werfen wir einen Blick auf relativ neue Funktionen, die mittlerweile in allen gängigen Browsern verfügbar sind und mit denen Sie bestehende Abhängigkeiten in Ihrer Codebasis ersetzen können. Es geht nicht darum, sofort alle Ihre geliebten Bibliotheken aufzugeben und Ihre Codebasis neu zu schreiben. Was alles andere angeht, müssen Sie zunächst die Browserunterstützung berücksichtigen und Ihre Entscheidung auf der Grundlage anderer projektspezifischer Faktoren treffen. Die folgenden Funktionen sind in den drei Hauptbrowser-Engines (Chromium, WebKit und Gecko) implementiert. Möglicherweise haben Sie jedoch unterschiedliche Anforderungen an die Browserunterstützung, die Sie daran hindern, sie sofort zu verwenden. Jetzt ist jedoch immer noch ein guter Zeitpunkt, sich mit diesen Funktionen vertraut zu machen und vielleicht zu planen, sie irgendwann einmal zu nutzen. Popovers und Dialoge Die Popover-API, das HTML-Element

und das Pseudoelement ::backdrop können Ihnen dabei helfen, Abhängigkeiten von Popups zu beseitigen.Tooltip und Dialogbibliotheken wie Floating UI, Tippy.js, Tether oder React Tooltip. Sie übernehmen die Barrierefreiheit und Fokusverwaltung sofort für Sie, sind mithilfe von CSS hochgradig anpassbar und können problemlos animiert werden. Akkordeons Das Element
, sein Namensattribut für sich gegenseitig ausschließende Elemente und das Pseudoelement ::details-content machen Akkordeonkomponenten wie das Bootstrap Accordion oder die React Accordion-Komponente überflüssig. Allein die Nutzung der Plattform bedeutet, dass es für Leute, die sich mit HTML/CSS auskennen, einfacher ist, Ihren Code zu verstehen, ohne zuerst den Umgang mit einer bestimmten Bibliothek erlernen zu müssen. Dies bedeutet auch, dass Sie vor bahnbrechenden Änderungen in der Bibliothek oder der Einstellung dieser Bibliothek gefeit sind. Und das bedeutet natürlich, dass weniger Code heruntergeladen und ausgeführt werden muss. Sich gegenseitig ausschließende Detailelemente benötigen kein JS zum Öffnen, Schließen oder Animieren. CSS-Syntax Kaskadenebenen für eine besser organisierte CSS-Codebasis, CSS-Verschachtelung für kompakteres CSS, neue Farbfunktionen, relative Farben und Farbmischung, neue Mathematikfunktionen wie abs(), sign(), pow() und andere tragen dazu bei, Abhängigkeiten von CSS-Präprozessoren, Hilfsbibliotheken wie Bootstrap und Tailwind oder sogar Laufzeit-CSS-in-JS-Bibliotheken zu reduzieren. Der Game Changer :has(), eine der am häufigsten nachgefragten Funktionen seit langem, macht kompliziertere JS-basierte Lösungen überflüssig. JS-Dienstprogramme Moderne Array-Methoden wie findLast() oder at() sowie Set-Methoden wie different(), Kreuzung(), Union() und andere können Abhängigkeiten von Bibliotheken wie Lodash reduzieren. Containerabfragen Containerabfragen bewirken, dass UI-Komponenten auf andere Dinge als die Größe des Ansichtsfensters reagieren, und machen sie daher in verschiedenen Kontexten besser wiederverwendbar. Hierfür muss keine JS-lastige UI-Bibliothek mehr verwendet werden, und es ist auch nicht mehr erforderlich, eine Polyfüllung zu verwenden. Layout Grid, Subgrid, Flexbox oder Multi-Column gibt es schon seit langem, aber ein Blick auf die Ergebnisse der „State of CSS“-Umfragen zeigt, dass Entwickler dazu neigen, bei der Einführung neuer Dinge sehr vorsichtig zu sein und sehr lange zu warten, bevor sie es tun. Diese Funktionen sind seit langem in Baseline enthalten und Sie können sie verwenden, um Abhängigkeiten von Dingen wie dem Rastersystem von Bootstrap, den Flexbox-Dienstprogrammen des Foundation Framework, dem festen Bulma-Raster, dem Materialise-Raster oder den Tailwind-Spalten zu beseitigen. Ich sage nicht, dass Sie Ihr Framework aufgeben sollten. Ihr Team hat es aus einem bestimmten Grund übernommen, und es könnte ein großes Projekt sein, es zu entfernen. Aber wenn man sich anschaut, was die Webplattform ohne einen Drittanbieter-Wrapper bieten kann, bringt das viele Vorteile mit sich. Dinge, die Sie in naher Zukunft möglicherweise nicht mehr benötigen Werfen wir nun einen kurzen Blick auf einige Dinge, für die Sie in naher Zukunft keine Bibliothek benötigen werden. Das heißt, die folgenden Dinge sind noch nicht ganz bereit für eine Masseneinführung, aber es kann hilfreich sein, sich ihrer bewusst zu sein und eine mögliche spätere Verwendung zu planen. Ankerpositionierung Die CSS-Ankerpositionierung verwaltet die Positionierung von Popovers und Tooltips relativ zu anderen Elementen und sorgt dafür, dass sie auch beim Verschieben, Scrollen oder Ändern der Seitengröße sichtbar bleiben. Dies ist eine großartige Ergänzung zur zuvor erwähnten Popover-API, die die Migration weg von leistungsintensiveren JS-Lösungen noch einfacher macht. Navigations-API Die Navigations-API kann für die Navigation in Single-Page-Apps verwendet werden und könnte eine großartige Ergänzung oder sogar ein Ersatz für React Router-, Next.js-Routing- oder Angular-Routing-Aufgaben sein. Transitions-API anzeigen Die View Transitions API kann zwischen den verschiedenen Zuständen einer Seite animieren. Bei einer Single-Page-Anwendung erleichtert dies reibungslose Übergänge zwischen Zuständen und kann Ihnen dabei helfen, Animationsbibliotheken wie Anime.js, GSAP oder Motion.dev loszuwerden. Noch besser: Die API kann auch mit mehrseitigen Anwendungen verwendet werden. Erinnern Sie sich noch daran, als ich sagte, dass der Grund, warum wir in der Firma, in der ich vor 15 Jahren gearbeitet habe, Single-Page-Apps entwickelt haben, darin bestand, das weiße Blinken beim Neuladen von Seiten beim Navigieren zu vermeiden? Wäre diese API zu diesem Zeitpunkt verfügbar gewesen, hätten wir schöne Seitenübergangseffekte ohne ein Einzelseiten-Framework und ohne einen großen anfänglichen Download der gesamten App erzielen können. Scrollgesteuerte Animationen Scrollgesteuerte Animationen laufen an der Scrollposition des Benutzers und nicht im Laufe der Zeit, was sie zu einer großartigen Lösung für Storytelling und Produkttouren macht. Einige Leute haben es etwas übertrieben, aber wenn es richtig eingesetzt wird, kann es ein sehr effektives Design-Tool sein und dabei helfen, Bibliotheken wie ScrollReveal, GSAP Scroll usw. loszuwerdenWOW.js. Anpassbare Auswahlmöglichkeiten Eine anpassbare Auswahl ist ein normales

No spam. Join 138,000+ creators. Unsubscribe anytime.

Create Your Free Bio Page

Join 138,000+ creators on Seemless.

Get Started Free