Kotlin logo

Kotlin

A concise multiplatform language developed by JetBrains

Multiplatform

Compose Multiplatform 1.6.10 – iOS Beta、Web Alpha、Lifecycle、导航等

Read this post in other languages:

Compose Multiplatform 是由 JetBrains 开发的声明式 UI 框架,允许开发者跨平台共享 UI 实现。 Compose Multiplatform 使 Kotlin Multiplatform 项目的代码共享灵活性得到完全释放,让您能够以最高 100% Kotlin 代码编写应用。 1.6.10 版本包含多项强大功能,并将 iOS 支持升级至 Beta 版,将 Web 支持升级至 Alpha 版。

Compose Multiplatform 使用入门

此版本的亮点包括:

  • 多平台资源 API 现在已经稳定,并且对此库引入了多项期待已久的改进。
  • 基于 Jetpack Compose Navigation 的实验性导航库。
  • 通用 Lifecycle 库,具有通用 ViewModel 实现。
  • Kotlin 2.0.0 通过使用新的 Compose 编译器 Gradle 插件得到支持。

有关所有显著更改的更多详细信息,请参阅 Compose Multiplatform 1.6.10 最新变化GitHub 上的版本说明提供了所有版本间更改、更新和修正的完整列表。

Compose Multiplatform for iOS 现已进入 Beta 阶段

去年进入 Alpha 阶段以来,Compose Multiplatform for iOS 在改善其原生外观和体验方面取得了长足的进步。

这些增强功能包括:

  • 得益于新的滚动物理以及原生文本字段、窗口嵌入、文本选择和放大工具,交互体验变得更加自然。
  • 弹出窗口、对话框和其他微件的体验更加自然。
  • Compose 渲染针对 ProMotion 显示器进行了调整,支持高达 120 Hz 的动态刷新率。
  • 添加了对 iOS 辅助功能的支持 – 包括旁白、字体和缩放偏好设置以及辅助功能树同步。
  • 现已支持使用新的通用 DSL 进行 UI 测试。
  • 最后但同样重要的一点是,多个重要 Material 3 组件现已针对 iOS 进行适配:DatePickerAlertDialogDropdownMenuModalBottomSheetSearchBar

为了达到稳定版本,我们正致力于性能改进并尽可能多地修正 iOS 端 Compose 组件的问题。

Compose Multiplatform for Web 现已进入 Alpha 阶段

Compose Multiplatform 团队很高兴地宣布,实验性 Web 目标现已进入 Alpha 阶段:

  • 面向其他平台实现的 Jetpack Compose 功能也已适用于 Web。
  • 团队正致力于推动 Web 平台的发布。

但是,大部分组件的浏览器适配还有很长的路要走。 敬请关注,我们将继续改进 Compose Multiplatform for Web! 要试用 Compose Web 应用,请按照我们的教程操作。

多平台资源

资源库现已稳定! 除了可靠性提升之外,API 现在也更加灵活方便:

  • 您可以按照您认为合理的方式在任何模块和源集中组织资源。 无需将它们限定在 commonMain 中。 Compose Multiplatform 将负责发布每个平台所需的文件。
  • 您可以在 Gradle 配置文件的 compose.resources {} 块中控制 Res 类的生成。
  • 新增了支持以字节数组形式获取字体和图像的实验性功能。 这些应该有助于需要访问多平台资源的第三方库。

更新的文档详细说明了上述和其他更改。

实验性导航库

Jetpack Compose Navigation 方式现已在 Compose Multiplatform 中实现。 您可以使用导航主机、图和控制器帮助用户轻松地在屏幕之间移动。

通用导航库仍处于实验阶段,但已涵盖大部分核心功能。 请参阅文档以了解它的当前功能和局限性。

Lifecycle 库和通用 ViewModel

Lifecycle 库基于 Jetpack Lifecycle,提供了通用的 LifecycleOwner 实现,可以将原始 Jetpack Compose 功能扩展到其他平台,并有助于观察通用代码中的生命周期状态。

除了状态管理之外,通用 lifecycle 库还包含通用 ViewModel 实现。 您现在可以使用 Android 方式,在所有平台上构建稳健的 UI。

有关这些 API 的实现和设置的详细信息,请参阅文档

新的 Compose 编译器 Gradle 插件

Compose 编译器已合并到 Kotlin 仓库中。 这有助于确保您的项目更顺利地迁移到 Kotlin 2.0.0,因为具有相同版本号的 Compose 编译器插件和 Kotlin 版本(例如,Kotlin 2.0.10 和 Compose 编译器插件 2.0.10)将始终兼容并一同发布。

随着新编译器版本的发布,我们还发布了新的 Compose 编译器 Gradle 插件,它可以简化项目设置并让用户轻松访问 Compose 编译器选项。

有关迁移指南和其他详细信息,请参阅 Compose 编译器文档

对 Kotlin 2.0.0 的支持

Compose Multiplatform 1.6.10 已完全兼容 Kotlin 2.0.0。 配合新的 Compose 编译器,您可以更加轻松灵活地迁移到最新版本的 Kotlin。

Compose Multiplatform 的 Fleet 功能

Fleet 1.35 中对 Compose 开发的支持得到了全面提升,包括:

  • 对调试 Kotlin/Wasm 代码的支持得到增强。
  • Composable 预览现在会随着您的输入更新。
  • 针对 1.6.10 版本更新了多平台资源的访问器和导航,同时还进行了一些资源管理的体验改进。

其他主要更改

要了解此版本中包含的其他更改:

更多文章和视频

本博文英文原作者:

Sue

Aleksey Zamulla

image description

Discover more