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

上个月,我们发布了Jetpack Compose for Desktop第一个里程碑版本的正式版,这是我们现代声明式UI框架的第一个迭代版本。我们很高兴Kotlin社区已向Compose for Desktop敞开怀抱。看到人们将他们的安卓应用程序迁移到桌面,闻名的应用程序都已被重新实现以及通过Compose for Desktop带来了全新的体验,这真是令人鼓舞。

Compose for Desktop Banner

VISIT THE COMPOSE FOR DESKTOP LANDING PAGE

之后,我们一直在为下一个版本而努力。 今天,我们将发布Compose for Desktop第二个里程碑版本,致力于更好的开发体验和互操作性。 伴随着一个新的项目向导,并提高了Compose for Desktop与不同操作系统和构建系统的兼容性,引入了新的代码重用功能,并修复了许多错误。

在这篇博文中,我们想向你介绍该版本的一些亮点。 如果想更深入了解,也可以在这里查看完整的更新日志。

快速入门向导

为了能更快地构建出色的用户界面,我们在IntelliJ IDEA 2020.3中添加了一个项目向导模板。 现在,创建桌面Compose应用程序将更加轻松:通过File | New | Project…创建新项目,选择Kotlin向导内”Compose for Desktop”分类中可用的模板之一,然后开始构建应用程序,而无需自己编写Gradle配置!

img

兼容性增强

Compose for Desktop第二个里程碑版本引入了对macOS 10.13和10.14(在M1中已经支持10.15及更高版本)的支持。 以前,针对那些操作系统版本,要求用户自行构建Compose for Desktop所使用的图形库Skiko。 我们还增加了对Gradle最新版本——Gradle 6.6和6.7的支持。

面向下一代Mac的Compose for Desktop也已经面世:通过它构建的应用程序现在可以在Apple Silicon本地运行了!你的应用程序现在可直接在Apple基于ARM的硬件(例如M1)上运行,而无需依赖于Rosetta 2的动态转换。

在Swing应用程序中嵌入Compose for Desktop

简单的互操作性是Jetpack Compose和Compose for Desktop的核心价值之一。Milestone 2添加了一种叫ComposePanel的新机制,你可以将Compose UI无缝地添加到基于Jwing的容器(如JFrame)中。 这使你可以在基于Swing的环境中逐步试验并采纳Compose for Desktop,而不必完全替换现有的用户界面。

在下面的示例中,你可以快速看到一个ComposePanel的实际演示:它遵循其父JFrame的布局,并允许通过Swing和Compose中实现的控件来修改状态。

img

请查看仓库里将Compose for Desktop集成到基于Swing的应用程序中的教程,以获取更详细的信息。

请注意,目前不支持反向集成(将Swing组件添加到Compose for Desktop项目中)。

支持Android XML图标

从里程碑第二个版本开始,Compose for Desktop现在还支持Android的基于XML的矢量图像(称为vector drawables),这让你可以无需调整便能在桌面应用程序中渲染这些图像。 也意味着你可以在面向Android和台式机的跨平台应用程序中将矢量图作为公共资源共享。

img

有关如何在Compose for Desktop中使用Android XML图标的最新信息(包括示例XML图像文件),请查看图像和应用内图标操作教程中的相关部分。

预发布备忘

这是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创建优秀的用户界面!

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

发表评论

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