JetBrains, the creator of popular development tools, has announced an alpha release of its Compose Multiplatform for iOS, expanding the support of the multiplatform declarative UI toolkit built on Google Jetpack Compose. Compose Multiplatform, which already offers compatibility with Android, Windows, Linux, macOS, and the Web, now embraces iOS to cover all major operating systems.
By providing the same API across all supported platforms, Compose Multiplatform streamlines app development by replicating Jetpack Compose APIs. Developers who have experience with Jetpack Compose for creating modern Android user interfaces can now apply those skills to build a shared UI through Compose Multiplatform, targeting iOS and beyond.
Included in Compose Multiplatform are state management, layout composition, and animations. The toolkit also accommodates OS-dependent features such as resource loading and uses higher-level abstractions to maximize portability. Leveraging the Skiko graphics library, known as Skia for Kotlin, Compose Multiplatform utilizes canvas-based rendering on iOS. Skiko is based on Skia, which Google employs for its Chrome, ChromeOS, and Flutter products.
Similar to Flutter, this approach provides a consistent look and feel across all supported platforms for Compose Multiplatform applications. Unlike Flutter, the toolkit includes Material and Material 3 widgets by default, resulting in apps that resemble standard Android designs. Although Material is the only widget look-and-feel supported on iOS at the moment, JetBrains has not confirmed if a native widget look-and-feel will be implemented in the future.
Addressing the significant aspect of cross-platform app development - interoperability with the OS SDK - Compose Multiplatform for iOS offers a two-way interop layer on top of UIKit. This includes two primary classes: UIKitView and ComposeUIViewController. Using UIKitView, developers can embed platform-specific widgets such as maps, web views, media players, or camera feeds within a Compose UI. ComposeUIViewController, on the other hand, can be utilized to insert Compose screens in UIKit and SwiftUI applications, aiding in the gradual conversion of an existing app to a Compose application.
As the no-code and low-code development landscape continues to expand, tools like Compose Multiplatform, along with platforms like AppMaster, are making app development more accessible and efficient for developers across the globe. Click here for a comprehensive guide on no-code and low-code app development for 2022.