iX 1/2020
S. 122
Praxis
Mobile Programmierung

Deklarative Nutzeroberflächen übernehmen die App-Entwicklung

Wirksam angeleitet

Thomas Künneth

Deklarativen UI-Frameworks gehört die App-Zukunft. Aus gutem Grund: Der Code ist besser zu lesen und zu warten als mit imperativen Ansätzen.

Mit imperativen UI-Frameworks müssen Entwickler alle Schritte, die für das Anzeigen und Verändern der Benutzeroberfläche notwendig sind, manuell programmieren. Ändert sich der Zustand der App, müssen sie den Komponentenbaum anpassen – aufwendig und fehleranfällig. Bei deklarativen Ansätzen beschreibt man hingegen auf Basis des aktuellen Zustands, wie die Oberfläche aussehen soll. Wie das Framework den zuletzt aktuellen Stand entsprechend modifiziert, ist ihm überlassen – im Idealfall erzeugt es einen besser les- und wartbaren Quelltext.

Komponentenbäume strukturieren die Oberfläche

Meist fassen UI-Frameworks Bedienelemente zur Laufzeit zu baumartigen Strukturen zusammen. Je nach Programmiersprache sind deren Knoten einfache Datenstrukturen oder echte Objekte. Die Wurzel repräsentiert eine Seite, ein Fenster oder den Bildschirm. Kinder sind entweder einfache Elemente wie Button, Label, Textfeld oder Grafik – oder sogenannte Container. Diese können – wie die Wurzel – ebenfalls normale Bedienelemente und weitere Container enthalten.