Is there any kind of roadmap for Kotlin Multiplatform?
Is here any place where I can see what is the current state of the project (for example what is implemented, what needs improvement, what are a risk etc.)?
In my company we are looking for a best Multiplatform solution to invest in near future and as we are mobile agency with a lot of experience in native Android/iOS, the most logical stap would be Kotlin Multiplatform, but we would like to understand a risks
Maybe some talks during last Kotlin conf are worth to watch?
03/31/2020, 3:40 PM
Talks are certainly good to watch!
Here is my perspective:
Multiplatform evolves a lot currently and is thus still experimental for a reason.
On Android/JVM it is easiest to use as it is most mature since it works natively with libraries on those platforms.
Native iOS is working but is more cumbersome. Compile times are currently slow but should improve (in big ways maybe) with each release. There is no incremental compile yet, so expect long feedback loops when code increases. Debugging is possible in Intellij, but takes some extra effort to do in XCode.
JS is quickly evolving and should see a major improvement in package sizes in 1.4 and beyond.
The major issue is at the moment multiplatform libraries. A lot are in early stages of development but at the moment you need to do a lot of expect/actuals for things like dates/IO etc.
There is not yet a great multiplatform way to develop UI although Jetpack Compose could likely become the future answer.
Concurrency is getting easy with coroutines but cannot be used in multithreaded way on native without an experimental version.
Oh and it is still common that things break with each new Kotlin release. For example it is currently not possible anymore to run a debugger on common tests. But on the other side the new in IDE test results for Native/JS are a great win.
It is very possible to use multi-platform at the moment but there will be pain points in the developer experience. And with each Kotlin and new library release they get less and less. You have to judge if you can live with the current pains to help grow us all to this likely great future.
(Others please correct me if my view is wrong on points 🙂)
03/31/2020, 3:48 PM
Thank you so much, good, deep answer that gives me a points where I should start reading/investigating 🙂