Another day, another CRUD ;) . Inspired by one of JUG meetings decided to write another example of application. This time it is Kotlin and Spring Boot. But it is a quick one. After checking some languages this year I think that I will spend my free time with Golang in 2017 ;)

Example is here: https://github.com/kgoralski/kotlin-springboot-template

Kotlin
Spring Boot
REST JAX-RS and Jersey Proxy Client
HATEOAS Example
Sprind Data JPA with H2 Database
Spring Data NoSQL with Apache Cassandra
Spring Data REST
Tests with Spock
Gradle Kotlin Script with multi modules

Impressions? Not much, didn’t really feel that I’m learning new language:

  • Feels easy to adopt, but still it is a new language. So it needs learning too ;)
  • ‘Better Java’? Probably we can use Kotlin like that
  • Less boilerplate
  • Null safety
  • Immutability
  • Data Class! Better than Lombok :)
  • Type Inference
  • “when statements” (kind of pattern matching)
  • Gotta watchout on empty constructors while using Java Frameworks (Jackson etc.)
  • Intellij IDEA can convert Java to Kotlin
  • Constructor Injection Preference
  • Less annotations?
  • Gradle Kotlin Script - love IDEA code completion (but you need to update Kotlin Plugin for that)

I guess that after some learning time developers will be able to be more productive with Kotlin.