My experience with Kotlin is that you can generally get away from all the bloated Java frameworks —…
My experience with Kotlin is that you can generally get away from all the bloated Java frameworks — most of them only exist to fill a void that was left by inadequacies left by Java (especially all the apache commons type libraries which are almost all catered for by the Kotlin Standard Lib)
Spring generally ads an enormous overhead on projects, especially on startup times, so using VertX for example instead of Spring makes your application start in 100ms instead of 10 seconds. Other options are Ktor which was written in Kotlin right from the beginning.
Kotlin has some nice alternatives to JPA as well which doesn’t require super slow annotation scanning solutions.
For dependency injection, both KOIN and Kodein are brilliant adding almost no overhead to managing dependency injection.
Then, to get rid of bloated threads, Java has something called Quasars / Fibers, but it’s really a pain to use it and it requires JVM instrumentation. Kotlin has Coroutines which works at a slightly higher level as Quasars, but doesn’t require JVM instrumentation to make it work. Hopefully Quasars will be in Java10 or 11 in which case Kotlin’s Coroutines can also benefit from lightweight JVM threads.
Great to see more Kotlin in the wild!