0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Jetpack Compose 更新一览 | 2022 Android 开发者峰会

谷歌开发者 来源:未知 2022-11-23 17:55 次阅读

作者 /Android 开发者关系工程师 Jolanda Verhoef

去年我们发布了 Jetpack Compose,此后一直在进行优化。我们已添加了新的功能并创造出功能更强大的工具,帮助您获得更高效、更直观、更有趣的 Android 界面开发体验。如果您正在开发一款新应用,那现在是时候用 Compose 来编写了!这一激动人心的 Compose 版本现可支持 Material Design 3、新的 BOM (Bill Of Materials)、稳定版 Compose for Wear OS 和 Android TV Alpha 版、Compose Camp,以及更多新功能!

  • Jetpack Compose

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

  • 稳定版 Compose for Wear OS

    https://android-developers.googleblog.com/2022/07/compose-for-wear-os-10-stable.html

社区中的 Compose

去年,我们了解到许多公司大规模使用 Compose 进行开发,实现了新功能并将编译界面从 View 迁移至 Compose。例如,我们在与 Lyft 的工程师交谈后得知,他们超过 90% 的新功能代码是用 Compose 编写而成,并且改用 Compose 能够更加轻松便捷地维护代码。他们还分享道: "我们使用 Compose 在应用中重新编写了按钮组件。在此之前,编写该组件需要在三个文件外加 17 个不同 XML 文件中编写 800 行代码,而现在减少到只需一个 Kotlin 文件和 300 行代码即可完成。单就 Kotlin 代码而言,工作量就减少了 60%"。Zepeto 团队同样已在多个功能中使用 Compose,并从中受益,因为 "Compose 简化了我们的界面层逻辑,有助于我们更轻松地理解同事所编写的代码"

△Jetpack Compose 帮助 Lyft更加轻松便捷地维护代码 | Android 开发故事

  • 大规模使用 Compose 进行开发

    https://developer.android.google.cn/jetpack/compose/adopt#what-developers-are-saying

  • 改用 Compose 使 Lyft 团队能够更加轻松便捷地维护代码

    https://android-developers.googleblog.com/2022/10/lyft-reduced-their-code-for-ui-components-using-jetpack-compose.html

  • 有助于 Zepeto 团队更轻松地理解同事所编写的代码

    https://android-developers.googleblog.com/2022/10/zepeto-plans-to-migrate-80-percent-of-apps-ui-to-jetpack-compose.html

很高兴看到这些团队能够缩短开发周期,编写更加简洁易读的界面代码。他们并不是个例。在今年的 Google I/O 大会过后,Google Play 上排名前 1,000 的应用中使用 Compose 的数量增加了 50%!为了帮助您的团队追随 Lyft、Zepeto 和其他团队的脚步,我们发布了关于如何在您的团队中采用 Compose 的指南。该指南为您介绍如何以及从何处着手,并展示了 Compose 能够带来巨大附加价值的开发领域。
  • 如何在您的团队中采用 Compose 的指南

    https://developer.android.google.cn/jetpack/compose/adopt/for-large-teams

Jetpack Compose 2022 年 10 月版发布

现在,我们发布了全新的稳定版 Compose,并为您介绍一些激动人心的功能和最新资讯。

首先,根据用户反馈,我们了解到追踪不同工件的版本会让人望而生畏,因为这些工件可能出现在不同的发布时间表中。因此我们现将一同发布 Bill of Materials 功能,即 BOM,包含所有 Compose 工件的稳定版本,让您能够更轻松地使用。

首版 BOM 发布的同时,Compose 2022 年 10 月版也带来了交错网格支持、直接在画布中绘制文本,下拉刷新,同时包含性能改进和问题修复。

Compose BOM

BOM 是一个 Maven 模块,用于声明一组内容库及其版本。这将很大程度上简化您在 Gradle 依赖项部分定义 Compose 内容库版本的方式,尤其是在我们对不同的 Jetpack Compose 内容库采用独立版本的情况下。您不用再单独定义每个版本,这一过程往往繁重且容易在内容库版本出现不同时出错,现在您只需定义一个 BOM 版本,就能够从中提取所有 Compose 内容库版本。每当 Compose 工件有新的稳定版本时,我们就会发布新的 BOM 版本,因此可更轻松地从一个稳定版转移到另一个稳定版。

