2 Punkte von GN⁺ 2024-10-01 | 1 Kommentare | Auf WhatsApp teilen

Web Components sind okay

  • In der Webentwicklungs-Community wird oft über Web Components gestritten
  • Ryan Carniato schrieb den Artikel "Web Components Are Not the Future", und Cory LaViska antwortete mit "Web Components Are Not the Future — They’re the Present"
  • Der Autor versucht, diese Debatte friedlich zu klären

Performance

  • Web Components basieren auf Custom Elements, sodass alle Schnittstellen über das DOM verarbeitet werden
  • Die Minimierung von DOM-Knoten ist der Schlüssel zur Performance-Optimierung
  • Performance ist jedoch nicht alles; auch andere Faktoren wie Wartbarkeit, Sicherheit, Usability und Barrierefreiheit müssen berücksichtigt werden
  • Zum Beispiel kann sich die Performance verbessern, wenn aria-*-Attribute nicht gerendert werden, aber für die Barrierefreiheit sind sie unbedingt erforderlich
  • Performance-Optimierung ist wichtig, doch in der Praxis haben einfachere Probleme wie Layout-Thrashing, Network Waterfalls und unnötige Re-Renders oft größeren Einfluss auf die Performance

Die Kosten von Standards

  • Die Unterstützung von Standards erfordert zusätzlichen Code und zusätzliche Ausführung
  • Die Unterstützung von Web Components ist jedoch keine große Belastung
  • Es ist selbstverständlich, neue Funktionen der Web-Plattform zu berücksichtigen; das gilt auch für Symbols, Proxys und Promises
  • Ein Teil der Webentwicklungs-Community möchte Web Components vielleicht nicht unterstützen, und das ist in Ordnung
  • Das Web ist ein großes Zelt, das unterschiedliche Ansätze zulässt

Fazit

  • Web Components sind an sich kein Problem, aber das Versprechen, dass sie alles ersetzen können, ist riskant
  • Web Components haben Schwächen bei Server-Side Rendering, Barrierefreiheit und Interoperabilität
  • Andere Frameworks wie React, Solid und Svelte haben weiterhin Bereiche, in denen sie glänzen
  • Das Web wird für viele unterschiedliche Zwecke genutzt, und das bietet Gelegenheiten, Kreativität auszudrücken
  • Vielleicht passen Web Components nicht zu dir, und das ist in Ordnung

# Zusammenfassung von GN⁺

  • Dieser Artikel zeigt verschiedene Perspektiven auf Web Components und betont das Gleichgewicht zwischen Performance und anderen Faktoren
  • Web Components können nicht alles ersetzen, sind aber für bestimmte Einsatzzwecke geeignet
  • Die Webentwicklungs-Community lässt unterschiedliche Ansätze zu, und das fördert Kreativität
  • Wenn Web Components nicht passen, kann man andere Frameworks verwenden
  • Die vielfältigen Möglichkeiten des Webs eröffnen neue Chancen für kreativen Ausdruck

1 Kommentare

 
GN⁺ 2024-10-01
Hacker-News-Kommentare
  • Beim Artikel „Web Components Are Not the Future“ fehlte aus meiner Sicht eine überzeugende Argumentation

    • Der aktuelle Zustand der Frontend-Frameworks ist chaotisch
    • Ich möchte keine komplexen Frameworks lernen
    • Ich will keine magischen Funktionen, die man ohne Dokumentation nicht verstehen kann
    • Web Components sind intuitiv und bieten durch Shadow DOM Isolation
    • Ich finde, aus der React-Ära sollte man nur JSX beibehalten
  • Die Meinungen gehen auseinander, weil Menschen unterschiedliche Optimierungen verfolgen

    • Für VC-finanzierte Startups können Frameworks passend sein
    • In akademischen Forschungslaboren sind Web Components mit geringeren Wartungskosten besser
    • Der Wechsel von Vue zu Web Components war eine sehr gute Erfahrung
    • Mit weniger Abhängigkeiten wurde die Verwaltung einfacher
  • Svelte unterstützt die Erstellung von Web Components über die Custom-Elements-API

    • Svelte wird zu JS/HTML/CSS kompiliert und macht es leicht, wiederverwendbare Komponenten zu erstellen
  • Ich denke nicht, dass Web Components das Leben von Full-Stack-Entwicklern verbessern

    • Die meisten Beispiele sind kaum mehr als das Templating von Daten in HTML
    • Das konnte man schon mit Handlebars erledigen
  • Web Components und Shadow DOM können die Funktionsweise von Browser-Erweiterungen behindern

    • Browser-Hersteller haben es mit der Lösung dieses Problems nicht eilig
  • Interoperabilität bringt Leistungskosten mit sich

    • Wenn mehrere Frameworks jeweils ihre eigene Runtime haben, kann das zu Leistungseinbußen führen
    • Web Components hinken technologisch hinterher und erhöhen die Komplexität
  • Ich denke, dass Web Components die aktuellen Frontend-Probleme lösen können

    • Die Performance ist hervorragend, und Datentabellen lassen sich flüssig scrollen
    • Ich bereite gerade eine Web-Components-Bibliothek vor
  • Ich habe eine JS-Codebasis mit 250.000 Zeilen übernommen und refaktoriere sie in Web Components

    • Ich habe den Codeumfang um 50.000 Zeilen reduziert
    • Das hilft dabei, die Funktionalität des bestehenden Codes zu verstehen
  • Web Components können auch ohne JS funktionieren

    • Ich habe sie ein paarmal für Progressive Enhancement verwendet
    • Sie funktionieren gut mit Server-Side Rendering
  • Frameworks und Web Components sind Werkzeuge, die unterschiedliche Probleme lösen

    • Frameworks kümmern sich um das Rendern von Views abhängig vom Zustand
    • Web Components lösen das Problem des State Managements nicht
    • Ich denke, beide können koexistieren