Welcome to Kotlin basic training!
The training is intended for developers familiar with Java. In Kotlin, we start from scratch and explain every basic Kotlin feature. However, we do not outline most of the things that work exactly as in Java. For example, we do not explain what object-oriented programming is, when introducing classes in Kotlin.
In order to execute the exercises you need Java 11 or newer.
We recommend to use IntelliJ out of inconvenience. Import the project into IntelliJ preferably as Gradle project (Maven is supported as fallback solution).
To check, that everything is up and running, open the file T01Functions.kt
and run the main function inside it.
We'll work with the exercises
module most of the time. It contains a single test package de.iteratec.kotlin.basic
,
where you will find all resources and exercises. For every topic discussed in the training, you will find the following files:
T01Topic.kt
- template used by trainers during the live-coding demoT01Topic.md
- short reference explaining the given topic in a nutshellT01TopicTasks.md
- tasks for the trainees. Every task is a simple unit test, that you will have to fix.
Sample solutions for all the tasks are provided in the package de.iteratec.kotlin.basic.solutions
.
Have fun 😺
- Kotlin website - official Kotlin documentation
- Kotlin Koans - interactive exercises to various Kotlin concepts
-
Kotlin Awesome - huge list of Kotlin frameworks and libraries
-
Arrow - hardcore functional programming library for Kotlin
-
config4k - type-safe property files parser
-
Exposed - lightweight SQL library from Jetbrains
-
Koin - lightweight dependency injection framework
-
Konform - DSL-based validation framework
-
Kotest - Kotlin-native testing framework with fluent assertions
-
Kotlinx serialization - multiplatform serialization library from Jetbrains
-
Ktor - Kotlin-native HTTP server framework from Jetbrains
-
Mockk - the must-have Kotlin-native mocking library
- String manipulation - efficiently manipulate your code, great for line sorting
- Ace jump - provides great mechanics for search & jump within your code
- IdeaVIM - use VIM shortcuts in IntelliJ (careful!)
- Nyan Progress Bar - you progress bar is a Nyan Cat now 🐱