dependencies {
    // 导入 Compose BOM
    implementation platform('androidx.compose2022.10.00')


    // 为尚未标明版本的目标 Compose 库声明依赖项
    implementation 'androidx.compose.foundation:foundation'
    androidTestImplementation 'androidx.compose.ui:ui-test-junit4'


    ...
}

  • 对不同的 Jetpack Compose 内容库采用独立版本

    https://android-developers.googleblog.com/2022/06/independent-versioning-of-Jetpack-Compose-libraries.html

我们已在快速入门指南中增加关于如何添加 Compose BOM 的说明。请注意,您仍可以选择使用硬编码版本来定义您的依赖项。添加 BOM 这一实用方式是为了简化依赖项并让升级变得更加容易。

  • 快速入门指南

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

深入了解修饰符

一直以来,我们都在幕后努力优化 Compose 性能。Compose 2022 年 10 月版本包括对修饰符工作原理的重大重构。尽管您可能不会在 API 中注意到任何更改,但此次重构会为修饰符性能的重大改进铺平道路。您可以通过下方视频详细了解更改背后的基本原理,以及在 ADS 演讲 Compose 修饰符深入研究中规划的内容。

△Compose 修饰符深入研究 | 2022 Android 开发者峰会

  • Compose 修饰符深入研究

    https://developer.android.google.cn/events/dev-summit/technical-talks

弹出式窗口和对话框高度更改 无障碍功能始终是 Compose 中至关重要的存在,此版本包含一个行为变更,有助于修复采用弹出式窗口和对话框的无障碍功能错误:弹出式窗口和对话框的最大高度由 30dp 下降到 8dp。只有在使用高度超过 8dp 的自定义对话框或弹出式窗口时,您的应用才会受到影响。您可以参阅版本说明,了解有关变更的更多详情,比如为临时解决方案覆盖新行为的方法 (请注意,对于自定义弹出式窗口和对话框,我们始终推荐高度不超过 8dp)。

  • 版本说明

    https://developer.android.google.cn/jetpack/androidx/releases/compose-ui

新功能

我们在 Compose 中添加了许多新功能。部分重要内容如下:

  • 使用全新 LazyHorizontalStaggeredGridLazyVerticalStaggeredGrid 实现交错网格;
  • 使用 DrawScope.drawText 直接在画布中绘制文本;
  • 使用 FontVariation 对象在应用中添加可变字体并更改其属性;
  • 在带注释的字符串中添加 UrlAnnotation 以改进与文本互动的无障碍服务;
  • 使用全新 LineBreakAPI 在您的文本中添加断字功能;
  • 使用全新 pullRefresh 修饰符下拉刷新
  • 使用 SnapFlingBehavior 在您的惰性列表中添加贴靠行为;
  • LookAheadLayout 是一种新的布局类型,可以提供关于子项的最终测量与放置信息,帮助您决定中间层布局。

  • LazyHorizontalStaggeredGrid

    http://link.gevents.cn/DYyk4w

  • LazyVerticalStaggeredGrid

    http://link.gevents.cn/GviHF9

  • FontVariation

    https://developer.android.google.cn/reference/kotlin/androidx/compose/ui/text/font/FontVariation

  • 可变字体

    https://fonts.google.com/knowledge/topics/variable_fonts

  • UrlAnnotation

    https://developer.android.google.cn/reference/kotlin/androidx/compose/ui/text/UrlAnnotation

  • LineBreak

    https://developer.android.google.cn/reference/kotlin/androidx/compose/ui/text/style/LineBreak

  • pullRefresh

    http://link.gevents.cn/TAA2d2

  • 下拉刷新

    https://material.io/design/platform-guidance/android-swipe-to-refresh

  • SnapFlingBehavior

    https://developer.android.google.cn/reference/kotlin/androidx/compose/foundation/gestures/snapping/SnapFlingBehavior

  • LookAheadLayout

    http://link.gevents.cn/ETYAtK

Compose Material 3 稳定版

我们还推出了 Compose Material 3 内容库的第一个稳定版本!您可以使用 Compose 构建应用,并根据 Material Design最新版Material Design 3 设置主题。使用 Material Design 3 进一步自定义您应用的颜色、排版和外观,帮助您的品牌脱颖而出!内容库包含许多界面组件的全新和更新版本,例如按钮、卡片、复选框、开关、导航栏、抽屉式导航栏等,并支持其他即将推出的更新。您可以前往官方文档,查看受支持的所有组件列表,也可以在我们近期的推文中了解详情。

  • Compose Material 3 内容库

    https://developer.android.google.cn/jetpack/androidx/releases/compose-material3

  • Material Design 3

    https://m3.material.io/

  • 官方文档

    https://developer.android.google.cn/reference/kotlin/androidx/compose/material3/package-summary#overview

