今天有幸参加了Google Connect,上次参加类似活动还是2017年的Google Developer Day。有人问我为什么要线下参加,线上不也一样有直播吗?那当然不一样啊,我大老远地飞到上海其实就是为了蹭Google的饭:



不过,和2017年的北京GDD比起来,这伙食变差了昂,之前都是自助餐,现在咋变盒饭了?好在口味还可以,就勉强饶了Google吧。
话不多说,分享一下经历吧。
概要
今天参加的主要是Android,隔壁的Cloud只听了一点点。虽然昨天AI相关的没有参加,但结合现在的一些体验区来看,Google在AI上花了不少力气,总之就是各种各样的AI。
但今天,我主要要从Android、Flutter和Material design等几个角度来说说。
Jetpack Compose
TextField
Jetpack Compose当然是Android的重头戏之一,这次带来的Jetpack Compose 1.8,主要讲的TextField的变化,讲真惊喜还是有的,惊喜的代价就是API变化比较大......

现在也有针对密码类型的TextField了:SecureTextField
,更绝绝子的是Google演示了一个使用TextField开的OTP验证组件,也就是我们常见的验证码验证框,现在通过使用TextField很容易就创建一个这样的组件。
如果按照我们最淳朴的实现思路大概是这样的:

但做过的都懂这有多麻烦,所以现在借助最新的Compose的TextField轻松实现类似功能:


当然还自动填充功能:

支持的自动填充类型真是不少:

还自动调整字体大小的功能:

还有inputTranformation,可以对输入的文字进行变换。


Modifier.contentReceiver
这个功能是在foundation-1.7推出的试验性功能。




Google演示的把从Gboard里拖拽表情到聊天室就是这个API实现的.
实际上,Modifier.contentReceiver
并不仅仅可以用作TextField上,它也可以用在别的组件上。
这种东西我就不细说了,具体可以看看相关的文档或者视频录像。
Material Design
没啥可说的,看几张图就行




Flutter
会议上的Flutter其实没啥可说的,都是一些老生常谈的东西,比如web上的hotreload,dart的Null-Aware Elements,ffigen/jnigen等等,都在意料之中的,并没什么惊喜。但会议外我还是和Flutter组的人员聊了不少,意料之外的这个小伙居然还会中文,反正中英文瞎聊了一会儿。
第一个问题就有点太直接甚至不太礼貌,哈哈:
Flutter还活着呢吗
答案当然是活着了,据说Flutter组还要加人的。
然后现在我说了一个现在Flutter的痛点那就是json的序列化,只能说他们正在努力吧。
另外一个好消息就是经过4年的开发,ffi终于快成型了,以后直接操作Java/C等就方便了很多,method channel这种东西可能就要被干掉了。
还就是我之前也发过文章,说是material和cupertino要从flutter 中独立出来,这是一个好消息,更方便大家自定义组件。
还聊到了KMP和Flutter,他说也许Flutter会更先支持鸿蒙,不过这话我觉得听听就行了。
我也问了同样都是Google的产品,你怎么看待KMP和Flutter的未来?当然这个问题肯定是没有一个明确的答案的,他当然还是推荐我使用Flutter了。
类似的问题,我也问Compose相关人员,老哥说的KMP和Flutter应用场景不一样,KMP是有native的能力的,比如你要在手表上开发,你可以选择KMP,不管怎么说,这个问题是没有你想像中的答案的。
其他
还有关于Jetpack compose自适应的主题:




从上面可以看出Google对多屏幕以及大屏幕的要求,因为Android 16以后是支持外接显示器的。所以现在的Android开发不仅要考虑横屏、竖屏还要考虑大屏、多屏、多窗口等等,我只能说是太难了。不过话说回来了,有没有想过Google为什么要这么做?以我的愚见那当然是ChormeOS和Android的整合了......
最后
今天的收获真是满满因为吃的饱饱的,还遇到了郭霖大神。
东西有很多,我整理的也比较匆忙。如果大家有兴趣可以留言,我可以再整理。
看到Jetpack compose的一系列更新,特别是强大的自适应布局,我还真是眼馋,看来,如果条件允许,UI还是用原生开发最靠谱。
不过,Compose这些更新什么时候能用KMP就不好说了。毕竟Compose的跨平台是Jetbrains在做,当google开发完compose,Jetbarain要再做适配,这是CMP的痛点之一,不知道JB什么时候能做完适配......
快来关注公众号OpenFlutter吧,谢谢啊