一文带你了解 Google I/O 2022 精彩汇总与个人感想

作为时隔 3 年再次回归海岸线圆形剧场,谷歌这次 I/O 大会可以说是干满满,特别是本次大会的“线上会场”,Adventure 用类似“元宇宙”的概念,让广大开发者可以在“游戏”中逛遍所“展厅”,同时通过完成各种有趣的小游戏来参与大会,甚至你还可以钓鱼挂机…当然,最重要的是可以和全球各个开发者线上交流,这无疑是本次大会最优秀的一环。

AI

作为本次 I/O 大会的关键词之一,AI 成为谷歌所有产品里的重要组成部分:

  • 「通过 AI 加持,谷歌翻译新增了 24 种语言,甚至美洲原住民语言支持;」
  • 「Google Maps 通过 AI 实现了建筑物探测和街景融合的保真地图;」
  • 「YouTube 通过 AI 优化生成章节和字幕;」
  • 「Google Workspace 通过 AI 自动解析单词并提取要点;」
  • 「Google Meet 通过 AI 实现画面、灯光、亮度的优化;」
  • 「推出 LaMDA 2 AI Test Kitchen 和 PaLM,支持更智能的对话场景;」

可以看到这次谷歌的所有产品线都充斥了 AI 的关键词,AI 在谷歌的每个产品线上都得到了落地,而从个人之前体验过的谷歌翻译、 Google Meet 和 Google doc 上看,例如 Meet 的 实时 cc 、 视频动态亮度和 doc 的补全分词等上的感受看,AI 确实带来了用户体验的进一步升级。

Android 13

Android 系统作为每年的主角之一,本次发布的是 Android 13 Beta 2,不过今年的 Android 13 在众多干货里反而有些“平平无奇”,而按照往年的惯例,正式版应该还是在年末的时候推出。

其实想想也很正常,Android 发展这么多年,如今确实很难出现什么让人眼前一亮的功能,而和去年一样,「今年的重点还是在于隐私安全,然后还有 Material3 和折叠屏等相关的支持」

隐私

Android 13 上隐私调整最大的应该是新的照片选择器,「在 Android 13 中选择照片,会要求调用系统本身的组件来读取照片,而不是调用第三方 App」,并且这个特性不仅仅会在 Android 13 中出现,谷歌会将其放置到 Play 商店中,向 Android 11 和 Android 12 设备推送。

当然,这个调整最后在正式版中会如何要求还无法确定,因为按照之前 Android 10 、Android 11 关于读取 SD 文件的隐私要求作为参考,或者正式版中还是会有可以“兼容”的逻辑。

其他隐私相关还有:「附近 WiFi 权限」「通知权限(某个 App 如果想要发出通知,需要用户授权)」「存储媒体权限(可以为不同的存储媒体单独授权)」「富文本通信服务 (RCS) 的新标准」 等等相关的改进。

Material 3

Material You 也就是 Material 3 , 是在 Android 12 开始引入的一种设计语言,它带来了新的 UI 风格,还引入了基于壁纸的调色板控件,以及新的动画效果等。

谷歌对于 Material 3 的推广热情很高,不光是在 Android 上,在最新的 Flutter 3.0 也正式开始对 Material 3 的支持,但是作为国内的应用开发,相信大家应该都有一个共识:

「国内的老板、产品或者设计大概率使用的是苹果手机,所以 Material 风格这么多年也没在国内流行起来,甚至开发还需要费一些精力去屏蔽对应的阴影或者点击效果」

当然,关于 Material 3 有一个比较有意思的点,可能大家反正了解的不多,那就是 「HCT Google 全新的色彩空间。」

那它有什么用呢?简单说就是:「设计师第一次真正有了一套可以反映用户所见的色彩系统」

对于 HCT 其实是 Hue、Chroma、Tone 三个单词的缩写,可以解释为色相、色度和色调,通过谷歌开源的 Material Color Utilities 就可以方便实现接入。

Material Color Utilities 是一个跨平台的代码库,目前已支持 Dart、Java 和 Typecript 等语言,另外 C/C++ 和 Object-C 也在即将支持。如果对 HCT 感兴趣的可以去 Material Color Utilities 查阅相关资料 。

最后,本次 Android 13 Beta 1 也开放尝鲜,其中得到国内品牌确认并已公布刷机包的有:小米12、小米12 Pro、小米平板5 、Redmi K50 Pro、OPPO Find N、OPPO Find X5 Pro、一加10 Pro、realme GT2 Pr 等。

6

Jetpack 和 Jetpack Compose

Jetpack

相信作为 Android 开发,每次 I/O 最关心的还有 Jetpack 和 Compose 相关的信息,目前 Android Jetpack[1] 已经包含了 100 多个库、工具和指南,本次相关介绍有:

  • Room[2] 2.5 开始使用 Kotlin 完成重写;通过 room-paging 内置对 Paging 3.0 的支持;直接执行 JOIN 查询而无需定义额外的数据结构等;
  • Paging[3] 3.1 为 Rx 和 Guava 集成提供了支持,也就是除了 Kotlin 协程的还使用提供了 Java 的替代方案;
  • Navigation[4] 通过 navigation-compose[5] 集成到 Jetpack Compose 中;所有 Navigation 工件都已在 Kotlin 中完成重写;
  • 通过 Baseline Profiles[6] 优化 Apk 的安全和启动时间
  • 通过 JankStats[7]跟踪和分析应用 UI 中的性能问题;
  • AppCompat 1.4 集成了 Emoji2 库;
  • 新的 DragAndDrop[8] 支持接受来自其应用程序内部和外部的拖放数据;
  • 新的 WindowManager[9] 通过提供一个支持 API14 的通用 API 界面,帮助开发人员调整他们的应用以支持多窗口环境和新的设备外形;

