Jetpack Compose Beta 版现已发布!

作者 / 产品经理 Anna-Chiara Bellini、开发者关系工程师 Nick Butcher

  • 腾讯视频链接

    https://v.qq.com/x/page/p3232fjra1n.html

  • Bilibili 视频链接

    https://www.bilibili.com/video/BV1Ey4y1E7Em/

我们已经推出了 Jetpack Compose Beta 版,这是我们的全新 UI 工具包,旨在帮助开发者更快速、更轻松地在所有 Android 平台构建原生应用。Compose 提供了新一代声明式的 Kotlin API,可帮助您以更少的代码构建精美、响应迅速的应用。构建该工具包的目的在于与现有 Android 应用和 Jetpack 开发库集成,您可以将 Android 视图与 Compose 相结合,按照您自己的节奏应用 Compose。

  • Jetpack Compose

    https://developer.android.google.cn/jetpack/compose

在此 Beta 版中,Compose 的 API 均已构建完成,并具备构建生产可用的应用中所需的全部功能。Beta 版也意味着其 API 已相对稳定,因此我们不会更改或移除 API。时机正好,不妨趁现在开始学习 Compose,并着手规划今年 1.0 版发布之后,您将如何在接下来的项目或功能中使用该工具包。

Beta 版功能一览

我们的团队一直以公开方式开发 Compose,并得到社区的积极参与和反馈。自 2019 年开源以来,我们已发布了 30 个公开版本,解决了 700 余个 Bug 反馈,并采纳了 200 余项外部贡献。我们期待看到您使用 Compose 构建的内容, 并根据您的反馈和功能请求来优化我们的 API,并确定我们工作方向的优先级。自 Alpha 版推出以来,我们添加并改进了多项新功能:

  • ????  协程支持

  • ????  Talkback 无障碍功能支持: 对其他技术的支持将在稳定版中发布

  • ????  易于使用的动画,以及 Alpha 版推出后发布的全新 API

  • 与视图的互操作性

  • Material UI 组件,全部附带示例代码

  • 懒加载列表: Jetpack Compose 中新增 RecyclerView

  • 基于 DSL 的 Constraint Layout

  • 修饰符

  • 测试

  • 主题和图形,可轻松支持深色/浅色模式

  • 输入和手势

  • 文本和可编辑文本

  • Window 管理

  • 动画

    https://developer.android.google.cn/codelabs/jetpack-compose-animation

  • 互操作性

    https://developer.android.google.cn/jetpack/compose/interop

  • Material UI 组件

    http://material.io/blog/jetpack-compose-beta

  • Constraint Layout

    https://developer.android.google.cn/jetpack/compose/layout#contraintlayout

此 Beta 版工具包的开发重点在于确保 API 的完成度;换言之,所有基础 API 均已构建完成,我们能够在此基础上,继续针对 1.0 及更高版本进行构建。在推出 1.0 版之前,我们将致力于保证这些 API 的稳定性,并重点关注应用性能和无障碍功能。

Compose Beta 版已得到最新的 Android Studio Arctic Fox Canary 版支持,后者提供了很多新工具:

  • ????  Live Literals (实时文字): 在预览 (Preview) 及设备或模拟器上实时更新文字

  • ????  动画预览: 检查并播放动画

  • ????  布局检查器中的 Compose 支持

  • ????  交互式预览: 检查并与单独的 Composable 交互

  • ????  部署预览: 无需完整应用即可在您的设备上部署 Composable

  • Android Studio Arctic Fox

    https://developer.android.google.cn/studio/preview

  • 新工具

    https://developer.android.google.cn/jetpack/compose/tools

  • 动画预览

    https://developer.android.google.cn/jetpack/compose/animation#tooling

  • 布局检查器中的 Compose 支持

    https://developer.android.google.cn/studio/preview/features#compose-layout-inspector

Android Emulator 上的 Live Literals (实时文字)

适用于 Jetpack Compose 的布局检查器

兼容现有应用

Jetpack Compose 旨在与 Android 视图无缝协作,便于您按照自己的节奏应用该工具包。您可以在 Android 视图中嵌入 Compose UI,并在 Compose 中使用视图。我们在互操作性文档中提供了多种应用策略。

  • 互操作性文档

    https://developer.android.google.cn/jetpack/compose/interop

除了视图互操作性,我们还集成了常用开发库,帮助您将 Compose 添加到现有应用中,而无需重写或重新设计应用。我们提供与下列组件的集成:

  • Navigation

  • ViewModel

  • LiveData / Rx / Flow

  • Paging

  • Hilt

  • 集成了常用开发库

    https://developer.android.google.cn/jetpack/compose/libraries

