Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Android-Entwicklung mit Kotlin

Android-Entwicklung mit Kotlin

Kotlin hat Java als Standard-Programmiersprache in der Android-Entwicklung abgelöst. Die schlanke Syntax, Null-Sicherheit und Koroutinen machen den App-Code kürzer, stabiler, übersichtlicher und weniger fehleranfällig. Außerdem steht mit Jetpack Compose ein Paradigmenwechsel bei der UI-Gestaltung vor der Tür. Worum es dabei geht und wie Sie mit Kotlin moderne Android-Apps entwickeln, zeigt Ihnen Thomas Künneth in seinem Vortrag. Dabei liefert er Ihnen auch jede Menge Beispiele aus der App-Entwicklung für Android.

https://rheinwerk-kkon.de/warm-up/kuenneth-android-entwicklung-mit-kotlin/

Thomas Künneth

April 22, 2021
Tweet

More Decks by Thomas Künneth

Other Decks in Technology

Transcript

  1. ?

  2. ▪ Funktioniert bei ausschließlichen Hintergrundaktivitäten recht gut ▪ Aber wie

    geht man vor, wenn die Hintergrundaktivität gelegentlich die UI aktualisieren soll? ▪ Denn wie praktisch alle UI Frameworks hat auch Android einen speziellen Thread dafür (Main- oder UI-Thread)
  3. ▪ Sind wie leichtgewichtige Threads ▪ Können Hierarchien bilden (structured

    concurrency) ▪ Werden durch Coroutine Builder erzeugt und gestartet ▪ Basieren auf dem Konzept unterbrechbarer Funktionen ▪ Haben einen Gültigkeitsbereich und werden mit Dispatchern ausgeführt
  4. • Layout-Files • Entfalten vom Komponentenbäumen zur Laufzeit • „Klassischen“

    Komponenten • Referenzen auf Views • Alle Änderungen erfolgen durch Manipulationen eines Objektgraphs
  5. ▪ Klappt bei einfachen Oberflächen sehr gut ▪ Wird mit

    zunehmender Komplexität schwierig zu warten ▪ Und damit fehleranfällig
  6. ▪ Keine Layout-Files mehr ▪ Kein Entfalten vom Komponentenbäumen ▪

    Keine „klassischen“ Komponenten ▪ Keine Referenzen auf Views
  7. ▪ Kleinste Einheit ist „composable function“ ▪ Wird mit @Composable

    annotiert ▪ Oberfläche entsteht durch Schachteln (Aufrufen) von Composables ▪ Bei Änderung an Daten: nicht Manipulation eines Objektgraphen, sondern Neukomposition
  8. ▪ Grundsätzlich gilt: Composables so einfach wie möglich bauen ▪

    Ideal: alle Werte kommen „von außen“ (Text()) ▪ Wenn Zustand gehalten werden muss: remember {} ▪ Erzeugen z. B. mit mutableStateOf() ▪ Fachdaten werden „woanders“ gehalten, z. B. View Model
  9. ▪ Nullsicherheit kann Code stabiler machen ▪ Schlanker Code ist

    leichter lesbar ▪ Weniger Boilerplate-Code durch vorhandene Erweiterungsfunktionen
  10. ▪ Zentrale Funktionen nicht mehr Teil der Plattform ▪ Immer

    mehr Wissen um Bibliotheken nötig ▪ Projekt-Setup wird immer aufwendiger ▪ Häufige Updates der Jetpack-Bestandteile