Congratulations to the Kotlin Multiplatform Contest winners! 🎉
🎓 College Advisor by Patrycja Bachleda
🌿 Organiks by Samson Aricha Momanyi
🎨 Pixly by Caleb Asira Etemesi
Great job!
Check 🧶 for links to the GitHub projects.
kotlinconf.com/contest/
#ComposeMultiplatform will never reach 100% adoption in the platforms it targets
But it will enable many kotlin developers(🙋♂️) to build beautiful apps beyond Android and I am excited for that 🥳
thanks @kotlin team
#Kotlin just introduced wasm-wasi target in 1.9.20
Sometime interesting to try again ;)
#kotlin-wasm" target="_blank" rel="nofollow noopener">kotlinlang.org/docs/whatsnew-…
🚀Recomposition in Jetpack Compose 2 🚀
🧵After my latest thread related recomposition, I had a time to investigate more and here is second part of recomposition series. ⬇️
1⃣ Recomposition definition again: Recomposition is the process of calling your composable functions again when inputs change.
and here is simple example
I think this part is straightforward:
*⃣ Click Button
*⃣ The count state increments.
*⃣ The change in count triggers the recomposition of our top-level Composable.
2⃣ Let's wrap our state within another Column composable and observe the logs:
Interestingly, even if the count state is defined in the Column, and there's no state within the Counter scope, the entire scope still recomposes. But why?⬇️
3⃣ Let's check the implementation of Column composable
The reason for the surprising recomposition behavior? Column is defined as an inline function with content passed as a lambda. For those unfamiliar with how inline functions process lambdas, let's remember together.
4⃣ Lambdas passed to inline functions are directly inlined (or incorporated) into the calling function. Post-compilation, it looks like this:
5⃣ Wrap-Up:
*⃣ In Jetpack Compose, Box, Row, Column, and ConstraintLayout are inline composables.
*⃣Content passed to these composables gets incorporated directly into the calling function, expanding the recomposition scope.
Being aware of this behavior helps in efficiently structuring your composables and preventing unintended recompositions.
🔥 Keep following for more on Jetpack Compose!
Calling all students and recent graduates interested in Kotlin Multiplatform!
🧑💻 Build a cross-platform app using Kotlin Multiplatform.
📤 Submit it to our contest.
🏆 Every valid project gets a prize.
🌍 The top 3 entries win a trip to KotlinConf’24!
kotlinconf.com/contest/
🚀 Win a Trip to KotlinConf’24 in the Kotlin Multiplatform Contest! 🚀
Are you a student or recent graduate? Have you already tried building projects with Kotlin Multiplatform?
If so, don’t miss this opportunity to practice your multiplatform coding skills by taking part in the Kotlin Multiplatform Contest.
Create a cross-platform project in Kotlin, and if your entry takes one of the top three spots, you’ll win a trip to the biggest Kotlin event of the year – KotlinConf’24 in Copenhagen, Denmark!
blog.jetbrains.com/kotlin/2023/08…
We are only a month away from the next Jetpack Compose and internals cohort course 🤫
Engineers from more than 20 top companies took it already 💯
I've prepared several updates for this new edition. Few open seats remaining! 🔥
📢 KOTLIN ROADMAP UPDATE: Get ready for the upcoming improvements!
Kotlin 2.0 with a Stable K2 Compiler is on the horizon!
The K2 compiler aims to bring major performance improvements, speed up new language feature development, and provide a better architecture for multiplatform projects. It will go stable in Kotlin 2.0. In the run-up to this, we will address user feedback from the K2 Beta release, support Kotlin Scripting with K2, and release the first version of the K2-based IntelliJ plugin.
Kotlin Multiplatform to Go Stable This Year!
The Kotlin team at @jetbrains is continuing to stabilize Kotlin Multiplatform. We've already deprecated outdated pieces of the Multiplatform toolchain, introduced levels of stability into the Kotlin/Native standard library, and updated the API to enable Google to create their own plugin for multiplatform project support for Android targets.
The stable Kotlin Multiplatform will also bring improved Kotlin/Native interoperability with iOS, a more performant Kotlin/Native memory manager, improved Kotlin/Native compilation time, full support for Kotlin Multiplatform in K2, and a more user-friendly and comprehensive onboarding experience for new users.
More great stuff to boost your productivity with Kotlin:
- We plan to promote Kotlin/Wasm to Alpha. As part of this, all official versions of JetBrains libraries (including all kotlinx libraries, Ktor and Compose Multiplatform) will gain support for the Kotlin/Wasm target!
- We are also working to make Kotlin/Wasm suitable for standalone Wasm VMs (without JavaScript support).
- We are developing the new foundational library, kotlinx-io, which is based on the Okio foundation and leverages its top-notch, battle-tested design and implementations.
- We aim to improve the Android debugging experience and make it easier to debug inline classes and inline functions.
For the full picture, head over to our detailed Roadmap page. Discover our achievements, understand our primary goals and plans, and, as always, we'd love to hear your feedback!
jb.gg/w3lcym
Don't miss the premier of the new episode of ATOM!
Our guest Allie Ogden of @swappa shares insights about growing as a solo mobile dev, tips for Android devs collaborating with iOS peers, and what it means to be an ‘iOS-lite’ dev.
Today 👇
youtu.be/NdJ7sr2MCfk
#AndroidDev
Honestly, I don't think so.
I use to tell junior android developers to learn java first before now, but at this current android atmosphere. you will just be wasting your time. 🤔
what is your take on this question ?
Interested in Kotlin Multiplatform (KMP) development?
Check out the thread for educational content that'll teach you how to:
🤖 Migrate apps to Compose Multiplatform
📚 Take advantage of MOKO libraries
↗️ Migrate to KMP using Koin
📱 Use pure-Swift libraries in Multiplatform apps