Komponente (Vue/Frontend allgemein)

Alltags-Analogie

einem einzelnen Lego-Stein vergleichen

Was steckt dahinter?

Eine Komponente ist der grundlegende Baustein moderner Frontend-Entwicklung und lässt sich am besten mit einem einzelnen Lego-Stein vergleichen: Für sich genommen funktioniert sie bereits eigenständig, besitzt eine klar definierte Form und Funktion, lässt sich aber zugleich beliebig oft wiederverwenden und mit anderen Bausteinen zu größeren, komplexeren Strukturen zusammensetzen. Ein Button, ein Eingabefeld, eine ganze Navigationsleiste oder sogar eine komplette Produktkarte in einem Online-Shop können jeweils als eigene Komponente umgesetzt werden. Eine typische Komponente in Vue.js vereint dabei drei Aspekte an einer einzigen, übersichtlichen Stelle: das Template (die HTML-Struktur, wie die Komponente aussieht), die Logik (das JavaScript, das ihr Verhalten steuert) und häufig auch das zugehörige Styling (CSS), das nur für genau diese Komponente gilt. Diese Bündelung sorgt dafür, dass alles, was zu einem bestimmten Element gehört, auch tatsächlich an einer Stelle im Code zu finden ist, statt über mehrere, lose verknüpfte Dateien verstreut zu sein. Der eigentliche Mehrwert von Komponenten zeigt sich besonders in größeren Projekten: Wird etwa ein einheitlicher Button mit bestimmtem Design und Verhalten an fünfzig verschiedenen Stellen einer Anwendung benötigt, definiert man ihn einmal als Komponente und bindet ihn überall dort ein, wo er benötigt wird. Soll sich später das Design des Buttons ändern, reicht eine einzige Anpassung an der Komponente selbst, die sich automatisch überall durchsetzt, statt fünfzig einzelne Stellen im Code manuell durchsuchen und anpassen zu müssen.