JetBrains adds iOS support to cross-platform UI framework

JetBrains adds iOS support to cross-platform UI framework

iPhone Android

JetBrains has added iOS support to Compose Multiplatform, the company’s cross-platform, declarative, reactive UI framework for the Kotlin programming language.

Now in an alpha state, Compose Multiplatform for iOS brings iOS support to a framework that previously supported Android, desktop, and web applications, JetBrains said on May 18. Developers can build the UI once and it will run on all platforms. Compose Multiplatform is built on Google’s Jetpack Compose UI framework and JetBrains’ Kotlin Multiplatform cross-platform development technology.

Compose Multiplatform for iOS is still a work in progress but can be used in experiments and “toy” projects. Developers can try it out from jetbrains.com and share feedback.

Because Compose Multiplatform uses canvas-based rendering, both iOS and Android applications look the same by default. Compose Multiplatform uses APIs already being used for Android UI development, making it easy for developers with a background in Android development to quickly start building with Compose Multiplatform for iOS.

The alpha release of Compose Multiplatform for iOS features a prototype for two-way interoperability on the UI layer. Using UIKitView, developers can embed complex platform-specific widgets such as maps, web views, and camera feeds within the shared user interface. And using ComposeUIViewController, developers can embed Compose Multiplatform screens in SwiftUI applications, allowing for the gradual adoption of Compose Multiplatform in iOS applications.

Copyright © 2023 IDG Communications, Inc.

InfoWorld Technology of the Year Awards 2023. Now open for entries!
<!-- var slotName = 'bottomleaderboard'; var slotSize = []; if ($thm.deviceClass == 'mobile') { slotSize = [[300,50],[320,50],[300,250]]; } else if ($thm.deviceClass == 'tablet') { slotSize = [[728,90],[468,60]]; } else { slotSize = [[728,90],[970,90],[970,250]]; } IDG.GPT.addDisplayedAd(slotName, "true"); document.write('

'); IDG.GPT.defineGoogleTagSlot(slotName, slotSize, false, true); document.write('

'); $('#' + slotName).responsiveAd({screenSize:'971 1115', scriptTags: []}, true); //-->

Add a Comment