记得加关注, Kotlin 之路不迷路!
Kotlinlang.org
Compose Multiplatform 是由 JetBrains 开发的声明式 UI 框架,允许开发者跨平台共享 UI 实现。Compose Multiplatform 使 Kotlin Multiplatform¹ 项目的代码共享灵活性得到完全释放,让您能够以最高 100% Kotlin 代码编写应用。1.6.10 版本包含多项强大功能,并将 iOS 支持升级至 Beta 版,将 Web 支持升级至 Alpha 版。
-
Compose Multiplatform 使用入门:https://www.jetbrains.com.cn/help/kotlin-multiplatform-dev/compose-multiplatform-getting-started.html
此版本的亮点包括:
-
多平台资源 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 进行适配:
DatePicker
、AlertDialog
、DropdownMenu
、ModalBottomSheet
和SearchBar
。
为了达到稳定版本,我们正致力于性能改进并尽可能多地修正 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 版本更新了多平台资源的访问器和导航,同时还进行了一些资源管理的体验改进。
其他主要更改
要了解此版本中包含的其他更改:
-
请参阅 Compose Multiplatform 1.6.10 最新变化²,其中更详细地介绍了 1.6.10 版本中引入的改进和功能。
-
GitHub 上的 Compose Multiplatform 版本说明³包含 1.6.10 版本合并拉取请求的详尽列表。
本博文英文原作者:Aleksey Zamulla
这就是 Kotlin 编程语言
简洁、跨平台、且有趣!
本文分享自微信公众号 - JetBrains(JetBrainsChina)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。