Kotlin Bootique

Leer een bestaande codebase migreren naar Kotlin

Naast onze training die inzicht geeft in de grondbeginselen van Kotlin, bieden wij ook een vervolgtraining aan die ontwikkelaars helpt bij het migreren van een bestaande applicatie naar Kotlin. Waar Kotlin-101 zich met name richt op het leren gebruiken van de features van de taal, richt deze training zich vooral op de dagelijkse praktijk.

Het komt immers niet dagelijks voor dat ontwikkelaars een applicatie vanaf het prille begin kunnen inrichten en dan direct Kotlin kunnen gaan toepassen. Meestal is er sprake van een bestaande applicatie waaraan dient te worden doorontwikkeld. Veelal wordt dan ook (onterecht) de conclusie getrokken dat Kotlin geen optie is, daar er al een keuze is gemaakt voor een andere taal, zoals bijvoorbeeld Java.

Een van de sterke punten van Kotlin is echter dat Kotlin prima interopereert met Java, wat het (geleidelijk) migreren van bestaande applicaties zeker mogelijk maakt. In deze training pakken we een bestaande Java applicatie op basis van Spring Boot en Java, en migreren deze naar een volledig in Kotlin geschreven applicatie. Daarbij belichten we de strategie die hierbij gekozen kan worden, de problemen waar ontwikkelaars tegenaan gaan lopen en laten wij zien wanneer de Jetbrains tooling te gebruiken (en wanneer ook niet).

Overzicht

Niveau
Gevorderd
Deelnemers
Tot 12 personen
Duur
Twee dagdelen – 8 uur
Kosten
Op aanvraag
Aanvangsdatum
Op aanvraag
Locatie
Op aanvraag
Taal
Engels, Nederlands
Lesmethode
Klassikaal
Voorkennis
Java
Spring Boot
Maven
Kotlin (basis)
Benodigdheden
Laptop
IDE (Intellij, Eclipse)
Kotlin IDE plugin
Git

Inhoud

Dagdeel 1
  • Preparing a project for Kotlin
    • Learn to add Kotlin dependencies to Maven
    • Learn to configure the Kotlin Maven plugin
    • Learn to convert code from Java to Kotlin
    • Learn to deal with immutabilty in Kotlin
  • Converting more code to Kotlin
    • Learn to automatically convert code from Java to Kotlin
    • Learn to troubleshoot conversion issues
    • Learn to deal with non-nullable values in Kotlin classes
    • Learn to work with data classes
    • Learn to deal with marshalling issues for data classes
  • Migrating the application to 100% Kotlin code
    • Learn to optimize Kotlin code
    • Learn to apply functions from the standard library
    • Learn to apply property access
    • Learn to apply expression functions
    • Learn to apply extension functions
    • Learn to work with companion objects
    • Optimize code to look like idiomatic Kotlin
Dagdeel 2
  • Applying Spring Kotlin support
    • Learn to configure beans with a Kotlin DSL
    • Learn how to bootstrap Spring with the DSL
    • Learn to migrate bean definitions to the new DSL
    • Learn to set up Swagger using the DSL
  • Testing your application with Kotlin
    • Learn to write Unit tests in Kotlin
    • Learn to apply Mocking in your tests
    • Learn to apply Kotlin lateinit vars
    • Learn to rewrite tests using Kotlin
    • Learn how to deal with reserved words used in Mockito
    • Learn how to write Kotlin application tests
    • Learn to apply reified generics

Waarom Sourcelabs?

Sinds de release van Kotlin 1.0 ontwikkelen wij voor onze opdrachtgevers applicaties in Kotlin. Wij hebben ruime ervaring met het migreren van bestaande JVM gebaseerde applicaties naar Kotlin, hybride code bases, maar ook in het ontwerpen en implementeren van compleet nieuwe applicaties in Kotlin. Onze ervaring brengen wij over op de cursisten, waardoor wij dieper in de materie kunnen duiken dan alleen het behandelen van de theorie.

Voor onze klanten hebben wij al diverse malen een codebase mogen migreren van Java naar Kotlin. De leermomenten en obstakels die wij zijn tegengekomen in dit proces hebben hun weg ook weer weten te vinden in deze training.

Sourcelabs is daarnaast ook de sponsor en oprichter van de Nederlandse Kotlin User Group – de NLKUG.

Interesse?

Neem contact met ons op om deze training in te plannen, op locatie of bij ons op kantoor te Utrecht. Interesse in een specifiek onderdeel van deze training? Wij maken deze training op verzoek ook op maat.