Kotlin + Spring = sant!

För ett tag sedan hade vi på Com Hem en helt dygns hackaton som vi, eftersom vi jobbar på Com Hem, kallar HackaCom! Förutom hängande vid vår alldeles egna barista blev det ett projekt med att konvertera en av våra microservices från Java till Kotlin.

Vi ville se hur väl Kotlin och Spring fungerar ihop efter att Spring kommit ut med Spring Framework 5.0 där det finns fint stöd för Kotlin.

Strategin blev att först konvertera en controller ett entity-object och en component. Det är väldigt enkelt att konvertera klasser från Java till Kotlin med hjälp av Intellij. Det är bara och välja klassen som skall konverteras och välja Code -> Convert Java File to Kotlin File.

Att ändra vår Maven byggskript för att få igång Kotlin var inte svårt mha den här lättlästa sidan. Det vi fick problem med var att vi på Com Hem använder oss av ett proxy repository och vi fick inte vid det tillfället ladda ner Spring Framework 5.0 vilket är den version som har börjat med Kotlin-support.

När vi väl hade bygget på plats var det inga problem att konvertera alla våra Javafiler till Kotlin. Det var på några ställen vi fick gå in med handpåläggning men själva konverteringen tog inte mer än drygt en halv dag fast vi inte hade någon erfarenhet av en Java/Spring till Kotlin/Spring konvertering tidigare.

Vi ägnade några extra timmar veckan efter till att refakturera den nya Kotlinkoden. Bl a tog vi bort ett model-paket och lade alla dataklasser i en Model.kt fil.  Nu är modelen lättöverskådlig.

Våra modeller i model.kt

Slutsatsen vi drog är att har du Java-Spring microservices finns det ingen anledning att inte konvertera dessa till Kotlin.