Kotlin Foundation

Trainer: Paulien van Alst, duration: 2 days (2x 8 hours)

Introduction
Kotlin is the new upcoming language in the JVM world. It is mostly known for its use in Android applications, where it has a lot to offer in the world of back-end services. In two days, all the essentials of Kotlin will be taught to be able to start working on a back-end service written in Kotlin. You will also get familiar with some of the more advanced constructs like coroutines and the ecosystem. The trainer will help you get familiar with popular tools and frameworks as well. Next to that, there will be a focus on best practices and migration strategies to Kotlin from Java.

Detailed description
After these 2 days of training you will be able to read and write Kotlin code on your own, understanding its idioms. Important language features such as data classes, extension methods, inheritance DSL languages will be discussed and you will learn to work with them through exercises. You will be able to confidently write a Kotlin application built in Maven and use Spring in combination with Kotlin after day one. On the second day, more advanced language features such as scope functions and coroutines are explained. Also Kotlin’s ecosystem at the backend side will be introduced. The goal is that you will be able afterwards to design a whole Kotlin application yourself. Part of the day will also be spend on migrating towards a Kotlin application from Java and how to apply coroutines and learn about best practices.

Target audience
This training is suitable for everyone that’s used to work on Java applications and who only learned little about Kotlin so far. Starting from the very basics we will arrive at some useful advanced features. After two days you will have a basic understanding of Kotlin and you can work on your project and know what Kotlin has to offer.

Learning goals

  • Day 1: data classes, destructing declarations, default values, objects, inheritance, open classes, immutability, DSL, null-safety, setting up a Kotlin project
  • Day 2: scope functions, coroutines, integration with backend frameworks, Kotlin’s ecosystem at the backend, migration to Kotlin

Skills acquired in this training
Skills that Kotlin Foundation provides:

  • Understanding of the basic language features
  • Understanding of the idioms of Kotlin
  • Understanding of the more advanced language features
  • Knowing how to use the Kotlin’s ecosystem
  • Ability to set up a project
  • Hands on experience with migration
  • Understanding of best practices
  • Ability to work with Coroutines

The focus is on acquiring the following skills:

  • Reading and writing a Kotlin application
  • Designing a Kotlin backend application

Training outline
Day 1: Introduction & basic concepts of Kotlin

  • Basic Language feature presentation (2 hours)
  • Set-up your own DSL with Kotlin (2 hours)
  • Write your own tests in Kotlin (1 hour)
  • Exercise set up a project (2 hour)

Day 2: Introduction to some advanced language features and Kotlin’s ecosystem

  • Introduction to scope functions (1 hour)
  • Intro Coroutines (1 hour)
  • Exercise: utilize power of Coroutines (2 hour)
  • Frameworks: Ktor and Spring (with reactive programming) (3 hour)
  • Migrate an existing Java backend to Kotlin (1 hour)

Provided training material
GitHub repositories.

About the trainer
Paulien is a software engineer at OpenValue, Google Developer Expert in Kotlin and co-host at the BarCoding podcast. Passionate about software engineering she loves to spread the word by giving talks and workshops at meetups and conferences such as Devoxx, JFall, Goto.


Practical details

Trainings can be given in one of our offices (Utrecht, Amsterdam, Rotterdam, Munich, Dusseldorf, Vienna), on site at a client location or remote. Training content can be tailored to meet your specific requirements.

Standard pricing for this training: EUR 1295,- ex VAT per attendee.
Please contact us for pricing for tailored content and for in house group trainings.

Want to enroll or have a question? Just send a mail to info@openvalue.training or give us a call at +31-85-0606886.