写点什么

跨平台开发框架 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:2110687
用户头像
罗燕珊 AI practitioner | Tech media

发布了 522 篇内容, 共 379.6 次阅读, 收获喜欢 841 次。

关注

评论

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

Python小白何时能做自动化

伤心的辣条

Python 软件测试 自动化测试 接口测试 测试开发

数据关联最佳实践

观测云

可观测性 可观测

《正面管教》:如何科学地管教孩子?

郭明

读书笔记

【网络安全】VPN是什么?VPN与堡垒机有啥区别?

行云管家

网络安全 堡垒机 vpn

ShardingSphere 异构迁移最佳实践:将3.5亿量级的顾客系统 RTO 减少60倍

SphereEx

Java php MySQL 数据库 ​Apache ShardingSphere

改变世界的开发者丨黑客松冠军,为听障儿童推开一扇“有声的窗”

华为云开发者联盟

云计算 华为云 GaussDB 听觉 听障儿童

想要了解数字机器人如何赋能政企领域,一定不要错过这个论坛

王吉伟频道

RPA 机器人流程自动化 机器人开发 华为开发者大会2022 华为WeAutomate

从无到有,政务系统的全面可观测模板

博睿数据

智能运维 博睿数据 政务系统 全面检测

国际权威报告:SaaS+AI大势所趋,腾讯云领跑国内科技公司

科技热闻

问题来了:4GB物理内存的机器上申请8G内存能成功吗?

Java全栈架构师

Java Linux 程序员 面试 程序人生

面试时必问的五大问题

伤心的辣条

Python 软件测试 自动化测试 测试开发 软件测试面试

PostgreSQL精品学习资源合集(含基础手册、实操技巧&案例、书籍推荐)

墨天轮

数据库 postgresql

全球云计算市场持续发力,但云身份管理能力认可度不足3成

行云管家

云计算 云服务 企业上云 混合云 多云

蓝凌叮当刘向华:如何用一款SaaS俘获年轻人的心?

ToB行业头条

本周三晚19:00Hello HarmonyOS应用篇第7课—分布式应用开发

HarmonyOS开发者

HarmonyOS

“躺着都能赚钱”的时代已经过去,亚马逊云科技为跨境电商找到下一个爆点

Lily

如何实现十亿级离线 CSV 导入 Nebula Graph

NebulaGraph

知识图谱 数据导入 Nebula Graph CSV 文件导入

本周二晚19:00战码先锋第5期直播丨深入理解OpenHarmony系统启动,轻松踏上设备软件开发之旅

OpenHarmony开发者

OpenHarmony

Java—线程

武师叔

6月月更

本地开发测试,局域网中使用IP地址访问项目网站

迷彩

网站架构 学习记录 网站开发 6月月更

全国超10亿用户!AntDB数据库的电信核心交易替换之路

亚信AntDB数据库

数据库 通信 电信 运营商 数据库应用开发

CloudTTY:下一代云原生开源 Cloud Shell

Daocloud 道客

Kubernetes 云原生 开源项目 网页命令行

应用实践 | Apache Doris 在网易互娱的应用实践

SelectDB

MySQL 数据库 最佳实践 apache doris 数据优化

新一代政务云的“前移”与“致远”

云计算

在线帮助中心对企业的作用及解决方案

小炮

游泳馆应用软件开发:在线一站式服务,优化用户整体体验

开源直播系统源码

软件开发 APP开发 直播系统

想发自己的NFT,你要先搞清楚这6个问题

华为云开发者联盟

区块链 数据资产 NFT

腾讯云小微技术登顶权威榜单XTREME基准,跨语言技术迁移开发助力企业出海

科技热闻

melody SGS旋律麦克风链游开发模式分析

开发微hkkf5566

蜜月期过后,跨境电商的出口在哪里?亚马逊云科技全新洞察发布

Lily

Mybatis省略@Param注解原理

mybatis 6月月更 @Param注解

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