写点什么

Google I/O 大会开发者要闻汇总:Android Studio、Flutter、Web……

作者:Kyle Bradshaw

  • 2023-05-12
    北京
  • 本文字数:5077 字

    阅读完需:约 17 分钟

Google I/O  大会开发者要闻汇总:Android Studio、Flutter、Web……

尽管谷歌 I/O 多年来已经成为搜索巨头发布新产品的主要舞台,但这场盛会仍然深深植根于开发者社区、关注开发者需求。

 

本文将带大家纵观谷歌 I/O 2023 大会上的开发者主题,带来各条开发赛道上的最新消息和研讨热点。Android、Flutter、Jetpack、Firebase 还有 AI……相信总有一款适合你!

 

Google Play

 

Google Play Store 中的一些小设计,能够帮助开发人员将自己的应用积累到更高人气。对开发新手来说,现在大家可以为“非活跃用户”显示自定义列表,通过情真意切的表达请求受众“再给我的应用或游戏一次机会”。

 

但此次发布的真正亮点,还是一款生成式 AI 工具。它能帮助您的应用编写出适合的 Play Store 说明(英文)。只需填写几处关键信息,AI 就会自动补全剩余部分,包括简短描述、完整描述等。

同时,用户也能根据评论更好地了解应用,因为 Play Store 即将在评论中提供高级摘要。这些摘要内容将概括出“用户怎么说”和持同一观点的用户数量,帮助打算下载的朋友快速了解这款软件究竟行不行。



 Play Console 部分还将提供新的“价格实验”功能,让开发者通过测试了解特定价位能不能推动应用的销售成效。此外,Play Store 还将很快在应用上添加“特色产品”标记。



 为了避免应用版本过于老旧而给用户带来问题,Play Store 将很快在发现软件崩溃时弹出“自动更新提示”和“有更稳定的版本可用”。开发者可以手动选择要向哪些版本的用户显示更新提示。这项功能即将全面登陆“所有由 app bundles 构建的应用”。



 最后,谷歌还更新了其 Play Console 应用,新版本使用 Flutter 从零开始构建而成。新的 Play Console 应用针对“现代开发者需求”进行了优化,可实现自定义、仅显示最需要的指标,并与 Play Console“收件箱”相集成以保持最新状态。目前新版本已经开放 beta 测试。

 

Android Studio

 

今年,最初亮相于 2013 年 I/O 大会的 Android Studio 正式迎来十周岁生日。除了宣传即将发布的“Giraffe”版本功能之外,谷歌还详细介绍了 Android Studio Hedgehog 的各项主要改进。

 

跟本届 I/O 大会全面强调 AI 的氛围一致,Studio Bot 背负谷歌的殷切期望走上舞台,带来“AI 驱动的对话体验”。据谷歌介绍,Studio Bot 目前尚处于“早期阶段”,但应该已经能为应用生成有用代码,为代码中的错误提出修复建议,并回答关于 Android 开发的各种常见问题。

 

Studio Bot 以谷歌“编码基础模型”Codey 为依托,目前仅供美国本土的 Android 开发者通过 Android Studio Hedgehog 或更新版本体验。

 

谷歌还特别强调了 Studio Bot 的隐私条例,表示用户的私人源代码绝不会被共享给谷歌。相反,“实际共享的只有您和 Studio Bot 之间的聊天对话。”

 

Live Edit 是 Jetpack Compose 的一项全新提示功能,能帮程序员快速查看设备上的代码变更。目前 Live Edit 已做好在 Giraffe beta 版中预览的准备,谷歌还表示“其他错误处理与报告功能改进”将随 Hedgehog 版本一发布。

 

与之对应,Android Studio 的“布局检测器”也将通过 Hedgehog 迎来升级,现在能将信息叠加到手机/平板电脑的视频上。这应该会提高工具性能,同时增强操作直观度。

 