可以看到如今的 Jetpack 体系已经相当丰富,基本上通过 Jetpack 系列的支持,开发人员几乎不需要使用第三方框架,「这也是现在很多 Android 的开源项目不再维护的原因之一」

Jetpack Compose

关于 Jetpack Compose,本次大会官方表示,目前 Play Store、Twitter、Aribnb 等大型企业都已经开始使用 Compose 进行开发,「在 Play 商店中排名前 1000 的应用程序中有 100 多个正在使用 Compose」

而本次发布Compose 1.2 的第一个 beta 版本[10], 其中主要改进了:

  • 字体填充问题;
  • 可下载字体支持;
  • 文字放大镜支持;
  • 「自定义懒布局支持」
  • 支持与 CoordinatorLayout 交互
  • Layout Inspector 针对 Compose 的性能调试支持;
  • 「Wear OS 支持用 Compose 编写UI」

可以看到本次放出的 Jetpack Compose 相关内容也十分丰富,目前 Compose 也正在被越来越多的的企业所使用。

可能有人就要说了,那 Compose Multiplatform Framework 的内容呢?

事实上 Compose Multiplatform Framework 是由 JetBrains 维护和开发,「本质上 Jetpack Compose 是 Android Jetpack 里的 UI 框架,而 JetBrains 将它支持到跨平台。」

所以正如目前关于 Compose Multiplatform Framework 的更新,大家可能更多要关注 JetBrains 的动态。

另外 「Wear OS 支持用 Compose 编写 UI 无疑是本次 Compose 最大的亮点」

Flutter

Flutter 本次也是作为 I/O 的主角之一,本次发布的 Flutter 3, 完成了 Flutter 从以移动为中心到多平台框架的路线图,本次大会主要是提供了 「macOS 和 Linux 桌面应用相关的支持,以及对 Firebase 集成的改进、提高生产力和性能以及对 Apple Silicon 的支持等等」

9

Flutter 1.0 beta 发布以来的过去了四年,如今 Flutter 终于完成了对 Android、iOS 、 Web、Win、Linux、macOS 的全平台的正式版支持,可以说本次发布会对于 Flutter 来说有着交出第一份答卷的味道。

而根据 data.ai[11] 等研究公司的分析以及公开推荐表明,Flutter 目前同样被许多领域的 客户[12] 所使用,包括有:

  • 微信等社交应用[13]
  • Betterment[14] 和 Nubank[15]等金融和银行应用;
  • SHEIN[16] 和 trip.com[17]等商务应用;
  • Fastic[18] 和 Tabcorp[19]等生活方式应用;
  • My BMW[20] 等配套应用
  • 巴西政府[21]等公共机构;

「如今,有超过 500,000 个使用 Flutter 构建的应用程序」

当然,这里不得不提到字节跳动,Sneath 在受访中表示 「字节跳动目前是 Flutter 的主要用户,内部估计其有约 80 个基于 Flutter 的应用」

而关于 Flutter 的更新,本次 Flutter 除了发布 macOS 和 Linux 的正式版之外,主要还包含了:

  • 改进性能;
  • Impeller 下一代渲染引擎正式露脸;
  • Material You 支持;
  • 「游戏相关」

没错,本次 Flutter 还有一个惊喜环节,那就是小游戏 I/O Pinball ,基于 Flutter 构建的 2D 游戏引擎 Flame[22] 给了 Flutter 新的可能,如果对这个感兴趣,也可以查阅文末的相关文章。

本次大会的 Alex 大佬的 workshop 也可以关注下:DartPad Workshops

资料汇总

Reference

[1] Android Jetpack  |  Android Developers
[2] Room  |  Android Developers
[3] Paging  |  Desenvolvedores Android  |  Android Developers
[4] Navigation  |  Android Developers
[5] androidx.navigation.compose  |  Android Developers
[6] Baseline Profiles  |  Android Developers
[7] JankStats ライブラリ  |  Android デベロッパー  |  Android Developers
[8] DragAndDrop  |  Desarrolladores de Android  |  Android Developers
[9] WindowManager  |  Android Developers
[10] Compose  |  Android Developers
[11] https://www.data.ai/en/
[12] Showcase - Flutter apps in production
[13] https://play.google.com/store/apps/details?id=com.tencent.mm&hl=en_US&gl=US
[14] ‎Betterment: Investing & Saving on the App Store
[15] https://play.google.com/store/apps/details?id=com.nu.production&hl=en_US&gl=US
[16] https://play.google.com/store/apps/details?id=com.zzkko&hl=en_US&gl=US
[17] https://apps.apple.com/us/app/trip-com-hotels-flights-trains/id681752345
[18] https://fastic.com/
[19] https://auspreneur.com.au/tabcorp-adopts-googles-flutter-platform/
[20] The My BMW app: new features and tech insights for March 2021.
[21] https://apps.apple.com/app/id1506827551
[22] https://docs.flame-engine.org/

推荐阅读
作者信息
CarGuo
TA 暂未填写个人简介
文章
44
相关专栏
本专栏仅用于分享音视频相关的技术文章,与其他开发者和 Agora 研发团队交流、分享行业前沿技术、资讯。发帖前,请参考「社区发帖指南」,方便您更好的展示所发表的文章和内容。