您可以查看我们新的迁移指南,帮助您使用 Material 3,我们在指南中清楚地介绍了如何将 Material 2 概念转化成 Material 3。Android Studio Flamingo 中的默认模板现在会使用 Material 3 来指引您即时正常运行。我们还更新了许多示例应用、教程、模板和 Codelab 以助您轻松使用 Material 3,方便您在实践中学习!

  • 迁移指南

    https://developer.android.google.cn/jetpack/compose/themes/material2-material3

新工具

使用 Jetpack Compose 中全新的和已优化的工具可简化应用开发。我们在 Android Studio 中添加了大量新功能,帮助您改进工作流程,提高效率: 最新的稳定版 Android Studio Dolphin 可以为您带来如下功能:
  • 动画协调

  • MultiPreview 注释
  • 布局检查器中的重组计数

  • Android Studio Dolphin

    https://developer.android.google.cn/studio/releases#new_in_compose

Android Studio Electric Eel 内含 Beta 版功能,如:
  • 实时编辑 (实验性)

  • 突出显示组合渲染效果

  • 配置预览版设备

  • 预览版中的 Live Updates

  • Android Studio Electric Eel

    https://developer.android.google.cn/studio/preview/features#2022.1.1

Android Studio Flamingo 内含 Canary 版功能,比如:

  • 新项目模板默认使用 Compose 和 Material 3
  • 默认开启实时编辑
  • 改进后的组合跟踪,助您更好地检查性能问题。
  • Android Studio Flamingo

    https://developer.android.google.cn/studio/preview/features#2022.2.1

Relay

我们还发布了 Relay 的首个 Alpha 版本,作为设计稿转代码的解决方案,可优化设计者与开发者之间的协作。设计者使用 Figma 插件创建界面组件,开发者则使用 Android Studio 插件将这些组件自动应用到他们的应用中。生成的组件是可组合函数,并可直接被集成到您的 Compose 应用中。您可以查看官方文档,详细了解 Relay。

  • Relay

    https://relay.material.io/

  • Figma 插件

    https://www.figma.com/community/plugin/1041056822461507786

  • Android Studio 插件https://plugins.jetbrains.com/plugin/19721-relay-for-android-studio/
  • 官方文档https://developer.android.google.cn/jetpack/compose/tooling/relay

面向 Wear OS、大屏幕设备和电视的 Compose

我们在 7 月发布了首个稳定版 Compose for Wear OS,可随时在生产环境中使用。推荐您使用 Compose for Wear OS 来为 Wear OS 应用构建界面。我们在其中加入了二十余种专为可穿戴设备设计的 Compose 界面组件,如 TimeTextPositionIndicator,以及 ScalingLazyColumn。

  • Compose for Wear OS

    https://android-developers.googleblog.com/2022/07/compose-for-wear-os-10-stable.html

我们将持续改进,使其更易于为可折叠设备、平板电脑等大屏幕设备和 ChromeOS 设计、开发和测试应用material3-window-size-class 内容库已升级为稳定版,为您提供了一组可供使用的视口划分点。大屏幕设备设计通常包含交错网格,新增的 LazyHorizontalStaggeredGridLazyVerticalStaggeredGrid 有助于实现这些网格。

  • material3-window-size-class

    https://developer.android.google.cn/jetpack/androidx/releases/compose-material3

  • LazyHorizontalStaggeredGrid

    http://link.gevents.cn/DYyk4w

  • LazyVerticalStaggeredGrid

    http://link.gevents.cn/GviHF9

Android 社区的反馈一直推动我们继续向前。我们根据您的反馈更新了路线图,更加侧重于能够帮助您成功使用 Compose 的领域。现在我们正专注于支持更多案例,包括更多 Material 3 组件,改进平台支持、工具和性能。

  • 路线图

    https://developer.android.google.cn/jetpack/androidx/compose-roadmap

全新的和更新后的指南

