Jetpack Compose for Desktop 添加 Swing 互操作层和 Apple Silicon 支持

程序员修炼之路 2020-12-04 09:40:55 ⋅ 886 阅读

Jetpack Compose for Desktop 是软件开发厂商 JetBrains 推出的一个 Kotlin 桌面 UI 框架,采用声明式和响应式的方法构建 UI。简化并加快了桌面应用程序的 UI 开发,允许 Android 和桌面应用程序之间的 UI 代码共享。

Jetpack Compose for Desktop 的第一个里程碑(M1)版本已于上月发布,这也是该 UI 框架的首次公开迭代。现在,JetBrains 又发布了 Jetpack Compose for Desktop 的第二个里程碑(M2)版本。它带有一个新的 project wizard、提高了 Compose for Desktop 与不同操作系统和构建系统的兼容性、引入了新的代码重用功能,并修复了许多错误。

一些重点更新内容如下:

Quick start via project wizard

在 IntelliJ IDEA 2020.3 中添加了一个 project wizard 模板。现在,创建 Compose for Desktop 应用程序比以往任何时候都要容易:当使用 File | New | Project......创建一个新的项目时,可在 Kotlin wizard 的 "Compose for Desktop"类别中选择一个可用的模板,然后开始构建你的应用程序,而无需自己编写 Gradle 配置。

兼容性增强

Compose for Desktop Milestone 2 引入了对 macOS 10.13 和 10.14(在 M1 中已经支持 10.15 及更高版本)的支持。还增加了对 Gradle 最新版本的支持,支持 Gradle 6.6 和 6.7。

M2 版本也提供了 Apple Silicon 支持。用户的应用程序现在可以直接在苹果的基于 ARM 的硬件(例如 M1)上运行,而无需依赖于 Rosetta 2 的动态二进制转换。

在 Swing 中嵌入 Compose for Desktop

M2 版本中添加了一种称为ComposePanel的新机制,使用户可以将 Compose UI 无缝添加到基于 Swing 的容器(如JFrame)中。这使得用户可以在基于 Swing 的环境中进行实验并逐步采用 Compose for Desktop,而不必完全替换现有的用户界面。

示例如下:

可查看有关将 Compose for Desktop 集成到基于 Swing 的应用程序的教程,以获取更多信息。值得注意的是,目前尚不支持反向操作(将 Swing 组件添加到 Compose for Desktop composition 中)。

支持 Android XM L图标

Compose for Desktop 现在还支持 Android 的基于 XML 的矢量图像(称为 vector drawables),使得用户可以直接在桌面应用程序中渲染这些图像,而无需先进行调整。这也意味着用户可以在针对 Android 和台式机的跨平台应用程序中共享 vector drawables 作为公共资源。

具体可查看”Image and in-app icons manipulation“教程。

发布公告:https://blog.jetbrains.com/cross-post/jetpack-compose-for-desktop-milestone-2-released/


全部评论: 0

    我有话说:

    AppCode 2020.3.1 发布,支持 Apple Silicon

    AppCode 2020.3.1 现已发布,并且用户可以在下载时选择支持 Apple Silicon 的版本。 具体更新内容 Swift:OptionSet 成员未在数组中解析 使用

    Docker Desktop 3.0.0 发布,Docker Hub 限制免费用户

    Docker Desktop 3.0.0 版本发布了。Docker Desktop 是一个支持 Windows MAC 系统的完整桌面开发环境,包括 Docker App,开发人员工具

    Docker 20.10.6 发布,正式支持 Apple M1

    Docker 20.10.6 现已发布,具体更新内容如下: Client Apple Silicon (darwin/arm64) 对 Docker CLI 的支持 

    Python 3.9.1 发布,支持苹果 M1 macOS 11 Big Sur

    Python 3.9.1 已正式发布。Python 3.9.1 是 Python 3.9 的第一个维护版本,也是第一个在 Apple Silicon 上原生支持 macOS 11 Big Sur 的

    密码管理工具:1Password for Linux Beta发布

    1Password for Linux 首个 Beta 测试版已发布,正式版计划在明年初推出。1Password 是一款流行的密码管理软件,兼容 macOS、iOS、Windows

    服务化改造实践 | 如何在 Dubbo 中支持 REST

    随着微服务的流行以及多语言操作诉求的日益增多,在 Dubbo 中暴露 REST 服务变成了一个不容忽视的诉求。

    GraalVM 20.2发布,一款高性能跨语言虚拟机

    GraalVM 消除了编程语言之间的隔离,并支持共享运行时的操作性

    Objeck v5.6.1 发布,面向对象程序设计语言

    Objeck-lang v5.6.1 发布了,本次更新内容主要为增加对 Apple Silicon支持。 Objeck 是一种受 Java 启发,同时受 Scheme UML 影响的面向对象

    精品推荐:Nacos 发布 v0.6.0 版本,支持 Dubbo Docker 部署

    阿里巴巴微服务开源项目Nacos发布 v0.6.0 版本,该版本开始支持 Dubbo的服务发现配置管理,并针对 Docker 部署提供了官方的 Docker 镜像,以及优化了Nacos 控制台的

    WebStorm 2021.1 Beta 发布:改进对版本控制、Stylelint Vue 的支持

    WebStorm 2021.1 首个 Beta 版本已发布。更新亮点如下: 改进对 Stylelint 的支持 支持 Vue 中的 CSS 模块 支持 Git commit 消息模板 增加将变更

    【SpringCloud实战】一次开发中使用Feign添加动态Header问题思考

    踩了一个Spring Cloud Feign添加自定义Header的坑,分享给大家

    Web 富文本编辑器 Neditor 2.1.9 ,支持 vue angular

    简介Neditor 是基于 ueditor 的更现代化的富文本编辑器,支持HTTPS。

    京东技术:APP的UI自动化测试框架及平台化探索

    UI自动化测试,即通过模拟手动操作用户UI界面的方式,以代码方式实现自动操作验证的一种自动化测试手段。

    CKEditor 5 v26.0.0 发布:具有可扩展的构建、内联部件样式注释指南

    CKEditor 5 v26.0.0 已经发布,本次更新包括支持创建一个定制的编辑器构建、Mac上的按键管理、设计内联部件、编辑器占位符一组关于使用协作特性注释的新指南等内容。 通过 DLL

    【开源资讯】微软发布 .NET for Apache Spark 预览版

    .NET for Apache Spark是将.NET打造成构建大数据应用程序的重要技术堆栈的第一步。

    PyCharm 2021.1 EAP 4 发布,支持 WSL 2 更快的索引

    PyCharm 2021.1 EAP 4 为 WSL 2 的支持带来了几个不错的补充,并使索引速度更快,同时引入了 GitHub 拉取请求模板。 支持 WSL 2 从现在开始,你可以在

    IntelliJ IDEA 2021.1 EAP 1 发布,支持 Java 16 WSL 2

    IntelliJ IDEA 2021.1 EAP 1 现已发布,官方表示,其主要是将 IntelliJ IDEA 2021.1 作为一个高质量的版本来对待,它将增强产品的可用性用户界面

    Go 1.16 首个 Beta 版本发布

    (Apple Silicon) 支持 64 位 ARM...

    我用注解实现接口的操作流水日志

    作者:Lvshen的技术小屋  原文:https://www.toutiao.com/i689551231529549876 在项目中,我们会需要获取接口的操作日志。比如获取接口的接口名