智启万象,Google I/O China#2024 见闻录

213 阅读6分钟

前言

从事 Android 开发6年了,也申请了 IO 5年(😷dddd),今年是第一次拿到 IO 的门票,并且参加 IO的得到了公司的支持,感恩!我记得往年多是在上海举办,今年意外的选在了北京办 IO

那么接下来我就和大家分享一下我在 IO 参会期间的见闻。

Day 1

第一次来国家会展中心,是真的大啊,好像鸟巢、水立方那些就在旁边,不过日程比较紧,也没时间去看一眼~

Sign In

拿到自己嘉宾胸牌,正式进入会场

IMG_3270.JPG

胸牌上有两个二维码,一个是 IO 的详细日程,我分别截取了其中的的会场主题演讲、Workshop 以及展示区的日程安排;另一个是 IO 的现场图片直播。

Screenshot Screenshot Screenshot

主题演讲还是老味道,就是技术和项目推广宣传,我这里就不多做介绍了。我只听了第一场主旨演讲,后续就去展示区体验并与 POV 交流,顺带进货以及 Workshop 的实践了。对主题演讲感兴趣的可以去官方的微信公众号查看推文,并且在 B 站的官方号也有同步发布演讲的视频,感兴趣的同学可以移步观看。

展示区

Gemini 高尔夫陪练

这就是一个小的室内高尔夫训练道,但不同的是在另一端有一个摄像头实时关注着参与者的动作、准度等维度的数据,并在最终球进洞之后会给参与者一个得分。那我也是一不小心拿了个 90 分。

IMG_3290.JPG

不过这一 pa 的进货环节有点问题,我们上午参加的说是要等最终的得分排名出来,达标了才发奖品,下午就是只要参加就有奖品了,就......反正我在下午的问卷中提了,希望下次发奖品能有个一以贯之的规则。

Gen AI 和 Android Studio

这一 pa 我有幸在展示台遇到了 Jamal Eason Google 产品管理总监,在这个展台展示的 Firebase Crashlytics 还是让我眼前一亮的,因为在 Gemini 的助力下,Firebase 捕获到的 crash 信息在 Android StudioApp Quality Insights 窗口的 Firebase Crashlytics Tab 可以帮助分析 crash 信息并提供可能辅助建议,此时会显示 show Insights 按钮,从现场的预览视频来看,实际效果非常可观,该功能可以直接帮助我们开发者修改造成 crash 的代码。

image.png

不过我自己还没有使用了 Firebase 的项目,所以这块儿我暂时是还没有去体验,并且我当时和 Eason 交流的结果就是这一能力确实是基于 Firebase Crashlytics 的,并且在引入了之后,这一切都会变得很容易。

Workshop

Gemini 的多模态应用场景

下午我参加了 董宇联 老师主持的 Gemini 多模态上手的工作坊。此前我有学过一点 ML 相关的知识,但是通过这一 pa,确实改变了我对于多模态大模型的认知,上手难度不高,可能性很高。

演示项目中展示了 Gemini 的多模态使用案例:

  • 描述一张房间照片的装修风格
  • 一段视频里,人物在什么时间点用什么语言说话

IMG_3313.JPG

大家可以前往演示项目自行操作体验,需要在 Google Cloud 创建一个项目用于项目的运行,因为需要 project_id 来使用 Cloud 的云端算力。

image.png

Day 2

第二天我就没有再去会场听演讲了,都是待在 3 楼会议室参加 Workshop

Workshop

借助 Jetpack Compose,打造自适用

上午第一场是 Ran Nachmany (抱歉没有找到另一位女生的名字)主持的使用 Compose 去构建一个能自适应多尺寸屏幕的 App,当然这里的多尺寸屏幕其实主要是指不同屏幕类型的设备,而不是同类型设备的不同尺寸屏幕,就像下图这样。

image.png

那针对所谓自适应屏幕这块儿我直接向 Nachmany 提问了,因为屏幕适配一直是我们 Android 开发者 头疼的问题,我们通常是以 width 或者 height 为基准做拉伸的适配,但是在 Compose 中使用的依然是 dp 尺寸,那 Compose 如何处理手机的不同长宽比例,不同分辨率的屏幕呢, Nachmany 让我查看 Window Size ClassNachmany 的意思是:只要 UI 针对不同类型的屏幕设计了对应的布局,至于同类型设备的不同屏幕,Compose 会自行处理这部分微调。ComposeView 体系是两套完全不同的绘制体系。我先把这一 pa 的 Codelab 贴上,大家有兴趣的也可以试一下。

利用OmniLab 在 Android Studio 中高效开发调试 App

这一 pa 也比较有意思,来自 OmniLab 的老师们介绍了即将在 Android Studio 中内置的 OmniLab 云手机产品,目前已经接入了小米一加三星 以及 Google Pixel 品牌的手机,并且后续还会有更多的国产手机厂商加入。这个就能解决我们开发中常遇到的测试手机覆盖不够的问题。

IMG_3344.JPG

IMG_3345.JPG

当然,这还不是最有意思的,最有意思的是,可以本地化部署 OmniLab 进而把公司内部的测试手机资源,让员工可以远程访问到,这就意味着不管是员工在家或者说不在公司也能使用公司的测试手机资源做一些事情了,这个操作还是有一定的想象空间。

在 Google Cloud 上使用 Gemini Code Assist 从零开始构建 Web 应用

这一 pa 相比于昨天的 Gemini 入门,进一步展示了 Gemini 辅助编程的能力演示,类似 副驾驶。不过这一 pa 对我来说刚开始的难度有点高,不熟悉 Google Cloud 的操作,所以花了很久的时间才成功拿到 credit 并开始 lab。

IMG_3350.JPG

总结

简单总结一下本次 IO 之行,其实会场的演讲呢,就像我之前说的是推广介绍性质的,讲的会比较宽泛,适合已经对这个行业有所了解的,这样可以获得一些新思路的启发,会后也可以向讲师提问答疑。就像我去听移动端开发的演讲,因为我一直有关注移动端开发生态的发展,所以这个方向的内容并没有超出我的认知范围,但却是能带来一些新的思路。

但是 AI 方向就不一样了,因为我之前对 AI 的认知还停留在需要用数以万、十万计甚至更海量的数据进行训练,但是现在对于 Gemini 大模型的能力,想要开发出针对自己的特定需求,大概只需要几千条编辑好的数据,进行训练就能实现预期的需求。这个就属于颠覆认知的东西了。并且现在 Gemini 取代了 Palm2 之后,已经深度的整合进了 Google Cloud 生态,提供了完整且丰富的能力。我个人对这块儿还是很感兴趣的,接下来应该会找公司要一点资源,尝试做一些探索。