在之前的 Android 13 中,谷歌已经允许多语言用户在某些应用中选择特定语种,例如在手机系统中使用英语、但在某款应用中使用印地语。尽管必要的翻译筹备已经到位,但开发商仍需要完成相应的设置。而在 8.1 或更高版本 Android Gradle 插件的帮助下,为应用保留不同的语言设置已经得到自动支持。



 在 Android Studio Giraffe 和更高版本中,您可以找到新的“Android SDK 升级助手”,由它引导我们完成应用在升级至更新版本 Android 前的必要变更。考虑到 Google Play Store 和 Android 本身正逐渐提高最低 API 版本要求,这项功能的出现堪称雪中送炭。



 Android 应用开发一直颇有风险,主要问题出在市面上充斥着大量不同硬件配置的手机产品,而规模有限的独立开发者根本不可能搞一大堆设备做实机测试。为了解决这个问题,Android Studio 和 Firebase 正推出一项“Android 设备流传输”服务,该服务能够与“远程物理 Google Pixel 设备”建立流传输,借此部署并测试您的应用软件。目前此服务已经开放报名:

https://developer.android.com/studio/preview/android-device-streaming

 

Android Studio Hedgehog 中的新功能“Power Profiler”,能够直接测量您的应用在 CPU、GPU、摄像头、蜂窝数据等装置上具体消耗的电量。谷歌还给出示例,称这将有助于“对视频通话应用中各类算法的 A/B 测试,借此优化摄像头传感器的电量消耗”。

 

对于 Jetpack Compose 开发者,当您在 Android Studio 中调试 Compose UI 代码时,现在可以获得关于 Composable 函数参数的更多信息。这样您就能轻松理解哪些参数发生了变化,并导致您的应用进行重构。



 Composable 函数参数

 

最后,除了 IntelliJ 2023.1 版本的常规改进之外,Android Studio Hedgehog 还对 Jetbrains 中面向所有工具打造的“New UI”做出更多调整。其中的最大亮点就是新的“紧凑模式”,此外谷歌还引入“新的主工具栏、工具窗口和新图标”等 Android 特定变更。



Android Studio 的“New UI”

Jetpack Compose


近年来,Jetpack Compose 已经成为谷歌为 Wear OS、手机和平板电脑/折叠式设备开发 Android 应用的首选方式。该框架虽然与传统的 Android“Views”仍有一定差距,但 Compose 的声明性质、对 Kotlin 语言的良好支持和现代化的 Material Design 开发者体验,已经让它在市场上牢牢站稳了脚跟。

 

在性能方面,即将发布的 Compose 新版本将为修饰符带来“更加高效的新系统”,使得文本的“平均性能提高 22%”。此外,新版本还将支持最新的表情符号集。

 

再就是新的 composables 集合,包括能够轻松滚动对象的两个“pagers”和用于自动纵向/横向排列内容的“flows”。

 

通过此次 beta 版提供的“Jetpack Glance”库,Jetpack Compose 还可用于为 Android 创建主屏幕小部件。



 同时,得益于新的 Jetpack Compose for TV 库,Compose 现在可以扩展到电视屏幕之上。该库提供提供谷歌 Android TV 设计指南的全部内容,包括有助于改善导航体验的网格、行、特色列表、选项卡、侧导航等设计原则。



Wear OS


此次谷歌 I/O 主题演讲上,定于今年秋季正式发布的“Wear OS4”在公众面前完成了首秀。其基于 Android 13,包含一系列新功能与增强功能。

 

更重要的是,开发者无需等待就可立即使用 Wear OS 4 并测试自己的应用。Android Studio Hedgehog 现已提供新的 Wear OS 4 模拟器。



 谷歌和三星联袂发布的一大关键亮点,就是提供新的“表盘格式”,彻底重新定义了 Wear OS 的表盘创建思路。为了显著降低功耗,新表盘采用一种“声明 XML 格式,也就是说表盘 APK 中不包含代码”。换言之,Wear OS 将负责处理所有图形优化,确保您的自定义表盘在设备上尽可能地流畅运行。

 

更重要的是,所有新的表盘格式均可使用与内置 Wear OS 设计相同的工具完成定制,保证提供更流畅的体验。



 要使用三星 Watch Face Studio 工具设计新表盘,您现在已经可以通过 Wear OS 4 模拟器测试新的 Watch Face Format。从今天起,Watch Face Format 新表盘已经可以登陆 Play Store,“为首批 Wear OS 4 手表的后续上市做预热”。

 

Flutter 与 Dart

 

Flutter 是谷歌为多种平台打造的应用程序构建框架,支持 Android、iOS、Web、Windows、macOS 和 Linux 等。此次 Flutter 3.10 的正式发布,也标志着今年早些时候谷歌在 Flutter Forward 大会上做出的承诺并非虚言。

 

