Márton Braun
banner
zsmb.co
Márton Braun
@zsmb.co
1.8K followers 230 following 520 posts
Developer Advocate @ JetBrains, working on Kotlin and Compose Multiplatform, KMP tooling, and Amper. Instructor @ BME-VIK. Co-organizer @ Android Budapest. GDE for Android. Ex-Google. zsmb.co
Posts Media Videos Starter Packs
Pinned
KMP tooling! Get your KMP tooling here!

Jokes aside, it's great to have this finally out in a public release. Please try it and send feedback our way.
🎉 The new Kotlin Multiplatform for IntelliJ IDEA and Android Studio!

✨ Integrated New Project wizard
🔍 Preflight checks
🔧 Multiplatform run configurations
🧭 Cross-language support
🎨 Compose Multiplatform support
🔥 Compose Hot Reload

Learn more
blog.jetbrains.com/kotlin/2025/...
Kotlin Multiplatform Tooling: Now in IntelliJ IDEA and Android Studio | The Kotlin Blog
The new KMP plugin for IntelliJ IDEA and Android Studio simplifies every part of the KMP experience, from project setup to Compose UI previews.
blog.jetbrains.com
A macOS update isn't complete without it breaking custom screen savers, I guess... My blog post now includes a brief section on Tahoe, and I released a new patched version of the Kotlin Logo screen saver as well.

Grab it here:
GitHub - zsmb13/KotlinLogo-ScreenSaver: A macOS screensaver featuring Kotlin logos
A macOS screensaver featuring Kotlin logos. Contribute to zsmb13/KotlinLogo-ScreenSaver development by creating an account on GitHub.
github.com
Reposted by Márton Braun
There are multiple reasons for the change, one of them is that Android will stop supporting the all-in-one setup in upcoming AGP versions (you won't be able to make a Kotlin Multiplatform module an Android app).
I'm not sure an automated migration is possible for existing projects as there can be a lot of custom config in there already. But we'll certainly have some guidance around this in some form.
Can you rephrase that last question? I'd love to answer but I didn't quite understand it :D
Further modularization is always possible indeed, this is just about the default generated.

So the question is basically: is it confusing that sometimes you get `sharedUi` and `sharedLogic` and sometimes just... `sharedClient` or `sharedCompose` or whatever we call that one shared module.
An interesting question is, what to do when all clients use Compose: should there still be separate `sharedUi` and `sharedLogic` modules for consistency with other configs (when some clients use native UI, this split is required), or just a single shared module for simplicity?
A new default project structure for KMP is in the works 🚧, replacing the all-in-one composeApp module with per-platform app modules and separate shared modules.

The image below shows Android, iOS, Desktop, and Web apps that all use the same shared Compose UI. Feedback welcome!
If you're not on a Kotlin 2.x version yet: what's your blocker for upgrading?
Looks like Medium is down.

... In a way though, this page is actually a much better UX than what you usually get there.
Mini player and background player... *Maybe* you want to know your kid is not leaving the app, and as long as you hear something playing, at least you know they're on that screen?

But a lot of the other locked features are extremely hard to reason for at all.
Someone really needs to explain to me why "made for kids" content can't be added to a playlist on YouTube so I can find it again later. I swear I'm an adult.
Reposted by Márton Braun
Finally, we can set Project view as default in Android Studio. This is really nice if you develop Kotlin Multiplatform project in Android Studio 🛠️📱

#AndroidDev #Kotlin #KotlinMultiplatform #AndroidStudio #iOSDev
Just an incorrect description, I think.
Reposted by Márton Braun
I'm super proud of this webinar for underrepresented communities to CFP for KotlinConf. It has been a goal of mine to have this type of encouraging event since I started at JetBrains, and now you can watch the video 🥰

www.youtube.com/watch?v=cTfH...
Your Voice Belongs Here: Creating Compelling KotlinConf Proposals
YouTube video by Kotlin by JetBrains
www.youtube.com
Reposted by Márton Braun
This continues to sound like an absolutely awful time.

The changes give Google unreasonable control over all Android devices and brings everyone closer to the locked down Apple experience.

The current Play verifications and warnings for untrusted sources should be enough.
👋 We know there's been a lot of conversation about developer verification. We hear you!

Developer feedback is essential as we build this process. We announced this requirement with a long lead time so you have plenty of time to ask questions, provide feedback, and get ready for
Reposted by Márton Braun
Designers when an android engineer ask to just use the system back arrow: “our custom back arrow is an expression of our brand, we cannot yield to looking like a Google app”

Designers when Liquid Glass looks like shit everywhere in their app: “LEROY JENKINSSSSSSS”
Have you tried incremental compilation for Kotlin/Native yet? If yes, did it work well in your projects? Did it cause any problems?

To try it, add this to your gradle.properties:

kotlin.incremental.native=true
Selling black shirts outside CityCube tomorrow might be a profitable business, huh