The State of Kotlin Multiplatform
Вставка
- Опубліковано 23 гру 2024
- JetBrains Kotlin Multiplatform (KMP) is an open-source technology designed for flexible cross-platform development. It allows you to develop apps for Android, iOS, desktop, web, and server-side and efficiently reuse code across them, all while retaining the benefits of native programming. After 8 years of development, KMP has been refined into a production-ready technology and is going Stable, which means now is a great time to start using it in your project.
During this webinar, we will discuss how KMP works, how to apply its flexibility to your diverse projects, and how to get the most out of it. We will talk about the KMP tooling and ecosystem and how you can use them to streamline your developer experience. Finally, we will present the KMP roadmap, offering insights into JetBrains’ dedication to continuously enhancing KMP, including updates for Compose Multiplatform and KMP tooling.
Speaker: Svetlana Isakova, Márton Braun
Many thanks for this webinar. So much useful information. Especially looking forward to using Fleet!
Where can I find the Twitch recording showing Fleet?
For Fleet demo check out one of the following webinars recording: ua-cam.com/video/IGuVIRZzVTk/v-deo.html
please do share Project resources
Why Amper?
Gradler or Moduler or Yamiler ...?
i'm so confused now. Why does Kotlin Multiplatform exist alongside Compose Multiplatform. What are the differences and if so, why?
Two different tech stacks. One sits on top of the other.
Compose Multiplatform is a Kotlin Multiplatform UI Library. So now you can create your application with not only shared code (Kotlin Multiplatform) but also shared UI (Compose Multiplatform)
Compose multiplatform sit on top of kotlin multiplatform. It is for sharing ui layer code
@@archiequinones Not entirely true. CMP is not about UI only because it also targets Darwin, MingW, Linux and Wasm. So sharing logic code and UI is what CMP is. KMP is only for sharing logic code between iOS (Swift) and Android (Kotlin/JVM). So, saying it's layered on top of KMP is wrong rather KMP is a little subset that has been plugged into CMP. KMP is not said to convert code to Kotlin/JS or Kotlin/Native which is used by other platform this capability came along with Compose Multiplatform which is more expansive and better at sharing both code (JVM, Swift, JS, Native) and UI to multiple targets. So rather than having KMP why don't the call the whole framework CMP and drop KMP since it's part of the larger CMP framework otherwise this would mean that desktops must have their own "KMP" for logic and then be layered with CMP. Doesn't make sense.
@@MixwellSidechains KMP is not just mobile.
This is huge. Viva Kotlin
instead of expect and actual why not put the function in the common interface and then in the respective android and ios classe implement the function?
you can use an interface instead. Expect/actual just give you extra compile-time validation that the expected interface is implemented in all your actual targets
Additionally, actual/expect enforces the actual package name to match that of expected. Expect/Actual also doesn't allow default implementations in the Expected Class (whereas an interface does). So it's all just additional rules/validations to make it harder to mess up managing your platform dependencies
@@UpToTheWhalesNow ow ok, thanks for explaining
Thanks for an awesome presentation. Always great to hear from a bunch of smart talented folks.. Definitely a great development toolkit to have under your belt.
I just had 2 questions for the team.
1. Would KMP eventually support Hot reload for making development faster (Like flutter)?
2. Secondly, would KMP support over the air updates for production apps similar to Shorebird in Flutter (Say if I want to push some UI changes without having the users to update the app from the app store)?
For the second case familiarize yourself with zipline + redwood
Kotlin compiles into native on each platform, this wouldn't be supported officially in any way, my guess
I love the technology of Fleet, but with lack of proper Vim support I cannot adopt this IDE.
awesome!
Nice
You all cute, thanks!
boring )