Flutter 3.10 中的最大改进是 Impeller。这是一种新的渲染引擎,能够为 Flutter 应用程序带来突破性的性能提升,且目前已经在 iOS 上默认启用。要在您自己的应用程序中启用 Impeller,请立即更新 Flutter SDK 并亲自体验其特别之处。

 

谷歌目前的主要精力,就是让 Impeller 为登陆 Android 做好准备。这活并不轻松,毕竟仍有不少设备并不支持必要的 Vulkan 图形 API。Flutter 已经承诺为这些设备提供“向下兼容模式”,而对 Android 的完整 Impeller 支持应该会在不久之后发布预览。



 Web 上的 Flutter 在新版本中也迎来了一系列重大改进,底层 CanvasKit 完成瘦身,字体调整也让“使用模拟线缆连接”时的加载时间缩短了 42%。

 

与此同时,谷歌还致力于让 WebAssembly 支持 Dart(和其他垃圾收集语言)。这项工作仍处于早期阶段,但在完成之后,Flutter 应用程序应该会比之前更高效,谷歌称“执行速度将提高 3 倍”。现在大家已经可以在 Flutter 的 WebAssembly 支持中测试您的应用程序并提交反馈。

 

Flutter 3.10 的另一个重大变化,就是引入了 Dart 语言的 3.0 版本。有了这项改进,所有 Dart 代码现在都必须以可靠的 null 安全形式进行编写,以确保您的应用程序代码不会意外返回 null 值。长久以来,谷歌一直在推动 Dart 社区实现可靠的 null 安全,但 Dart 3.0 开始将其作为一项硬性要求。

 

Dart 3 还包含更多实用新功能,有望提高您的代码可读性。例如,“records”允许一个函数返回多个值,而“patterns”则可以在使用数据前轻松对其做验证。

 

Firebase

 

Firebase 是谷歌持续扩展的工具套件,旨在利用 Google Cloud 的强大功能帮助开发者更快、更轻松地构建起优质应用程序。在对原有愿景和 AI 功能的充分融合之后,Firebase 推出了两项标准性新扩展,允许开发人员轻松访问谷歌的 PaLM 语言模型。

 

使用“Chatbot with PaLM API”扩展,您现在可以“使用谷歌最新的生成式 AI 技术为应用程序添加智能聊天功能”。同样,“Summarize Text with PaLM API”则能快速理解大段文本并生成简短的内容摘要。

 

同时,谷歌还降低了开发者发布 Firebase 扩展程序的门槛。以往,扩展发布只能通过功能受限的预览程序进行。将第一方扩展、第三方合作伙伴选项和社区贡献相结合,谷歌公司希望打造一个“繁荣的扩展生态系统,通过解决实际问题让整个谷歌开发者社区受益”。



 Firebase Cloud Functions 是一套用于在 Google Cloud 上运行 Node.js 后端代码的无服务器框架,目前它也迎来了新增众多亮点的第二代版本:


  1. 最高 32 GB 内存,用于处理更苛刻的工作负载。

  2. 更强的并发性,允许函数的每个实例并行处理最多 1000 个请求,从而减少冷启动、改善延迟并降低成本。

  3. 支持通过触发器将多种 Firebase 产品(包括 Firestore)拼接起来,根据指向 Firestore 集合的写入操作触发第二代功能。

 

此外,现在还可以在 Cloud Functions 中运行 Python 代码,使用 Python 丰富的软件包生态系统。如此一来,将有更多开发者尝试建立自己的无服务器架构。



 Cloud Firestore 是 Firebase 提供的两大数据库选项之一,此次迎来了一项规模不大但却意义非凡的更新。在更新至最新 SDK 后,您将能够在浏览数据时使用“OR”查询。

 

App Check 服务负责保护您的应用程序及其服务免遭滥用,现在您可以用它保护 Firebase 的 Identity Platform 高级身份验证。游戏开发者现在还可以访问面向 Unity 和 C++的 App Check SDK,阻止各种常见的作弊行为。

 

Firebase Hosting 扩展了对动态 Web 框架的支持能力,已经能够与 SvelteKit、Astro 和 Nuxt 实现“实验性”兼容。此外,借助 Cloud Functions 中的新 Python 支持能力,Firebase Hosting 将很快能够支持 Django 和 Flask 的“one command”部署。



 Hosting 还迎来“动态预览通道” ,允许 Web 开发者在生产部署之前发布网站新版本的预览链接。

 

