Any software team who is considering moving to kotlin, must by definition, be currently using at least one alternative language. To change languages, and ecosystems, is a big step. One of the key features of kotlin is how easily and seamlessly a project can migrate from java. Currently, that same ease of migration is far less real from outside the java ecosystem.
Cold Turkey? Or step by step?
On rare occasions, there may be the opportunity to commence a complete new project and build each component with no basis on any legacy system. If starting an entirely new project but not already experienced in kotlin, it will still require a huge leap of faith to start an entire development in kotlin.
More often, and in the project we are currently working with, the realistic path is to choose system components that can move to kotlin.
The candidates:
- kotlin for android mobile applications
- kotlin DSL to replace server templates (mako, jinja2, Django templates etc)
- kotlin-DSL gradle toolchain
- standalone servers and gateways
- data base server – web services
Individual pages discuss these sections, but the spoiler alert is that mobile/android development may not be the logical first choice it would on the surface seem.