Web Components als nachhaltige Entwicklungstechnologie


Finn Nils Gedrath

Präsentation
29. June 2021, 09:00 Uhr, Raum https://th-koeln.zoom.us/j/86224491085 (Passwort steht im Ilias)
Betreuer
Christian Noss
Kooperationspartner
TH Köln & Junges Musical Leverkusen e. V.
Stichworte
Frontend-Development, Componend-Based Development, Langlebigkeit, Lean Web, Technologieauswahl, JavaScript-Frameworks, Standards, Web Components
Bildrechte
Omar Flores on Unsplash

Abstract

Bevor mit der Entwicklung eines interaktiven Systems begonnen werden kann, müssen unteranderem mehrere Technologieentscheidungen getroffen werden. In der Web-Frontentwicklung wird durch die steigende Diversität von standardisierten Technologien und Drittanbieter-Frameworks bzw. Libraries diese Entscheidung erschwert. Für den Kooperationspartner Junges Musical Leverkusen e. V. ist es besonders wichtig, langlebige Software zu entwickeln. Der ehrenamtlich-arbeitende Verein hat eine geringe Ressourcenverfügbarkeit, um Entwicklungsprojekte kontinuierlich zu pflegen. Für ein Ticketverkaufsystem soll nun eine langlebige Technologieentscheidung getroffen werden.

In dieser Arbeit wird der Web Components Standard vorgestellt und auf seine Langlebigkeit untersucht. Dazu werden Standards im Web im Allgemeinen vorgestellt. Unterschiedliche Entscheidungsorgane und Standardisierungsprozesse werden erläutert. Um eine Aussage über die Lebenszeit von Standards in Web Browsern zu treffen, wird ein Paper des Google-Chrome-Teams vorgestellt, aus dem geschlossen werden kann, dass keine allgemeingültige Vorhersage über den Zeitpunkt des Verfalls von Standards getroffen werden kann. Web Standards werden in Abhängigkeit von ihrer Verwendung im Web, Sicherheitsproblemen und anderen Faktoren als veraltet makiert.

Der komponenten-getriebene Ansatz von Software-Entwicklung wird vorgestellt, um Web Components im Kontext der Softwareentwicklung zu verstehen. Die Spezifikationen der Webtechnologien für den Web Components Standard werden im Detail vorgestellt, um im weiteren Verlauf der Arbeit Grenzen des Standards zu erörtern. Des Weiteren wird eine Auswahl von Drittanbieter-Frameworks nach einer gekürzten Liste von Metriken verglichen. Konzepte und Prinzipien dieser Frameworks werden erläutert.

Es werden allgemein-gültige Konzepte und Prinzipien vorgestellt, die das Thema der Langlebigkeit von Software adressieren. Hierzu zählen Test-Driven Development, Coding Style und Einfachheit. Der Diskurs um diese Konzepte wird angerissen. Als Konzept für die Langlebigkeit von Web-Frontendprojekten wird die Bewegung Lean Web vorgestellt.

Es wird damit abgeschlossen, dass der Web Component Standard eine breite Unterstützung der Browser-Hersteller hat und somit in Webprojekten auch langfristig verwendet werden kann. Prinzipien wie der Einfachheit und Lean Web unterstreichen die Verwendung des Standards. Es können jedoch nicht alle Konzepte der Frontend-Frameworks, wie beispielsweise eines zentralen State-Storage, mit Hilfe von Standards umgesetzt werden. Die Notwendigkeit dieser Konzepte muss weiter untersucht werden und kann bei Bedarf durch einzelne Bibliotheken ersetzt werden. Eine allgemein-gültige Bewertung des Web Components Standard kann nicht durchgeführt werden, da hierfür keine Metriken ermittelt oder gefunden werden konnten. Somit kann nur durch Indizien gestützte Empfehlung für den Web Components Standard gegeben werden.

Material & weiterführende Infos

Vorschläge für weitere Arbeiten im Themenfeld

Umsetzung eines interaktiven Web-Frontends rein mit Web Components und Web Standards. // Bestehende Designsysteme mit Web Components umsetzen und evaluieren (Material, Carbon, Adobe etc.) // Geschwindigkeit und Performance von Web Components untersuchen und evaluieren. Methoden zur Verbesserung ermitteln. // Untersuchung von zukünftigen Web Standards auf ihre Relevanz und Möglichkeiten. Ausblick auf neue Webtechnologien. // Legacy Code iterativ mit Hilfe des Test-Driven-Development Ansatzes erneuern. // Langlebigkeit von Software für andere Domänen, Anwendungsfälle oder organisatorische Anforderungen untersuchen.