Komponenten Architektur
Eine Einführung
by Benedikt Kusemann
@kadrei
KOMPONENTENBauen wir ein HTML-Element
1
WAS WÄRE WENN?
<slideshow
sources=”...”
/>
KOMPONENTEN - YOUR EVERYDAY WEB
CSS
HTML
JS
ASSETS
CSS MODULES
lokal angewendetes CSS
WEB
COMPONENTS
Architektur
Container und UI-Komponenten 2
LET’S MAKE A TODO APP!
<todos />
DIE BAUSTEINE EINER TODO APP
<list items=”...”>
...
</list>
DIE BAUSTEINE EINER TODO APP
<todo-item
item=”...”
onClick=”...”
/>
DIE BAUSTEINE EINER TODO APP
<todo-add
onSubmit=”...”
/>
DIE BAUSTEINE EINER TODO APP
<todos>
<todo-add onSubmit=”...” />
<list items=”...” >
<todo-item item=”...” onClick=”...” />
</list>
</todos>
DIE BAUSTEINE EINER TODO APP
TODO App Architektur
- Baumstruktur
<todos>
<todo-add onSubmit=”...” />
<list items=”...” >
<todo-item item=”...” onClick=”...” />
</list>
</todos>
DIE BAUSTEINE EINER TODO APP
UI
- Repräsentiert einen State
- Verändert State nicht (pure)
- Weitergabe von Events
<todos>
<todo-add onSubmit=”...” />
<list items=”...” >
<todo-item item=”...” onClick=”...” />
</list>
</todos>
DIE BAUSTEINE EINER TODO APP
Container
- Stateful
- Weitergabe von Daten
- State-Änderungen durch Events
<todos items=”...” />
Oder:
<todos id=”...” />
EINBINDEN DER TODO KOMPONENTE
VOR & NACHTEILE
Sowie Frameworks 3
KOMPONENTEN - VOR & NACHTEILE
Fokussiert
Komponenten sind spezialisiert.
Eine Fokussierung kann sowohl auf
UI als auch Funktionalität
bestehen.
Kombinierbar
Über fest definierte Schnittstellen
sind Komponenten einfach zu
kombinieren
Strukturiert
Die Baumstruktur ähnelt der
bekannten DOM-Struktur, ist aber
weitaus übersichtlicher. Bei
größeren Applikationen neigt die
Struktur aber schnell zu wachsen.
Bündelung
Alle Ressourcen sind in der
Komponente verpackt und gelten
lokal. Dadurch werden globale
Seiteneffekte verhindert.
Interne Erweiterbarkeit
Während eine Applikation einfach
erweiterbar bleibt sind einzelne
Komponenten ohne interne
Veränderungen nur schwer
erweiterbar.
FRAMEWORKS
DANKE!
Fragen?
@kadrei / benedikt.kusemann@gmail.com

Komponentenarchitektur