无论您处于学习旅程的哪个阶段,我们都会为您提供帮助!我们新增和优化了有关 Compose 的许多指南:

  • 如果想要体验实践操作,您可以参阅更新后的面向 Android 开发者的 Compose 课程。这一课程涵盖了多种主题,从基础知识到进阶内容,一应俱全。
  • 如果您更喜欢观看视频,可查看 MAD 技巧: Compose 基础知识系列视频,当然,您也可以观看 Android 开发者峰会中有关 Compose 的所有技术分享内容。
  • 您可以阅读有关图像和图形的扩展文档。
  • 想知道使用哪种动画?答案尽在全新的动画备忘单中!
  • 通过全新的调试重组截屏视频博文,了解如何发现并修复性能问题。
  • 如果考虑在您的现有应用中采用 Compose,您可以参阅扩展版指南: 在应用中采用 Compose
  • 面向 Android 开发者的 Compose 课程

    https://developer.android.google.cn/courses/jetpack-compose/course

  • MAD 技巧: Compose 基础知识

    https://youtube.com/playlist?list=PLWz5rJ2EKKc-CG9riunK996aI6cRhXFDC

  • Android 开发者峰会

    https://developer.android.google.cn/events/dev-summit/technical-talks#modern-android-development

  • 图像和图形

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

  • 动画备忘单

    https://storage.googleapis.com/android-stories/compose/Compose_Animation_Cheat_Sheet.pdf

  • 截屏视频

    https://www.youtube.com/watch?v=SWBN0y0lFNY

  • 调试重组博文

    https://medium.com/androiddevelopers/jetpack-compose-debugging-recomposition-bfcf4a6f8d37

  • 在应用中采用 Compose

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

Compose Camp

Compose Camp 是一个由社区组织的全球系列活动,该活动将从九月一直持续到十二月!Compose Camp 同时包含初学者路径和资深者路径,所有水平的开发者均可加入一同学习。活动已在如火如荼地进行中,全球各地的 GDG 和 GDSC 发布了多支视频,社区平台也举办了众多活动。

  • Compose Camp

    https://developer.android.google.cn/compose-camp

  • 如火如荼地进行中

    https://twitter.com/search?q=%23ComposeCamp&src=typeahead_click

  • 视频

    https://space.bilibili.com/64169458/channel/collectiondetail?sid=735148

祝您拥有愉快的 Compose 使用体验!

希望您和我们一样对这些进展感到兴奋!如果您尚未开始,现在就是学习 Jetpack Compose,并帮助您的团队和开发流程从中受益的最佳时机。准备好体验更快的开发速度和更高的工作效率吧。祝您拥有愉快的 Compose 使用体验!也欢迎您持续关注我们,及时了解更多开发技术和产品更新等资讯动态。

  • Jetpack Compose

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

e0907a50-6b14-11ed-8abf-dac502259ad0.gif

e0b82fa0-6b14-11ed-8abf-dac502259ad0.gif 点击屏末||即刻了解 Jetpack Compose 更多相关内容

e0c4f690-6b14-11ed-8abf-dac502259ad0.png

e0d4e8d4-6b14-11ed-8abf-dac502259ad0.gif

e119d750-6b14-11ed-8abf-dac502259ad0.png


原文标题:Jetpack Compose 更新一览 | 2022 Android 开发者峰会

文章出处:【微信公众号:谷歌开发者】欢迎添加关注!文章转载请注明出处。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 谷歌
    +关注

    关注

    27

    文章

    5861

    浏览量

    103265

原文标题:Jetpack Compose 更新一览 | 2022 Android 开发者峰会

