Kotlin Multiplatform App-Entwicklung mit Compose Multiplatform
›Kotlin Multiplatform‹ (KMP) ermöglicht es, die Geschäftslogik einer Anwendung in einer einzigen Codebasis zu entwickeln und auf verschiedenen Plattformen wie Android, iOS, Desktop und Web wiederzuverwenden. Mit ›Compose Multiplatform‹(CMP) wird auch die UI-Entwicklung plattformübergreifend möglich, sodass selbst komplexe Anwendungen weitgehend aus einem gemeinsamen Codebestand gepflegt werden können. Dies reduziert Entwicklungsaufwand, erhöht die Konsistenz und verkürzt die Time-to-Market. In dieser Schulung lernen die Teilnehmer, plattformübergreifende Apps mit Kotlin Multiplatform zu entwickeln und bei Bedarf mit Compose Multiplatform auch die UI zu teilen. Sie erstellen Projekte für Android, iOS, Desktop und Web, setzen Plattform-spezifische Oberflächen mit Jetpack Compose und SwiftUI um und nutzen CMP für einheitliche UI-Komponenten. Zusätzlich werden Themen wie Dependency Injection mit Koin, persistente Datenhaltung mit Room, Netzwerkkommunikation mit Ktor und JSON-Serialisierung behandelt. Ziel ist es, produktiv plattformübergreifende Lösungen mit modernsten Kotlin-Technologien zu realisieren.
Inhalte des Seminars
Einleitung
- Überblick Lösungen für Multiplatform App Entwicklung
- Stand Kotlin Multiplatform (KMP) und Compose Multiplatform (CMP)
- Projektstruktur in Android Studio
- Moderne Gradle Variante (Kotlin statt Groovy)
- Version Catalog, das Toml-Format, Umgang mit Libraries und Plugins
- Beispielprojekte von Jetbrains
Oberfläche mit Jetpack Compose
- Reaktive UI, Datenfluss in nur einer Richtung
- Hot Reload in Android Studio
- Compose State und remember
- State hoisting, Stateless und Stateful Komponenten
- Layoutcontainer, Lazy Varianten
- Vorstellung Komponenten für Text, Bilder, Selektion uvm
- Aufbau komplexer eigener Komponenten, Packagestruktur, Preview
- Coil für Laden von Bildern
- Organisation komplexer Seiten durch Scaffold
- Navigations- und Dialogelemente
- Animationen
- Einsatzmöglichkeiten
LaunchedEffectund andere Effekte - Jetpack Compose Navigation als offizielle Navigationslösung
- Alternativen zu Material3 für eigene Komponenten wie z. B. Compose Unstyled
ViewModel
- Reaktive Programmierung
- State oder Flow im ViewModel
- Architekturmodelle MVVM und MVI
- Ausführlich: StateFlow als Standarddatentyp
- Überblick: Flowoperationen
SwiftUI als GUI Technik bei iOS
- Funktionsweise in Xcode, Previews
- Basis-Container
VStack,HStack,ZStack - Komponenten für Text, Bilder, Auswahl etc.
- Kurzer Background zu Swift Syntax (ähnlich Kotlin)
- View Modifier
- Aufbau eigener komplexer Komponenten
- Datenhaltung, das Observation Framework
- Navigationselemente
- Kleine iOS Apps in Xcode
App-Projekt für Android und iOS mit KMP, ohne CMP
- Einrichten in Android Studio
- Separate Screens für Android (Jetpack Compose) und iOS (SwiftUI)
- Separate Navigation
- Einrichten von Persistenz (kleine Datenmengen) über
DataStore
Dependency Injection mit Koin
- Grundidee von DI
- Service Locator
- Einrichtung
- Bereitstellung von Objekten
- Neue Variante: Annotationen und code generation
- Handling von ViewModels
Lokale Datenbank mit Room
- Bestandteile, Einrichtung
- Der Room Compiler
- Unterschiedliche Erzeugung der DB je nach Platform
- Dao und übliche Funktionen
- Ansprechen über Repository
Ktor als Netzwerkclient
- Kurzvorstellung Einsatzmöglichkeiten Ktor Server und Client
- Einbinden von Ktor
- Konfiguration
- Ktor Client, eigene Utilities für knappen Aufruf
- Einbinden von kotlinx.serialization für Parsen von JSON
- Anpassungsmöglichkeiten an Real-Life-JSON
- Verwendung der
Result-Klasse für API-Aufrufe
App Projekt mit KMP und CMP
- Featurepackages mit domain, data, gui Unterpackages
- Mehrere Screens, modale Elemente
- Ktor Client und
kotlinx.serializationfür das Ansprechen eines Restful Service (JSON) - Lokale Datenbank mit Room
- Strategie für Offline-first
- Handeln von Bildern mit Coil
- Mobile Apps für Android und iOS
- Desktop-Variante und optional Web über WebAssembly
Termine / Kontakt
Jedes Seminar führt tutego als kundenangepasstes Inhouse-Seminar durch.
Alle unsere Seminare können zudem als Live-Online-Seminar besucht werden.
Wir helfen Ihnen gerne bei der Anmeldung und einen passenden Termin zu finden. Kontaktieren Sie uns per E-Mail oder unter 0800/tutegos (kostenlos aus allen Netzen).
Die Fakten
- Empfohlene Schulungsdauer: 5 Tage, insgesamt 40 Unterrichtsstunden à 45 Minuten
- Zielgruppe: Wer mit Kotlin-Erfahrung einen kompakten Einstieg in Multiplatform Entwicklung mit KMP und optional CMP erhalten will
- Schulungsunterlagen: Umfassende Seminarunterlagen und Referenzdokumentation
Alle Kategorien
- .NET
- AutoCAD
- Big Data
- C und C++
- Datenbanktechnologien
- Digitale Kompetenz
- HTML und CSS
- Informationssicherheit und Recht
- iWork
- Java
- JavaScript und Framework
- KI, ML, AI
- Kotlin
- Linux
- MATLAB
- Mobile Geräteentwicklung
- Netzwerke
- Office
- Oracle
- Programmiersprachen
- Python
- SAP
- Server-Administration und Systemverwaltung
- Software-Architektur
- Web-Backend
- XML