Android Studio 中的 Firebase“App Quality Insights”菜单去年刚刚首次发布,现在已经作为 Android Studio Flamingo 中的稳定选项存在,并提供以下额外功能:


  1. 能够直接通过 IDE 关闭问题。

  2. 能够添加备注以实现团队间的轻松协作。

  3. 能够根据 Crashlytics 信号(如回归)过滤问题,更好地确定需要修复的内容和修复优先级。

 

Web


在 Web 方面,谷歌发布的主要公告是新的“WebGPU”API。它最近刚刚登陆 Chrome,后续将很快现身 Firefox。新 API 的运行速度可达 WebGL 的 3 倍,而且其提升还不止限于图形层面。

 

事实上,近期迅速蹿红的 AI 和机器学习工具也都要占用海量处理能力。虽然部分 AI 工具会将工作负载转移至云端,但这同时也会牺牲掉一部分隐私权益。而使用 WebGPU 则让开发人员能够全面访问桌面图形卡,为机器学习任务带来更快的处理速度。

 

谷歌也在努力为 WebAssembly 引入垃圾收集机制。除了服务于 Flutter 等应用程序框架的用户之外,Jetbrains 还为 Kotlin 开发者提供一种在 Android 和 Web 上实现部分代码复用的方法。

谷歌还公布了一项名为“Baseline”的跨公司合作项目,希望明确各大主要浏览器分别能够支持哪些新功能。每年都将建立新的“Baseline”,并列出自上一 Baseline 以来“所有浏览器的新功能和兼容细则”。


原文链接:

https://9to5google.com/2023/05/10/google-io-2023-developer-keynote-recap/

 

相关阅读:

Android Studio 开发 Android APP

为什么说 Flutter 无法成为移动应用开发的“顶流明星”...

Flutter 开发:项目加载本地 html 文件的步骤

Google 路线图:Flutter 与 JavaScript、Wasm 集成

2023-05-12 16:012726

评论

发布
暂无评论
发现更多内容

陈虻语录(摘)

YoungZY

读书

极客时间<<架构师训练营>>第一周作业

好名字

极客大学架构师训练营 作业 第0期

恕我直言,我怀疑你并不会用 Java 枚举

沉默王二

Java 枚举

这个神器让你拥有最佳的打印阅读体验

非著名程序员

chrome 程序员 效率工具 插件

「架构师训练营」第1周学习总结

guoguo 👻

极客大学架构师训练营

Intellij IDEA 常用快捷键

insight

读笔 | 迷茫期问问自己这三个问题

张鸱鸺

读书笔记 个人成长 心灵圣经

第一周总结 - 架构文档

孙志平

LeetCode | 3. Roman to Integer 罗马数字转整数

Puran

算法 LeetCode arts

重学 Java 设计模式:实战组合模式(营销差异化人群发券,决策树引擎搭建场景)

小傅哥

设计模式 重构 代码质量 代码坏味道 组合模式

阿里《Java开发手册》也有bug?

王磊

Java 性能优化 Java性能

第一周总结

森林

架构第一周-学习总结

J.Smile

极客大学架构师训练营

陆强作业

Mr.Monkey

最全干货:从写简历,到面试、谈薪酬的那些技巧和防坑指南

四猿外

深度思考 程序员 个人成长 面试 求职

食堂就餐卡系统架构设计

Raymond

架构师训练营-第一周学习笔记

Dawn

极客大学架构师训练营

ARTS week 3

锈蠢刀

当选择越来越多,我们为什么反而越来越不开心

董一凡

生活 情感

学习总结-第1周

饶军

iOS 动画 - 窗景篇(二)

柯烂

ios objective-c swift 动画 移动

食堂就餐卡系统设计

J.Smile

极客大学架构师训练营

架构师训练营--第一周学习总结

花花大脸猫

极客大学架构师训练营

ARTS week 04

刘昱

写简历没模板?别怕,这些开源项目帮你搞定!

JackTian

GitHub 开源 面试 求职 简历模板

架构师训练营第一周总结

Raymond

架构师训练营--第一周作业

花花大脸猫

极客大学架构师训练营

S型曲线 - 第一曲线

石云升

S型曲线 第一曲线 连续性创新

学习总结

Mr.Monkey

作业:食堂就餐卡系统UML图

Dawn

极客大学架构师训练营

数据中台各种架构图

久吾尔岂

数据中台

Google I/O  大会开发者要闻汇总:Android Studio、Flutter、Web……_前端_InfoQ精选文章