Workshops
Kotlin-Workshops für alle, die richtig tief eintauchen wollen
Erfahrene Experten der Branche teilen in 7 ganztägigen Online-Workshops ihr Kotlin-Wissen mit Dir – intensiv, praxisnah und auf Deinen Erfolg ausgerichtet. Die Workshops starten um 9:30 und enden um 17:00 Uhr. Wähle jetzt Dein Wunschthema, und sichere Dir einen der limitierten Plätze.
Von Java nach Kotlin –
was ist neu, was ist anders?
Werner Eberling
Kotlin Multiplatform – how to share code on multiple platforms
Ash Davies & Marc Reichelt
Koroutinen in Kotlin –
parallel, aber strukturiert
Werner Eberling
Workshop 1 – Werner Eberling
Von Java nach Kotlin – was ist neu, was ist anders?
Dieser Workshop bietet Java-Entwicklerinnen und Java-Entwicklern eine Einführung in Kotlin. Du lernst zunächst die kompakte, einprägsame Syntax der Sprache kennen und machst Dich dann mit den Möglichkeiten der objektorientierten und der funktionalen Programmierung in Kotlin vertraut. Viele Beispiele und Programmierübungen helfen Dir dabei, das Gelernte zu festigen. Für einen gelungen Einstieg solltest Du Dinge von Anfang an richtig machen. Deshalb stellt Werner Eberling in diesem Workshop die wichtigsten Sprachkonstrukte in Kotlin denen in Java gegenüber.
Der Workshop behandelt diese Themen:
- Einführung in Kotlin
- Klassen und Objekte
- Funktionale Programmierung
- Ausblick: Nebenläufigkeit mit Koroutinen
- Viele Beispiele und Übungen
So nutzt Du den Workshop am besten
Java-Wissen wird für diesen Workshop vorausgesetzt. Außerdem benötigst Du einen Rechner mit Admin-Zugriff, mit IDE und aktueller Kotlin-Unterstützung. Deine Hardware: Laptop (kein Tablet), aktuelle CPU, mind. 8 GB RAM, mind. 50 GB freier Festplattenplatz, Internetzugriff. Installiere vor dem Workshop bitte die aktuelle IntelliJ IDEA Community Edition mit aktiviertem Kotlin-Plugin, einen PDF-Reader und git (optional). Die Teilnehmerzahl ist begrenzt, sodass intensives Lernen, gutes Arbeiten und reger Austausch garantiert sind.
Workshop 2 – Ash Davies & Marc Reichelt
Kotlin Multiplatform – how to share code on multiple platforms
Kotlin Multiplatform (KMP) allows us to author code for many platforms – whether it be Android, iOS, the web or desktop. Its strength is to write code that is platform-agnostic, and leverage the UI frameworks that the platforms are already best at, like Swing, SwiftUI, or Jetpack Compose.
In this workshop, you will learn how to prioritise platform-agnostic code to prepare your application for any platform with minimum configuration. For example how to choose your dependencies appropriately for your target platform, how to handle native operations from common code, and how to introduce seams into your code.
Kotlin isn’t just for Android, that means you can use it for a wide range of host environments, including iOS. Marc will show you how Kotlin libraries will look like from an iOS perspective.
Key takeaways:
- Writing code for multiple platforms
- How to unit test in a KMP world
- The awesome part of KMP: accessing native APIs of each platform
- How Kotlin Native works under the hood
- How to handle persistence in multiplatform
How to get the most out of this workshop
In order to get the most out of this workshop, you should come prepared with an applicable authoring environment (i.e. IntelliJ IDEA 2022.1.2, or Android Studio Chipmunk, or later), a Mac with Xcode for iOS topics, and a configured Android emulator or physical device setup for USB debugging. You should have a basic to intermediate ability with Kotlin, Gradle, and IntelliJ (Android Studio). Bonus points if you’ve already used Kotlin Multiplatform, or JetBrains Compose for Desktop.
Workshop 3 – Philipp Hauer
Deep Dive into Testing mit Kotlin
Das Testen in Kotlin macht Spaß und ist gleichzeitig knifflig. Wir können stark von Kotlins mächtigen Sprachfeatures profitieren und lesbare und kompakte Tests schreiben. Um idiomatischen Kotlin-Testcode zu schreiben, solltest Du aber auch einige Fallstricke beachten und nützliche Best Practices kennen.
Der dreiteilige Workshop mit Philipp Hauer behandelt die gesamte Vielfalt des Testens mit Kotlin:
- Mock-based Unit Tests mit Junit5 und einen optimalen Testaufbau, Fixturehandling und Assertion-Verwendung
- Praxisnahe Integration Tests mit Kotlin, TestContainers und WebMockServer
- Data-Driven und Property-Based Tests mit Kotest
So nutzt Du den Workshop am besten
Den Teilnehmenden wird vor Beginn des Workshops ein GitHub-Repository zur Verfügung gestellt, das den HTTP-Backend-Service sowie eine Musterlösung für alle Aufgaben beinhaltet. Die Teilnehmerzahl ist begrenzt, sodass intensives Lernen, gutes Arbeiten und reger Austausch garantiert sind.
Workshop 4 – Michael Sperber
Einführung in die funktionale Programmierung
Funktionaler Code ist zwar immer noch Kotlin, aber Du betrittst damit eine ganz andere Welt. In diesem Workshop geht Ihr nach dem DeinProgramm-Ansatz vor und nutzt Konstruktionsanleitungen – ein systematischer Ansatz zur Konstruktion von Programmen, der von der Problemstellung ausgeht. Hierbei steht die systematische Datenmodellierung im Zentrum, aus der die anderen Programmelemente entwickelt werden. Der Workshop bietet eine grundlegende Einführung in folgende Themen:
- Systematische Datenmodellierung
- Höherstehende Abstraktionen
- Umgang mit dem Zustand
- Algebra und Domänenmodellierung
- Nützliche Elemente der Arrow-Bibliothek
So nutzt Du den Workshop am besten
Teilnehmer sollten bereits über ein minimales Kotlin-Wissen verfügen, Kotlin-Syntax lesen können und außerdem einen Rechner mit IDE und Kotlin-Unterstützung nutzen. Die Teilnehmerzahl ist begrenzt, sodass intensives Lernen, gutes Arbeiten und reger Austausch garantiert sind.
Workshop 5 – Thomas Künneth
Einstieg in Jetpack Compose
Jetpack Compose ist der neue Standard zum Erstellen nativer Benutzeroberflächen unter Android. Wie React, Flutter und SwiftUI ist Jetpack Compose deklarativ: Anstatt aufwendig jede Änderung am Komponentenbaum auszuimplementieren, wird nur beschrieben, wie die Oberfläche aussehen soll – um alles andere kümmert sich das Framework.
Dieser Workshop mit Thomas Künneth bietet Dir einen unkomplizierten Einstieg in Jetpack Compose. Du lernst composable functions als Bausteine von Compose-Benutzeroberflächen kennen, erfährst alles Wichtige über den Umgang mit Zuständen, animierst Bedienelemente Deiner App und integrierst Compose in bestehende Apps.
Der Workshop bietet Dir eine Einführung in folgende Themen:
- Unterschied zwischen deklarativen und imperativen UI-Frameworks
- Fortgeschrittene Vorgehensweisen wie Animationen, Zusammenspiel zwischen Android Views und composable functions, Testen und Debuggen einer Compose-App
- Was Compose (noch) nicht kann
- Compose auf anderen Plattformen
So nutzt Du den Workshop am besten
Um bestmöglich vom Workshop zu profitieren, solltest Du Erfahrungen in der Android-App-Entwicklung mit Kotlin haben. Grundkenntnisse zu Kotlin, im Umgang mit Android Studio und Gradle sowie beim Bau nativer Benutzeroberflächen mit XML werden vorausgesetzt. Auf Deinem Rechner sollte die aktuelle Android-Studio-Version installiert sein (Arctic Fox oder neuer). Außerdem solltest Du einen konfigurierten Android Emulator oder ein für USB-Debugging eingerichtetes Android-Gerät haben.
Workshop 6 – Werner Eberling
Koroutinen in Kotlin – parallel, aber strukturiert
Moderne Anwendungen kommen um Asynchronität, zum Beispiel durch externe Service Calls oder parallele Anfrageabarbeitung, nicht mehr herum. Doch Nebenläufigkeit ist und bleibt ein Feld voller Überraschungen. Viele Entwicklerinnen und Entwickler haben sich über die Jahre an Thread-basierte Ansätze gewöhnt – mit der Folge, dass ihnen die gestarteten Threads gerne mal davonlaufen, ausgehen oder sie sich gegenseitig blockieren.
Kotlin greift zum Thema Nebenläufigkeit ein anderes, eigentlich schon lange bekanntes Konzept auf: die Koroutinen. Was es mit diesem Ansatz auf sich hat, was sich hinter der strukturierten Nebenläufigkeit verbirgt und warum hier unter anderem Scoping ein wichtiges Konzept ist, erläutert Dir Werner Eberling in diesem Workshop. Er veranschaulicht das Gelernte an praktischen Codebeispielen, die Du an Deinem eigenen Rechner nachvollziehen kannst.
Folgende technische Voraussetzungen sollten bei Dir gegeben sein, damit Du ideal vom Workshop profitieren kannst:
- Du benötigst einen Rechner mit Admin-Zugriff, mit IDE und aktueller Kotlin-Unterstützung
- Deine Hardware: Laptop (kein Tablet), aktuelle CPU, mind. 8 GB RAM, mind. 50 GB freier Festplattenplatz, Internetzugriff
- Installiere vor dem Workshop bitte diese Software: aktuelle IntelliJ IDEA Community Edition mit aktiviertem Kotlin-Plugin, PDF-Reader, git (optional)
So nutzt Du den Workshop am besten
Der Workshop wendet sich an Entwicklerinnen und Software-Architekten. Vorwissen zur Entwicklung nebenläufiger Systeme sind von Vorteil, aber nicht zwingend notwendig. Kotlin-Vorkenntnisse sind ebenfalls nicht zwingend erforderlich.
Workshop 7 – Michael Arndt
Kotlin DSL für Autorisierungsregeln
In diesem Workshop mit Michael Arndt erarbeitet Ihr gemeinsam eine deklarative DSL für Autorisierungsregeln in Kotlin. Zunächst machst Du Dich mit einer kleinen Beispiel-Domäne vertraut und überlegst, wie Du die Syntax von Kotlin möglichst geschickt nutzen kannst, um Autorisierungsregeln intuitiv verständlich und prägnant zu formulieren. Anschließend lernst Du mögliche Vorgehensweisen zum Evaluieren der Regeln kennen. Und schließlich benutzt Du die Regeln in einer Spring Boot-Applikation und leitest aus ihnen Bedingungen für JPA-Abfragen ab. So reduzierst Du den Datenbankzugriff automatisch auf die autorisierte Datenmenge.
Der Workshop behandelt diese Themen:
- Modellieren einer DSL in Kotlin
- Evaluierung zur Laufzeit
- Typsicherheit mit Generics
- JPA Criteria API
So nutzt Du den Workshop am besten
6 Gründe, dabei zu sein
Wissen für den sofortigen Einsatz
20 Vorträge zu allen wichtigen Kotlin-Themen
Workshops für Deine Weiterbildung
Intensivseminare für Softwareentwickler
Von führenden Experten lernen
Austausch mit den Besten der Branche
Konferenzerlebnis für zu Hause
Aufzeichnung des gesamten Events
100 Prozent Rheinwerk
Umfassendes Wissen in geprüfter Qualität
Und der Rest: Perfekt!
Moderiertes Live-Event mit Q&A-Sessions