Compose IOS 终于稳定了!

1,659 阅读5分钟

原文链接
Compose Multiplatform 1.8.0 Released

官方终于宣布。

Compose Multiplatform 1.8.0 发布:适用于 iOSCompose Multiplatform 已稳定且可投入生产使用。

今天是 Kotlin 多平台发展历程中的一个重要里程碑:Compose Multiplatform 1.8.0 版本发布,该版本使适用于 iOSCompose 进入稳定阶段。通过这次更新,Kotlin 多平台成为一个完整的移动开发解决方案,能够在不影响应用程序质量或失去对特定平台功能控制的情况下,在业务逻辑和用户界面间灵活地共享代码。

构建应用程序所需的一切

现在,Compose Multiplatform for iOS 具备了构建适实际应用程序用户界面所需的一切功能:

  • 在所有常见用例中,功能与 Jetpack Compose 保持一致。
  • 支持深度链接的类型安全导航。
  • 灵活的资源管理。
  • 通过旁白(VoiceOver)、辅助触控(AssistiveTouch)和全键盘访问,提供一流的无障碍支持。
  • 以及更多功能。

1.8.0 版本确定了核心 API 框架,针对无障碍性和导航功能进行了定向改进,同时修复了大量漏洞并提升了性能(详情请参阅 1.8.0 版本的新增内容)。目前,所有主要 API 均已正式稳定,具备强大的兼容性保障,未来预计不会出现重大的破坏性更改。 这一稳定的基础得益于迅速发展的生态系统。Jetpack 库正在采用多平台功能,社区也持续贡献高质量的库,涵盖从架构、依赖注入到图像加载和图形渲染的各个方面——所有这些库都列在官方 Kotlin 多平台库目录 klibs.io 上。 有了这些基础组件,你现在就可以开始开发功能强大、特性丰富的应用程序了——就像那些已经将 Compose Multiplatform 应用程序投入生产的团队一样。

cmp_apps_1.webp

具备原生质感的应用程序

流畅的原生交互体验是 iOS 用户的期待,也是他们能切实感知到的方面。 Compose Multiplatform for iOS 注重处理好每一处细节,让应用程序在这个平台上具备熟悉且流畅的交互体验:

  • 滚动效果与 iOS 原生物理特性相匹配。
  • 文本编辑支持原生选中方式以及从右至左的排版。
  • 与系统集成的拖放功能。
  • 自适应用户界面,充分适配系统设置,如字体大小和对比度设置。
  • 导航手势符合 iOS 用户的使用习惯。

秉承 Kotlin 多平台的核心理念,Compose Multiplatform 继续融合原生开发和跨平台开发的优势。1.8.0 版本进一步改进了与 SwiftUIUIKit 的互操作性,使你能够将 Compose 无缝嵌入现有应用程序中,或者将原生视图集成到 Compose 界面中。这种方式支持逐步采用,让你完全掌控代码共享的方式和位置。

具备生产级别的性能

出色的用户体验不仅仅取决于用户界面的交互;性能同样至关重要。流畅、响应迅速的交互是提升用户满意度的关键。这就是为什么在整个稳定化工作过程中,性能一直是我们关注的核心。在 1.8.0 版本中:

  • 启动时间与原生应用程序不相上下,因此首帧加载速度同样快。
  • 滚动性能与 SwiftUI 相当,即便在高刷新率设备上也是如此。
  • 与具有相同用户界面逻辑和资源的纯原生 SwiftUI 应用相比,Compose Multiplatform 仅使 iOS 应用的大小增加约 9 MB。

image-4.webp

最重要的是,这与开发者在实际应用中的体验相符。根据我们的最新调查,在 iOS 上使用 Compose Multiplatform 的团队中,有超过 96% 的团队表示不存在性能方面的担忧。

image-3.webp

提升效率的开发工具

为了让构建 Compose Multiplatform 应用的过程更快、更流畅且更富有乐趣,我们一直在积极改进 KMP 工具。适用于 IntelliJ IDEAAndroid Studio 的全新 KMP 插件即将推出。除了具备编写通用逻辑的功能外,它还将支持在通用代码中使用 Compose 预览功能,以及管理资源的工具。

更令人兴奋的是:Compose 热重载现已可用。借助该功能,你可以对用户界面代码进行更改,并立即看到结果,无需重启应用,也不会丢失当前状态。它能在你进行开发时智能地重新加载代码,使用户界面迭代比以往更快、更流畅。

可投入生产环境且易于采用

Compose Multiplatform for iOS 如今为您提供了全方位的解决方案:稳定的应用程序编程接口(APIs)、卓越的性能、原生的体验以及现代化的工具。您的用户在使用该用户界面时会感到得心应手,而您的团队也会看到诸多优势:漏洞减少、重复工作降低,跨平台交付速度更快。

最棒的是,您无需从零开始。包括 MarkazWrikeFeresPhysics Wallah 在内的许多团队已经开始将 Compose Multiplatform 逐步集成到大型应用程序中,一次集成一个屏幕或一项功能。它能够很好地融入您的工作流程,并根据您的需求不断发展完善。

arch.png

Compose Multiplatform for iOS 终于到了稳定阶段,其生态系统蓬勃发展,开发工具也已准备就绪。现在,我们迫不及待想看看您将开发出的应用程序。

移动领域之外的 Compose Multiplatform

适用于网页的 Compose Multiplatform 也在迅速发展。在 1.8.0 版本中,导航库现在支持浏览器的后退和前进按钮,让网页应用更具原生体验。开发者还可以尝试指针光标定制和资源预加载应用程序编程接口,这有助于减少布局偏移,提升感知性能。

这些更新让适用于网页的 Compose Multiplatform 在提供完善的、可供生产环境使用的体验方面又迈出了一步。几天后,将发布文章《Kotlin网页开发的现状与未来》,在这篇文章中,会分享更多关于 Kotlin 网页开发的愿景和计划。敬请关注。