写点什么

跨平台开发框架 Compose Multiplatform 1.0 发布

  • 2021-12-03
  • 本文字数:1117 字

    阅读完需:约 4 分钟

跨平台开发框架Compose Multiplatform 1.0发布

JetBrains 工程师 Sebastian Aigner 在官方博客宣布,Compose Multiplatform(Kotlin 的声明式 UI 框架)已经发布了 1.0 版本,现在可以在生产环境中使用了。此版本主要解决质量和稳定性问题,同时修复关键问题和错误。


Compose Multiplatform 由 Compose for Desktop 和 Compose for Web 组成,通过 Kotlin Multiplatform 支持许多不同的平台。现在,用户可以在桌面上创建 Kotlin 应用程序,也可以使用 Compose for Web 的稳定 DOM API 构建生产质量的动态 Web 体验,并与 Web 上的所有浏览器 API 完全互通。


由于 Compose Multiplatform 是声明式的,代码反映了应用程序的 UI 结构,因此用户不必担心诸如从模型复制数据到视图或开发 UI 刷新逻辑之类的事情。在下面这个例子中,一旦 TextField 的内容被编辑,Text label 的内容将被更新,无需任何额外的代码:


var text by remember { mutableStateOf("Hello, World!") }Column {   Text(text) //text label   TextField(text, {text = it}) //text field}
复制代码


“刚开始使用 Compose Multiplatform 很容易,特别是如果您之前使用过像 React 或 Google Jetpack Compose 这样的声明式 UI 框架。 Compose Multiplatform 使用了许多相同的概念,因此您应该有宾至如归的感觉,”JetBrains 在博客文章中如此写道。


Compose Desktop 使用 Skia,这是一个经过良好优化的图形库,目前被许多对性能敏感的应用程序(包括现代浏览器)使用。这意味着 Compose Multiplatform 支持桌面上的所有主要的硬件加速引擎,例如 DirectX、Metal 和 OpenGL。


它还通过预览工具提供较短的迭代周期,允许用户微调其 UI 的组件/部分,并创建它们的多次迭代,而无需重新构建或重新启动应用程序,从而缩短开发周期。


除了桌面,Compose Multiplatform 提供了一个强大的、声明性的 Kotlin/JS API 来处理 DOM——它具备你在现代 Web 框架中想要和需要的所有功能,包括全面的 DOM API、内置 CSS-in-JS 支持、对 SVG 的支持等。


“总的来说,现在在各种平台(包括 Android,以及使用上兼容 Jetpack Compose)之间共享专业知识和代码要比之前容易得多。”Sebastian Aigner 说道。其表示,在 JetBrains 内部早在今年年初就开始在 Jetbrains Toolbox App 中应用 Compose Multiplatform。这个 App 已经有超过 100 万月活用户,并在 4 个月前完全从 C++ 和 Electron 迁移到 Compose Multiplatform。


要尝试 Compose Multiplatform 快速开始构建面向多个平台的应用程序,可以使用 IntelliJ IDEA 2021.1+ 中的 Kotlin 项目向导。附 Compose Multiplatform 官方入门教程地址:https://github.com/JetBrains/compose-jb/tree/master/tutorials


延展阅读《为什么除了 Flutter 之外,我们还需要另一个跨平台开发框架?》

2021-12-03 18:2110254
用户头像
罗燕珊 AI practitioner | Tech media

发布了 504 篇内容, 共 348.1 次阅读, 收获喜欢 809 次。

关注

评论

发布
暂无评论
发现更多内容

OKR之剑·实战篇05:OKR致胜法宝-氛围&业绩双轮驱动(上)

vivo互联网技术

团队管理 OKR

使用 ChatGPT 轻松创建用户注册页面

devpoint

人工智能 AI ChatGPT

Redis 异步客户端选型及落地实践

京东科技开发者

redis Jedis 客户端 集群库 企业号 2 月 PK 榜

内存数据库如何发挥内存优势?

陈橘又青

数据库

软件测试与开发

测吧(北京)科技有限公司

软件测试

Hive 实战

Joseph295

量化合约系统开发源码技术搭建丨合约量化系统开发Python成熟代码

I8O28578624

云图说丨初识云应用引擎CAE

华为云开发者联盟

云计算 后端 华为云 企业号 2 月 PK 榜 华为云开发者联盟

平台工程101:Dev、Sec和Ops的自动化黏合剂

SEAL安全

DevOps 自动化 DevSecOps 平台工程 企业号 2 月 PK 榜

给 Databend 添加 Scalar 函数 | 函数开发系例一

Databend

数据可视化大屏项目,我是如何实现多屏间的数据通信

梁木由

程序员 前端 前端开发

SpringBoot实现电子文件签字+合同系统

程序员大彬

springboot

现实中的量子计算机有望进化成《流量地球2》中的MOSS吗?

博文视点Broadview

Java高手速成 | JSP的MVC模式

TiAmo

mvc jsp

低代码实现探索(五十五)后台服务设计

零道云-混合式低代码平台

软件测试 | 被测系统的需求理解

测吧(北京)科技有限公司

软件测试

码农如何提高自己的品味

京东科技开发者

Java 程序员 代码设计 企业号 2 月 PK 榜 品味

稀疏镜像在OpenHarmony上的应用

OpenHarmony开发者

OpenHarmony

企业如何实现良好的告警管理流程?

嘉为蓝鲸

告警管理 自动化运维 嘉为 嘉为蓝鲸

袋鼠云数栈UI5.0焕新升级,全新设计语言DT Design,更懂视觉更懂你!

袋鼠云数栈

大数据 UI

在 Asp.Net Core 中什么是认证和授权

newbe36524

C# Kubernetes

【技术干货】开关电源噪声的种类来源和抑制方法解析

元器件秋姐

噪声 变压器 开关 电源

m序列码产生电路设计与仿真

timerring

FPGA

嘉为鲸眼可观测中心解决方案获评信通院可观测性优秀案例优秀级

嘉为蓝鲸

自动化运维 嘉为蓝鲸

软件测试 | 什么是被测系统架构与数据流分析

测吧(北京)科技有限公司

软件测试

初学者必看!3D建模要学什么软件?

Finovy Cloud

3DMAX maya 3D软件

2023最全Java面试八股(涵盖所有Java核心面试知识点),立刻收藏

架构师之道

编程 程序员 java面试

Java CompletableFuture 异步超时实现探索

京东科技开发者

Java jdk RPC 多线程并发 企业号 2 月 PK 榜

架构训练营第10期模块6作业

Geek_4db2d5

阿里云PAI-Diffusion功能再升级,全链路支持模型调优,平均推理速度提升75%以上

阿里云大数据AI技术

人工智能 模型优化 企业号 2 月 PK 榜

Alibaba全新出品百亿级高并发系统(全彩版小册开源)

架构师之道

Java 面试 高并发

跨平台开发框架Compose Multiplatform 1.0发布_大前端_罗燕珊_InfoQ精选文章