Hi everyone, the past week we had a hackaton with a small team where we set out to create a brand new version of our already existing SPA we have in production for a few years. Our current application stack was already Kotlin based, but our frontend was vanillaJS (with some jQuery, ... it is already quite old).
However, now we decided to make it 100% Kotlin, and with a Compose HTML (!) frontend. The team consisted of 2 (mostly) backend developers (including me) and a frontend developer who is very proficient in React. In the span of a few days we fully onboarded him and he felt naturally at home in Kotlin, and Compose HTML. The choice for Compose HTML was because for productivity sake we didn't knew if Compose Web (WASM/JS) would hinder or help us.
We moved all our existing code to Kotlin Multiplatform code, structured all the modules in such a way that we are not bound to Compose HTML at all in the future. We used a very clear architecture with StateFlow for reactive state and for Compose HTML we only added Tailwind for styling and everything went very smooth! We did not run into any issues at all.
Props to the Kotlin team for making such an awesome ecosystem. The fact that we could onboard a (smart) developer, without prior Kotlin knowledge, in 2 days into Kotlin and Compose is really a testament to the team, the language and the ecosystem. Also, if people have doubt about whether or not Compose HTML is production ready, I am confident in saying that I'd happily use it in production. I am thinking of making a presentation of the structure of the application, the issues we ran into and more, and submit it in the Request for Speakers for KotlinConf.
We had great fun and we will continue the coming weeks on the application in order to launch it!