立即领取|华润集团、宁德核电、东风岚图等 20+ 标杆企业数字化人才培养实践案例 了解详情
写点什么

跨平台开发框架 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:219861
用户头像
罗燕珊 InfoQ中文站编辑

发布了 470 篇内容, 共 306.0 次阅读, 收获喜欢 790 次。

关注

评论

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

观测云突变告警,精准预测云原生的系统异常

观测云

云原生 监控告警

扎克伯格说AI会让推荐系统变得更强大?一文读懂什么是智能推荐系统

爱AI的猫猫头

人工智能 音视频 推荐系统 办公效率 搜索系统

蓝易云 - 对于跨境电商来说海外云服务器选择哪家比较好?

百度搜索:蓝易云

云服务器 跨境电商 独立站 香港服务器 高防服务器

Qwen2-Math 开源 AI 模型发布;阿里云推出首个域名 AI 大模型应用丨 RTE 开发者日报

声网

有限元CAE分析厂商 热力学仿真CFD分析咨询

Geek_2d6073

JNPF快速开发平台让业务活起来

快乐非自愿限量之名

亚信安慧AntDB-T:使用Brin索引提升OLAP查询性能以及节省磁盘空间

亚信AntDB数据库

AntDB

全文彩印!人民邮电出版的“24小时学会黑客攻防”,讲的太好了!

我再BUG界嘎嘎乱杀

黑客 网络安全 安全 信息安全 网安

掌握项目预算:顶级成本管理工具评测

爱吃小舅的鱼

项目成本管理

JNPF快速开发平台赋能数字办公方式转变

不在线第一只蜗牛

低代码 数字化转型 数字化办公

鸿蒙 NEXT 应用开发训练营毕业总结

白开水又一杯

现成源码开发游戏直播软件:应对快速变化的技术和用户需求

软件开发-梦幻运营部

畅捷通基于Flink的实时数仓落地实践

Apache Flink

大数据 flink 实时数仓

14点自动化经验

FunTester

数据分析与决策支持:京东商品详情API的商业价值

技术冰糖葫芦

API Explorer api 货币化 API 接口 API 测试

IoTDB 单机/双活/集群部署的区别和适用场景

Apache IoTDB

智源未来选择 TDengine Cloud,解锁高效能源管理

TDengine

阿里巴巴拍立淘API返回值:商品关联推荐与交叉销售

技术冰糖葫芦

API Explorer api 货币化 API 接口 API 测试

小企业必备:顶级免费项目管理工具

爱吃小舅的鱼

项目管理 免费

蓝易云 - 怎么安排insert和update语句的执行顺序

百度搜索:蓝易云

云计算 运维 服务器 云服务器 INSERT

蓝易云 - 关于Ingress-nginx的跨域配置

百度搜索:蓝易云

nginx 云计算 Linux 运维 HTTP

蓝易云 - route命令小结

百度搜索:蓝易云

云计算 Linux 运维 windows Route

邀请函 I 松下信息和望繁信科技邀您参加「数智时代下大数据应用的“道”与“术”」闭门会议

望繁信科技

大数据 数字化转型 解决方案 流程挖掘 流程智能

远程访问内网设备:对比IPsec VPN,SD-WAN异地组网更具优势

贝锐

运维 SD-WAN 远程运维 组网

API可观察性对于现代应用程序的最大好处

幂简集成

API API 接口

【活动预告】研讨会+开源集市,IoTDB “登录” GOTC 2024!

Apache IoTDB

顶级项目管理工具比较:找到你的最佳匹配

爱吃小舅的鱼

文档管理 文档管理软件

寻找最佳开源知识管理软件:专家指南

爱吃小舅的鱼

开源 知识管理

蓝易云 - 高防服务器如何抵御大规模攻击

百度搜索:蓝易云

云计算 运维 云服务器 香港服务器 高防服务器

使用舞美LED显示屏的关键点

Dylan

技术 LED LED显示屏 led显示屏厂家 舞台表演

Pinterest:从 Druid 到 StarRocks,实现 6 倍成本效益比提升

StarRocks

Druid Pinterest

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