文章出处:【微信号:Google_Developers,微信公众号:谷歌开发者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Android 15的首个开发者预览版现已发布

    Android 15 的首个开发者预览版现已发布,以便各位开发者能与我们通力协作,打造更优秀的 Android 平台。
    的头像 发表于 03-12 14:16 319次阅读
    <b class='flag-5'>Android</b> 15的首个<b class='flag-5'>开发者</b>预览版现已发布

    Testin云测国内首发Android 15开发者预览版云真机

    Android 15来了,Testin云测助您快速抢占先机! 目前,谷歌已发布了Android 15的第一个开发者预览版本(Android 15 Developer Preview 1
    的头像 发表于 02-24 09:33 496次阅读
    Testin云测国内首发<b class='flag-5'>Android</b> 15<b class='flag-5'>开发者</b>预览版云真机

    谷歌Android 15开发者预览版遇问题,OTA更新暂停

    谷歌在Android Developer官网发表声明,因发现“已知问题”,将暂时关闭Android 15 DP1的OTA更新订阅服务。谷歌解释道:“禁用OTA镜像下载是为了深入调查问题。”对于想要尝鲜
    的头像 发表于 02-21 14:08 164次阅读

    鸿蒙开发者预览版如何?

    、原生智能、原生互联,6大极致原生体验。 我初步阅读了鸿蒙的源码后,基本上可以确定是全自研底座,已经看不到Android的身影了。作为开发者,如果想往鸿蒙方向发展,就需要系统性学起。鸿蒙的知识体系如下
    发表于 02-17 21:54

    鸿蒙系统优缺点,能否作为开发者选择

    开发的岗位需求,尤其在这个大环境不好的情况下,会引出更多岗位。 鸿蒙的开发岗位,不会内卷、薪资高、岗位多。对于开发者非常友好。 新型操作系统,比Android、ios更加安全实用。
    发表于 02-16 21:00

    您有份OpenHarmony开发者论坛2023年度总结,请查收~

    2023 年 11 月,OpenHarmony 开发者论坛 1.0 版本正式上线。 感谢各位开发者对 OpenHarmony 的大力支持和热爱,成为 OpenHarmony 开发者论坛的第
    发表于 01-26 17:27

    欢迎加入飞腾派开发者社区,感谢每开发者

    发烧友论坛起策划了飞腾派开发板测评活动,受到了广大开发者的喜爱。 通过这次活动,飞腾派成功地吸引了众多高质量开发者的关注和参与,进步扩
    发表于 12-11 16:11

    OpenHarmony技术大会 | 编程语言及开发框架分论坛圆满举办:从更新迭代中找寻发展

    Javascript/Typescript、Python、Java、Kotlin、Swift、Rust、ArkTS,再到开发框架Web、Flutter、SwiftUI、Jetpack Compose
    的头像 发表于 11-11 21:15 716次阅读

    Jetpack WindowManager 1.1 稳定版

    作者 / Android 开发者关系工程师 Francesco Romano 自 Jetpack WindowManager 1.0 稳定版发布的一年多以来,可折叠设备和大屏设备领域发生了诸多
    的头像 发表于 10-18 19:10 209次阅读
    <b class='flag-5'>Jetpack</b> WindowManager 1.1 稳定版

    创新不竭,探索不止 | 开发者说·DTalk 年中优秀赏

    OS 1.1 稳定版 ,不断迭代的 Android Studio ,日益优化的 Google Play ,以及精彩纷呈的开发者活动 ( Google I/O 大会 , Google 游戏开发者
    的头像 发表于 07-14 17:40 228次阅读
    创新不竭,探索不止 | <b class='flag-5'>开发者</b>说·DTalk 年中优秀赏

    在 I/O 看未来 | Android 平台和质量更新一览

    作者 / 开发者关系工程师 Dan Galpin Google I/O 大会 是一场开发者的盛会,在此期间,我们向大家展示了与平台各方面相关的 精彩内容 ,其中大多数围绕应用质量。本文将为您带来
    的头像 发表于 07-04 17:45 269次阅读
    在 I/O 看未来 | <b class='flag-5'>Android</b> 平台和质量<b class='flag-5'>更新</b><b class='flag-5'>一览</b>

    在 I/O 看未来 | Jetpack 新功能一览

    组成支柱。Android Jetpack 套件包含超 100 个库、工具及指南,可帮助开发者遵循最佳实践、减少样板代码,并编写可在各种 Android 版本和设备中一致运行的代码,以便
    的头像 发表于 06-01 01:20 249次阅读
    在 I/O 看未来 | <b class='flag-5'>Jetpack</b> 新功能<b class='flag-5'>一览</b>

    2023开放原子全球开源峰会报名开启!

    开放原子全球开源峰会 开放原子全球开源峰会是开放原子开源基金会本着以开发者为本的开源项目孵化平台、科技公益性服务机构的定位,立足中国,面向世界发起的大会,峰会依托国际化平台,聚集政、
    发表于 05-29 17:05

    华为:鲲鹏已拥有4500家合作伙伴,吸引超过200万名开发者加入

    鲲鹏昇腾开发者峰会2023在东莞松山湖开幕,华为ICT产品组合管理与解决方案部总裁马海旭在会上表示,鲲鹏已拥有4500家合作伙伴,吸引了超过200万名开发者加入,同时已有13500多个解决方案通过
    发表于 05-06 15:31

    # 面向万物智联的应用框架的思考和探索(上)

    的自动更新,而无需开发者手动基于DOM 编程。 2)2018年,Google发布的Flutter则是个重要的分界点。Flutter融合了Dart语言,是第个深度融合了语言的较为完整的声明式
    发表于 05-04 10:48