Compose Multiplatform 1.0 发布

简介: Compose Multiplatform 1.0 发布

近日 Kotlin 的母公司 JetBrains 发布了Compose Multiplatform 的 1.0 版本。

距离 Beta 版的发布刚刚1个月,所以 1.0 版本在功能层面没有太大变动,主要变动在于稳定性的提升和一些重要 Bug 的修复,1.0 的诞生标志着这个跨平台框架已经达到了在生产环境使用的标准,开发者可以使用 Compose 这种声明式 UI 框架开发桌面端甚至Web 端应用 。

Kotlin 一直缺少桌面端的 UI 开发库,这导致 Kotlin 的爱好者仍然只能使用 Java 的 UI 库开发桌面应用。如今 Compose Multiplatform 带来了基于 Kotlin 的声明式 UI 库。 声明式思想提高了 UI 开发效率,开发者不必再关心当数据变化后的 UI 刷新,比如下面的代码,当 TextFiled 被编辑时,Text 会自动更新。

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

声明式 UI 是当今主流的开发范式,如果开发者对 React 或者 Flutter 等框架有所了解,那么 Compose 使用起来将很容易上手。

桌面端以外,Compose Multiplatform 还支持 Web 开发,Kotlin/JS 让开发者可以使用 Kotlin 书写前端代码并最终以 JS 的形式运行在浏览器,Compose for Web 提供了Web开发中的所有功能,包括功能完整的 DOM API,以及对 CSS-in-JS 、SVGs 等支持。 Compose for Web 的目的不是替代现有的 Web 开发,而是帮助 Kotlin 开发者扩大自己的能力范围。

Div(
    attrs = {
        // specify attributes here
        style {
            // specify inline style here
        }
    }
) {
    // div content goes here
}

除了桌面端和 Web 端,Compose Multiplatform 也是支持 Android 开发的, Compose Multiplatform·和 Jetpack Compose 中同类功能的 API 完全一致,特别是状态管理部分的代码可以完全通用,这意味着你可以将一个 Jetpack Compose 项目轻松改造为 Compose Multiplatform 项目同时将状态管理的逻辑部分复用到其他平台;基于 Compose Multiplatform 工程开发一个 Android 端应用也很简单,在 Android 模块的目录引入 Jetpack 的对应类库皆可实现平台侧的功能开发。

性能方面,Compose Multiplatform 采用了 Skia 作为渲染引擎。Skia 可以跨平台使用,同时支持各平台特有的硬件加速技术,例如 DirectX,Metal 以及 OpenGL 等,借助硬件性能能完成高速渲染,当然 Compose 为没有硬件加速的设备也提供了优化的软件渲染方案。

在开发工具方面,Compose Multiplatform 可以运行在 IntelliJ IDEA 2021.1 之后的 IDE 中,IDE 提供了专门的工程向导和模板,帮助开发者快速启动,

image.png

同时 Compose Multiplatform 为 IDE 提供了专门用于预览的 Plugin 帮助开发者快速的预览自己的开发的 UI ,极大地提高开发效率。

image.png

JetBrains 在 4 个月之前将此 App 从 C++ 和 Electron 架构前移到了 Compose Multipaltform,并一直平稳运行,服务着月活超过 100 万的用户,框架的稳定性也得到了验证。

目录
相关文章
|
12月前
|
容器
docker-compose构建项目
docker-compose构建项目
|
Linux Docker 容器
「Docker」M1 Pro 打包docker image问题合集
「Docker」M1 Pro 打包docker image问题合集
159 0
|
Docker 容器
Docker Compose学习之docker-compose.yml编写规则 及 实战案例
本文是博主学习docker compose 规则的记录,希望对大家有所帮助。
472 0
Docker Compose学习之docker-compose.yml编写规则 及 实战案例
|
1月前
|
Docker 容器
利用Docker Compose优化开发环境的配置
在现代软件开发中,环境一致性至关重要。开发人员常需在不同机器间复制环境配置,而Docker Compose提供了一种简便有效的方法来定义和运行多容器Docker应用程序,确保开发、测试和生产环境一致,简化团队协作,提高开发效率。通过YAML文件配置服务、网络和卷,使用简单命令即可启动和停止服务。本文将介绍Docker Compose的核心优势、基本使用方法及高级功能,帮助你更好地管理和优化开发环境。
|
3月前
|
运维 Shell Go
构建 Go 应用 docker 镜像的十八种姿势
构建 Go 应用 docker 镜像的十八种姿势
|
6月前
|
Java Android开发 iOS开发
10个问题带你了解 Compose Multiplatform 1.0
10个问题带你了解 Compose Multiplatform 1.0
328 0
|
6月前
|
前端开发 API Android开发
Compose Multiplatform 发布 Beta 版本
Compose Multiplatform 发布 Beta 版本
73 0
|
11月前
|
容器
竟有人因为docker-compose build参数搞垮了1星期
事情是这样的。 我从上星期开始,修改项目的源代码,然而提交了多次,容器代码并没有改变 后来在一遍文章上发现,还是要重新build,本以为找到了救星了。 奈何发现执行docker-compose build,容器并没有重写,明明我是写了的,为什么会这样呢?
109 0
|
关系型数据库 MySQL 数据安全/隐私保护
Docker Compose部署案例
本实验介绍了如何在DockerCompose中部署WordPress
|
Docker 容器
Docker compose v1 与 v2版本区别
Docker Compose是用于定义和管理多容器Docker应用程序的工具。下面是Docker Compose版本1和版本2之间的一些区别:
1095 0