Jetpack Compose for Desktop第一个里程碑版本发布

今天,我们很高兴地宣布Jetpack Compose for Desktop第一个里程碑版本的正式发布,这是一个面向Kotlin的现代UI框架,让高效构建美观的用户界面更加轻松且让人沉醉。我们邀请你试用这个技术并引领其他人,并热切期待你的反馈!

img

浏览Compose For Desktop主页

愉悦的桌面UI开发

Compose for Desktop提供了一种声明式和响应式的方法来通过Kotlin创建用户界面,其API受其他现代框架(如React和Flutter)的启发。从其本质来说,Compose for Desktop允许你通过组合Composable函数来在代码中声明桌面UI。它会自动同步应用程序的状态和其视角展示。

该项目基于Google的Jetpack Compose,这是一个在Android上进行UI开发的工具包。这样做的优势是,你在Android上使用Jetpack Compose的经验能直接用于Compose for Desktop,反之亦然。Compose for Desktop提供的所有核心API的行为都与其移动版本相似,包括修饰符,UI元素或基础布局。实际上,Compose for Desktop的核心是与Google的Jetpack Compose合作开发的,以确保这两种技术可以共同发展。这也使你可以在台式和Android之间共享UI实现的重要部分

Compose for Desktop很容易入门。配置项目依赖关系后,仅仅几行代码便能描述一个简单的带状态用户界面,并通过丰富的现成Material Design组件库快速构建UI。

img

但Compose for Desktop不仅限于UI元素,还包括Composable函数以及其他也能在Android对应版本中找到的概念。

桌面特定API

为了让应用程序能正确构建桌面UI,Compose for Desktop附带了桌面特定功能的专属API。它们的结构与其余Compose API相同,可让你的应用程序能响应鼠标事件,查询和调整应用程序窗口的大小和位置,创建任务栏图标或菜单栏条目等。

img

我们希望这些桌面级API能尽快涵盖所有相关功能。为此,我们需要了解该里程碑版本中最缺少哪些功能集成,可以优先考虑这些接口的实现。 请在这里分享你的反馈。

平稳迁移及完整控制

就像Kotlin编程语言本身一样,Compose for Desktop遵循易于互操作性和平稳迁移的理念。因此,Compose for Desktop 与Swing和AWT 集成到一起,从而为你的Compose for Desktop应用程序解放了这些Java图形API的强大功能。该集成还允许你逐步将这些框架的应用程序迁移到Compose for Desktop。

img

为了达到最大程度的灵活和控制,我们还暴露了Skia图形库原生提供的API的重要部分,这些API允许Compose for Desktop进行更低层级的渲染,从而可以完全控制应用程序的渲染方式。

学习Compose for Desktop

希望你能像我们一样对Compose for Desktop感到惊艳!着手尝试一下,建议你阅读入门教程,教程介绍了配置和运行由Compose for Desktop驱动的应用程序所需的基本步骤。你可以从仓库中了解到其他教程,其中涵盖了一系列主题,例如,操作图像,响应鼠标事件以及发送桌面通知。这部分内容的概述可在”Compose for Desktop”主页上找到。

浏览Compose For Desktop主页

Android开发门户是与Jetpack Compose相关主题学习材料的重要来源,网站提供了许多概念的解释,这些概念涉及核心API,而这些API也包含到Compose for Desktop。要大致了解Compose的心理模型及其基础API,请浏览只包含10个步骤的Jetpack Compose Pathway,其中包括涵盖了主题的文章,视频等内容。

如果你想探索更复杂的Compose for Desktop用例,请查看我们的演示应用程序,以及包括如何通过Kotlin Multiplatform在桌面和Android之间共享用户界面的示例。

img

预发布备忘

这是Compose for Desktop的第一个里程碑版本。这意味着你可能会遇到一些暂时的小问题或发现某些特性的缺失。还请记住,在第一个稳定版本发布之前,Compose for Desktop提供的API可能会变更。我们正在致力于第一个稳定且可投入生产的版本,并强烈依赖你的反馈来帮助我们实现这一目标。

反馈和加入讨论!

里程碑版本是你向我们提供反馈的最重要阶段,因为它使我们能够在稳定版本发布之前解决关键问题或包含其他特性。如果你在使用Compose for Desktop时遇到任何问题,或者发现桌面特定API尚未涵盖的用例,请在项目的问题跟踪器中与我们分享这些用例。

如果你想与其他开发人员和团队成员交流,我们也邀请你加入有关Kotlin Slack的讨论。在#compose-desktop中,可以找到有关Compose for Desktop的讨论,在#compose中,你可以讨论Android上的Compose和Jetpack Compose的相关主题。

我们希望你在使用Compose for Desktop创建用户界面时获得乐趣!

此条目发表在官方分类目录。将固定链接加入收藏夹。

发表评论

电子邮件地址不会被公开。 必填项已用*标注