HomeSeminareKotlinKOTLIN2

Kotlin Fortgeschrittene Themen

Kotlin ist eine vielseitige, moderne JVM-Sprache, die nicht nur durch ihre klare Syntax und Null-Safety punktet, sondern auch fortschrittliche Möglichkeiten für funktionale Programmierung, asynchrone Verarbeitung und domänenspezifische Sprachen (DSLs) bietet. Durch hervorragende Interoperabilität mit Java und umfangreiche Standardbibliotheken lässt sich Kotlin nahtlos in bestehende Projekte integrieren. In komplexen Softwareprojekten erlaubt Kotlin dank Coroutines, Flows, Reflection und flexiblen Bibliotheken eine hochmoderne, produktive Arbeitsweise. In dieser Schulung vertiefen die Teilnehmer ihre Kotlin-Kenntnisse mit fortgeschrittenen Sprachfeatures und praxisnahen Framework-Techniken. Sie lernen den gezielten Einsatz von Annotationen, Reflection und DSLs, die effiziente Umsetzung asynchroner Verarbeitung mit Coroutines und Flows, sowie den produktiven Einsatz von Libraries wie Ktor, Arrow und kotlinx.serialization. Darüber hinaus wird Jetpack Compose für Desktop vorgestellt, um moderne UI-Anwendungen zu entwickeln. Ziel ist es, Kotlin in komplexen Projekten sicher und idiomatisch einzusetzen.
[LOGO]
[decoration]

Inhalte des Seminars

Annotationen, Reflection und DSLs

  • Annotationen: Definition und Anwendung
  • Annotationen, um Bytecode zu beeinflussen wie @JvmOverloads
  • Metaannotationen wie @Target und @Retention
  • Annotationen in Frameworks
  • Nutzung von Java Reflection
  • Kotlin Reflection mit der Bibliothek kotlin-reflect, KClass
  • Syntaxelemente für DSLs
  • Beispiel: Die HTML DSL in kotlinx.html
  • Delegierte Properties

Coroutines und Flows

  • Vergleich zu Threads
  • Contexts und Dispatchers
  • Debugging von Coroutinen
  • Bezug zu Sequences und Iterators
  • Historie Reactive Extensions
  • Structured Concurrency, Cancellation, Exceptionhandling
  • Flows: Erzeugung
  • Vielfältige mittlere Operatoren auf Flows
  • Terminale Operatoren
  • Hot- vs. Cold-Flows
  • Spezielle Flows: SharedFlow und StateFlow, Einsatzempfehlungen
  • Testframework Turbine
  • Channels als Low-Level-Konstrukt, Einsatz bei One-Time- Events

Nützliche Libraries

  • kotlinx.serialization mit JSON und anderen Formaten
  • Arbeiten mit Java-XML-Libraries, z. B. XOM
  • kotlinx.dateTime
  • Dokumentation mit Dokka
  • Arrow.kt mit funktionalen Erweiterungen (z. B. Either, Lenses, Option)

Ktor für Client und Server

  • Vergleich zu anderen Serverframeworks
  • Setup Varianten, verschiedene Engines
  • Bau einer dynamischen Website
  • Request, Response Objekt, Cookies, Session handling
  • Templatesprachen
  • Authentication und Authorization
  • Bau eines Restful Service
  • OpenAPI Generierung und Bereitstellung
  • Web Sockets, chatartige Programme
  • Server sent events
  • Einsatz als Http-Client, z. B. um JSON abzurufen

Jetpack Compose für Desktop

  • Vergleich zu anderen UI-Technologien (JavaFX, SwiftUI, React)
  • Compose Varianten
  • Box, Row, Column als Basislayouts
  • Einzelkomponenten Text, Buttons, Listen uvm
  • Stateful und stateless Komponenten
  • Einsatz eines ViewModel
  • Strukturierung als MVVM oder MVI
  • Spezielle Desktoperweiterungen
  • LaunchedEffect und andere Effekte
  • Canvas mit Zeichenoperationen
  • Animationen

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: 3 Tage, insgesamt 24 Unterrichtsstunden à 45 Minuten
  • Zielgruppe: Wer mit praktischer Erfahrung von Kotlin einen breiten Überblick über weitergehende Verwendungsweisen von Kotlin an ganz unterschiedlichen Stellen gewinnen will.
  • Schulungsunterlagen: Umfassende Seminarunterlagen und Referenzdokumentation

Alle Kategorien

Was Teilnehmer sagen