MDC Compose 主题适配器和 Accompanist 开发库提供了与 Material 和 AppCompat XML 主题的集成,因此您无需复制主题定义。Accompanist 还提供了适用于常见图像加载库的封装容器。

  • MDC Compose 主题适配器

    https://github.com/material-components/material-components-android-compose-theme-adapter

  • Accompanist

    https://github.com/chrisbanes/accompanist

  • Material

    https://github.com/material-components/material-components-android-compose-theme-adapter

  • AppCompat

    https://github.com/chrisbanes/accompanist/tree/main/appcompat-theme

  • 图像加载库

    https://github.com/chrisbanes/accompanist/#image-loading

Compose 的编程思想

Jetpack Compose 是一款声明性 UI 工具包,也是当前视图系统的范式转变,您可利用此工具包声明 UI 在任何给定应用状态下的预期外观,而不是如何生成 UI。Compose 会负责在应用状态更改时更新您的 UI,这样您无需操作界面就能使其转变为预期状态,省去了繁琐的流程,并且可以避免出错。

Compose 完全使用 Kotlin 构建,可利用其优秀的语言特性提供功能强大、简洁且直观的 API。例如,借助协程,我们可以编写更简单的异步 API,如描述手势、动画或滚动。这样,我们就能更轻松地编写代码,将异步事件 (如触发动画的手势) 与结构化并发提供的取消和清理相结合。

  • 语言特性

    https://developer.android.google.cn/jetpack/compose/kotlin

  • 协程

    https://developer.android.google.cn/kotlin/coroutines

开始学习 Compose

为了帮助您和团队学习关于 Jetpack Compose 的所有内容,我们更新了学习计划,同时提供了一系列精心规划的视频、Codelab 和重要文档,帮助您入门。我们还发布了全新及更新的文档指南、一些视频演示以及全新的动画 Codelab,帮助您更深入地了解如何使用 Compose 进行构建。我们会提供各种指南来帮助您快速入门,如架构、无障碍功能和测试相关的指导内容,以及针对动画、列表或 Compose 的编程思想的深入探讨。

  • 学习计划

    https://developer.android.google.cn/courses/pathways/compose

  • 文档指南

    https://developer.android.google.cn/jetpack/compose/documentation

  • 动画 Codelab

    https://developer.android.google.cn/codelabs/jetpack-compose-animation#0

  • 架构

    https://developer.android.google.cn/jetpack/compose/architecture

  • 无障碍功能

    https://developer.android.google.cn/jetpack/compose/accessibility

  • 测试

    https://developer.android.google.cn/jetpack/compose/testing

  • 动画

    https://developer.android.google.cn/jetpack/compose/animation

  • 列表

    https://developer.android.google.cn/jetpack/compose/lists

  • Compose 的编程思想

    https://developer.android.google.cn/jetpack/compose/mental-model

我们还提供了 8 个官方示例应用,方便您直接开始使用并了解 Compose 的实际应用。这些示例从简单到复杂,每个都会展示不同的 API 和用例。请参阅 readme,了解更多详情。

  • 官方示例应用

    https://github.com/android/compose-samples

  • readme

    https://github.com/android/compose-samples#-samples

#AndroidDevChallenge: 学习 Compose 并赢取奖品

如果您已准备好开始学习 Compose,并想在学习过程中赢取一些奖品,请查看 #AndroidDevChallenge。我们发起了一系列的每周挑战,帮助您对 Jetpack Compose 形成自己的见解,从而顺利完成项目。欢迎您持续关注 "谷歌开发者" 公众账号,及时了解最新一周的挑战内容,积极参与,赢取包括 Google Pixel 5 在内的 1,000 多份奖品吧!第二周挑战正在进行中,点击此处了解详情。

  • #AndroidDevChallenge

    https://developer.android.google.cn/dev-challenge

随着 Jetpack Compose Beta 版的推出,针对 1.0 版的稳定 API 和功能均已构建完成。现在时机正好,不妨开始学习 Jetpack Compose,并规划如何在接下来的项目中使用该工具包。我们期待收到您对在应用中采用 Compose 的反馈,您也可以在 Kotlin Slack 的 #compose 频道中参与讨论或在下方留言区和我们分享。

  • 反馈

    https://issuetracker.google.com/issues/new?component=612128&template=1253476

  • Kotlin Slack

    http://slack.kotlinlang.org/


推荐阅读




 点击屏末  | 即刻使用 Jetpack Compose 构建应用


相关推荐