JetBrains has just dropped version 1.8.0 of Compose Multiplatform, and the company says iOS support is finally stable. This is a significant milestone for developers using Kotlin Multiplatform (KMP).
If you're not familiar, Kotlin Multiplatform lets development teams share substantial amounts of code, typically the non-UI parts like business logic, data handling, and networking, across different platforms like Android and iOS. This saves a lot of work by not having to write the same logic twice. While KMP handles the "brains" of the app, Compose Multiplatform focuses on the "face," which means the actual user interface elements like buttons, lists, and screens that users see and interact with.
Compose Multiplatform builds on the modern, declarative UI approach popularized by Google's Jetpack Compose on Android. This style of building interfaces is different from older methods; instead of telling the computer how to draw a button or text field step by step and then manually updating it when things change, you simply describe what you want the UI to look like based on the current state of your data. The framework then handles the updates automatically.
JetBrains says Compose Multiplatform for iOS now includes everything needed to build UIs for real-world applications. This means core functionalities like navigating between different screens in the app (type-safe navigation with deep linking support), handling things like images and text (flexible resource management), and making sure the app is usable by everyone (support for crucial accessibility features like VoiceOver, AssistiveTouch, and Full Keyboard Access) are all in place and considered stable. JetBrains says the core APIs are finalized with strong compatibility guarantees going forward.
Making apps feel "native" on each platform is always a key challenge for tools that support building for multiple platforms at once. Users expect apps on their iPhone to behave a certain way, from how scrolling feels to how text is selected and how they interact with on-screen elements. These small details play a big role in making an app feel like it truly belongs on the device.
JetBrains says the 1.8.0 release of Compose Multiplatform aims to deliver that native experience on iOS by focusing on getting those details right. That includes scrolling physics that feel familiar to iPhone users, natural text editing with proper selection and support for right-to-left languages, built-in drag-and-drop integration at the system level, and UI that automatically respects system settings like user-defined font sizes.
Performance is another critical factor for a good user experience; nobody likes a slow or janky app. JetBrains claims that with version 1.8.0, app startup time is comparable to native iOS apps. Scrolling performance also matches what you'd get on SwiftUI.
The company also notes that Compose Multiplatform adds only about 9 MB to the size of an iOS app compared to a native SwiftUI app with the same UI. It also stated the following:
According to our latest survey, over 96% of teams using Compose Multiplatform on iOS report no major performance concerns.
You do not need to start a new project from scratch to use this. JetBrains has put work into improving interoperability with existing iOS codebases built using Apple's standard tools like SwiftUI and UIKit.
Tooling improvements are also part of the picture to make development easier and faster. JetBrains is working on a new Kotlin Multiplatform plugin for both IntelliJ IDEA and Android Studio that will include features like showing previews of how your UI code will look directly in your shared code editor, and tools for managing resources like images and strings. Crucially, Compose Hot Reload is already available; this lets developers see UI code changes instantly on a running app without having to fully restart it.
Compose Multiplatform is not just for mobile devices. The 1.8.0 release also brings updates for the web target, which is currently in Alpha. The Navigation library now supports using the browser's back and forward buttons. Developers can also experiment with features for customizing the pointer cursor and preloading resources. JetBrains plans to share more details about its vision for Kotlin on the web soon.
In other JetBrains news, the company recently updated its AI features, including the AI Assistant and the Junie coding agent. A new free tier is now available for accessing these AI capabilities within JetBrains IDEs, alongside paid options that include more powerful cloud models like OpenAI GPT-4.1 and Claude 3.7 Sonnet. JetBrains also recently decided to sunset its dedicated IDE for test automation, Aqua, citing lower than expected adoption as the reason.
1 Comment - Add comment