Google I/O 2019 Android 开发者关注些什么?

2019-08-16 16:45:39 浏览数 (1)

这是程序亦非猿的第 83 期分享。

作者 l 程序亦非猿

来源 l 程序亦非猿(ID:chengxuyifeiyuan)

转载请联系授权(微信ID:ONE-D-PIECE)

你好,我是程序亦非猿,一个正在努力成长的阿里资深无线开发工程师。

抽空看了下 I/O , 大概的记录了些东西。

整体上看,这一年,Android 只专注一件事,就是帮助开发者提高生产效率。(developer productivity)

1. Kotlin first

Android development will become increasingly Kotlin-first. “Many new Jetpack APIs and features will be offered first in Kotlin. If you’re starting a new project, you should write it in Kotlin; code written in Kotlin often mean much less code for you–less code to type, test, and maintain.” “We understand that not everybody is on Kotlin right now, but we believe that you should get there,”

Google 走在推广 Kotlin 的路上坚定不移。

为了推广 Kotlin , 从之前的 first-class 到现在的 Kotlin-first , 再加上,Android 团队将会优先提供 Kotlin 版本的 Jetpack,看来确实是要把 Kotlin 扶上位。

但是估计作用不太大,依然还有一半的开发没用上 Kotlin,所以推广之路依然很长,要做到废弃 Java 那更是路漫漫。

估计未来还是会有官司要打。

2. Android Jetpack

个人觉得 Android Jetpack 对 Android 开发的帮助非常大,很开心,它又有新成员啦。

2.1 CameraX

可以帮助开发者更加方便地构建关于 Camera 的应用。之前的 camera 后面的 camer2 到现在的 camerax , camera 开发一直都是 Android 开发中的痛点,希望这次能有好的效果。

2.2 Jetpack Compose

an open-source, Kotlin-based UI development toolkit

Jetpack Compose API 可以让开发者用代码声明的方式来构建 UI,而且还是响应式,语法类似 anko 。

它号称是下一代 UI toolkit 。(Next-generation UI toolkit),有如下特点

  • Unbundled
  • Reactive
  • Kotlin

它用起来大概是这样:

不需要 XML 不需要 Listener。

但是用代码直接就能写布局,但是在 Activity 里写一堆构建 UI 的代码真的大丈夫?(我个人是不喜欢这样,还是分开好)

另外可以看到一堆新的东西,什么 CounterColumn,估计将会是不小的学习成本。

语法上看也挺类似 React ,有点古怪,我个人不喜欢画 UI 套那么多嵌套,可读性太差,而且不能预览,画 UI 不能预览,对不对全靠猜,那得多痛苦。

为了画 UI 再让我学一堆新东西,我应该不会喜欢它。感觉学它不如把时间花在其他地方。

另外,从我看视频的里他们的演示来看,这个东西现在还并不可靠

未来会怎么样还不知道,保持关注

如果你有兴趣可以看这里:

https://developer.android.com/jetpack/compose

https://android.googlesource.com/platform/frameworks/support/ /refs/heads/androidx-master-dev/ui/README.md

另外还提了一嘴其他的 Jetpack 的东西,但是没深入讲:

SavedState for ViewModel

Benchmarking

LiveData Room 等引入协程?

3. Flutter

Flutter 从出道以来就备受关注。

在这之前,Flutter 所谓的多平台只包含了 Android & iOS,不像 Weex 那样还能支持 Web。

而这次 IO ,Google 宣布 Flutter 将会支持 Web,并且还会支持 macOS 、Windows and Linux 。

那么未来 Flutter 可以支持 Mobile Web Desktop,一套代码,所有平台!!

另外还宣布了 Dart 的新功能,新组件,支持 Dart 2.3UI等。

Flutter 起飞?

或许跨平台的方案,Flutter 将会变成首选!

4.其他

还看到一些小的点,稍微列举了下:

  • Android Studio 3.5 发布 Beta 版本
  • 发布手机 Pixel 3a and 3a XL
  • 应用允许强制更新
  • App Bundle 支持 dynamic feature modules(stable) & 应用内更新(in-app updates)
  • Android O Dark Theme
  • Android Q 更强的隐私、安全保护
  • Android Q Beta3
  • ML at Android
  • ViewPager2 , 用 RecyclerView 实现,支持垂直,更灵活
  • ViewBinding ,no more findViewById

5.小结

总结下来,还是围绕 Kotlin 跟 Flutter 做一些功能 工具,实际上手如何 ,还不可知,后面有机会跟大家分享。

Kotlin or Flutter , 你用了吗?

你有什么感想?欢迎评论。

6.资料

https://events.google.com/io/

https://android-developers.googleblog.com/2019/05/google-io-2019-empowering-developers-to-build-experiences-on-Android-Play.html

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

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

https://events.google.com/io/schedule/events/?2=topic_androidplay

https://techcrunch.com/tag/google-i-o-2019/

https://techcrunch.com/2019/05/07/kotlin-is-now-googles-preferred-language-for-android-app-development/

https://sspai.com/post/54601

https://developer.android.com/jetpack/compose

0 人点赞