Paul Krill
Editor at Large

JetBrains releases desktop UI framework for Kotlin

news
Nov 9, 20202 mins

Based on Google’s Jetpack Compose for Android, JetBrains’ Jetpack Compose for Desktop takes a declarative and reactive approach to creating user interfaces with Kotlin

data artist visualization explainer paint brush  paint colorful diverse
Credit: Thom Masat modified by IDG Comm.

JetBrains has published its first “milestone” release of Jetpack Compose for Desktop. Based on Google’s Jetpack Compose toolkit for Android UI development, the JetBrains framework provides a declarative and reactive approach to building UIs with Kotlin.

With an API inspired by frameworks such as React and Flutter, Jetpack Compose for Desktop enables the declarative creation of a desktop UI by combining composable functions. Application state is taken care of and visual representation synchronized by the framework.

The core APIs provided by Jetpack Compose for Desktop behave like their Android mobile counterparts, including UI elements and modifiers. After setting up project dependencies, developers can express a simple stateful user interface with a few lines of code and draw on a rich library of ready-to-use Material Design elements to flesh out the UI.

To ensure that the two technologies evolve together, the core of Jetpack Compose for Desktop is being developed in collaboration with the Google Jetpack Compose project. Developers can share significant parts of a UI implementation between the desktop and Android. Desktop-specific APIs are structured like Jetpack Compose APIs and allow an application to react to mouse pointer events, query and manipulate the size and positioning of application windows, and create tray icons or menu bar entries.

The first milestone was published November 5. A Getting Started tutorial for the framework is available. Jetpack Compose for Desktop integrates with Swing and AWT (Abstract Window Toolkit), providing the power of these Java APIs for Jetpack Compose for Desktop applications. Also featured is a significant part of the native Skia graphics library API, powering low-level rendering in Jetpack Compose for Desktop and allowing developers to control how their application is rendered.

Paul Krill

Paul Krill is editor at large at InfoWorld. Paul has been covering computer technology as a news and feature reporter for more than 35 years, including 30 years at InfoWorld. He has specialized in coverage of software development tools and technologies since the 1990s, and he continues to lead InfoWorld’s news coverage of software development platforms including Java and .NET and programming languages including JavaScript, TypeScript, PHP, Python, Ruby, Rust, and Go. Long trusted as a reporter who prioritizes accuracy, integrity, and the best interests of readers, Paul is sought out by technology companies and industry organizations who want to reach InfoWorld’s audience of software developers and other information technology professionals. Paul has won a “Best Technology News Coverage” award from IDG.

More from this author