Hi all, I gave a presentation earlier today on KMM. I would like to share my experiences.
Every one was super excited at the possibilities KMM opens up for the company.
My demo consisted of a number of urls calls to a REST api.
I chose iOS as the target but
(a) deploying from Android Studio would say the simulator had started (and it was in the process list) but it was not visible.
(b) It would take 2 sets of compiling and deploying for changes to get picked up by the simulator
(c) I would manually start the simulator and AS would find it and deploy but after a few deploys the app would stop half way through the url calls. I am not ruling out an issue with my code but this never happened in Android.
The biggest unknown I have and was pointed out by the group was how to deploy the shared code to our existing apps. On Android I presume I can do something similar to maven repos (maybe using github packages picking up a jar or aar file).
On iOS though, it was not obvious at all. The iOS folks say they use something called Carthage, the backenders said they use something called GemFire. Any help on this would be greatly appreciated.
The technology is still in beta and questions were asked about when it would be production-ready. I pointed out that many companies are already using it in production. The group was willing to take the risk though considering the overall benefits and the opportunity to make testing a priority.
Being a Kotlin/Jetbrians/non-Apple technology, the was the danger that the KMM code writing may fall to the android devs but we thought we could mitigate that by making sure that KMM code was written in pairs, one iOS and android (how do you guys deal with this?).
Finally, I would like to say thank you to this channel as the help I received while creating this proof of concept was exceptional and I would not have been able to get it done without it.
If you have any thoughts about my practical experiences or even general comments, please feel free to respond.