Declarative User Inter­faces

Es ist schon eine Weile her, dass ein Kollege von mir begeistert von Jetpack Compose erzählt hat. Er benutzte Sätze wie „Das wird alles in der Android-Programmierung verändern“ und „Es ist schon so toll (im Alpha-Stadium), ich kann es kaum erwarten, es in der Produktion zu sehen.“

Bleibt es – oder: sollte es mich interessieren?

Um ehrlich zu sein, schätze ich ihn als Entwickler und Mensch sehr. Aber er ist eine Art Nerd. Also habe ich damals nicht so genau zugehört, wie ich es hätte tun sollen. Warum sollte mich das interessieren? Eine andere Art, Dinge in Android zu tun ... es scheint, als würde sich Android etwa alle zwei Jahre neu erfinden. Nun, Hut ab vor Paul: Du hattest Recht. Dies ist das nächste große Ding und nicht nur für Android. Hier ist der Grund.

Was war das noch mal?

Für diejenigen, die noch nichts davon gehört haben, wollen wir kurz erläutern, was Jetpack Compose eigentlich ist. Es ist eine Methode, um Ihre Benutzeroberfläche auf deklarative Weise zu implementieren. Sie müssen keine Layout-XML-Dateien und View-Klassen mehr schreiben. Mit Jetpack Compose kommt das alles zusammen - direkt in Ihrer Codebase. Sie verwenden Kotlin als Sprache, um Ihre Benutzeroberfläche zu beschreiben (deklarieren/komponieren) - alles aufgeteilt in kleine, verdauliche Komponenten.

Hmm... kommt Ihnen das bekannt vor? Sind Sie zufällig ein iOS- oder React-Entwickler? Oder plattformübergreifend mit Xamarin, Flutter? Oder sogar QML? Im Grunde haben alle Big Player der modernen Programmiertechnologien bereits den Übergang zur deklarativen UI vollzogen - aus guten Gründen.

Doch bevor wir mit unserem Thema UI-Entwicklung fortfahren, sollten wir einen Schritt zurücktreten und uns die Unterschiede zwischen deklarativer und imperativer Programmierung genauer ansehen, um ein vollständiges Bild zu erhalten.

Declarative vs. imperative Programming

Denken Sie an Ihre bevorzugte Programmiersprache, die Sie wahrscheinlich täglich verwenden. Unterstützt sie deklarative oder imperative Programmierung? Haben Sie jemals darüber nachgedacht? Wahrscheinlich nicht. Die Antwort ist ziemlich überraschend: Die meisten modernen Sprachen unterstützen beides gleichermaßen! Imperative und deklarative Programmierung sind Programmierparadigmen - sie schließen sich nicht gegenseitig aus. Aber natürlich sind sie nicht dasselbe. Werfen wir also einen Blick auf die Unterschiede.

Hier ist ein einfaches Beispiel. Wir wollen die Summe einer Liste von Zahlen berechnen. Der folgende Codeschnipsel demonstriert, wie man die Summe in TypeScript zwingend implementieren muss.

Neugierig geworden? Jetzt weiterlesen.

Hier können Sie kostenfrei den vollständigen UXMA-Trendreport 2022 herunterladen und von weiteren spannenden Artikeln profitieren!

Insights

Gemeinsam etwas Großes starten?