解读今年的 Google IO 2017

今天现场体验了 IO 大会,那感觉真的棒呆了,特别震撼,用老外的话说就是 Amazing!我做的位置还是蛮靠前的,来一张我的位置拍的照:

另外,你们可能不知道,因为我觉得这次机会蛮难得的,就想着能让一些朋友与伙伴感受下现场的氛围就最好了,于是就在 IO 大会之前偷偷开了场直播,在只发了朋友圈和小密圈的情况下,而且北京时间还是凌晨,竟然有 3000 多人观看了我的直播,反应都还不错,今天算是体验了把直播的感觉,这是人生的第一场直播,可能也是最后一场。

另外,直接说正题,这次 IO 大会在我看来,其实主要就是有两个大新闻。

  1. Google 正式宣布进入人工智能时代

大会没多久,劈柴哥的演讲就上了下面一张图:

虽然没有明确说,但是从这之后,AI 基本就是本次 IO 大会的主题了,也说明了 Google 在全力投入这个领域,我认为甚至可以直接说 Google 这次有意无意的宣布从移动时代进入到了人工智能时代。

之后的 Topic,不管是 Google Lens、TensorFlow,还是李飞飞的上台演讲,都充分说明了 AI 在这次 IO 大会的戏份,而 AI 在 Google 的多个领域与产品也确实都发挥着非常大的作用,而且这也是无人质疑的未来的大方向,所以,拥抱 Google、拥抱未来吧。

  1. Kotlin 成为 Android 官方编程语言

如果说 AI 是 Google 自己主导的今年 IO 大会的主要主题,那么 Android 就是绝大部分开发者最感兴趣的主题,毕竟按照今年 IO 的数据,Android 在全球已经激活 20 亿部设备,这么大的市场,参会的人中有很大比例是 Android 开发者不足为奇,事后 Android 的分会场几乎场场爆满也确实证明了,但是这次大会上 Android O 版本没有特别大的变化,也没有什么特别让人兴奋的更新点,倒是出人意料的宣布了支持 Kotlin 成为官方编程语言,听到这个消息,我超级惊讶,同时也兴奋的不得了。

说出来你们可能不相信,我在小密圈中很早就写一篇文章说了下我对 Kotlin 的看法,我非常看好 Kotlin 的未来,而且我在公司 Android 团队内部也不止一次说过我对 Kotlin 的看好,也号召大家学习下 Kotlin,甚至我还在公司还做过关于 Kotlin 的分享,可能有些人会觉得我事后诸葛亮了,姑且发一下我当时在小密圈的文章的截图,这事当时小密圈那批人都知道,而且好几个月之前写的,原文没做过任何改动:

当然我不是想证明我是预言家,只能说我对技术趋势的认识还是可以的,我对未来趋势判断的准确率高点,对读者的误导就会少点,我虽然看好 Kotlin,但是怎么也没想到 Google 竟然这么快就和 JetBrains 达成一致,这动作快的令人惊奇。

这事一处,特别多的读者在后台跟我留言,说让我说下看法,那么就这里说一下我自己的看法。

首先,毫无疑问,Kotlin 一定是 Android 开发的未来,即使在之前 Google 没认定 Kotlin 的时候,我都这么认为,现在 Kotlin 转正了更没疑问。Kotlin 语言拥有雄厚的背景,有着新时代语言的各种新特性,写过 Kotlin 你真的再也不想写 Java 了,Java 有着沉重的历史包袱,想要完全靠自身脱胎换骨几乎不可能,而 Kotlin 除了语言上的优势之外,JetBrains 比较正确的一个决策是,它完全兼容 Java,允许你的项目同时支持 Java 和 Kotlin 语言,这就留给开发者足够的时间去把项目过度到 Kotlin,哪怕你真的很懒,不想对老旧代码做处理,只想新写的代码用 Kotlin,那也没任何问题。

虽然 Kotlin 还不成熟,还在慢慢优化更新中,但是这不会阻碍它是 Android 开发者未来的趋势,就如当初的 Android Studio,在它刚出来的时候,问题更多,有多少人质疑它是垃圾,但是我坚定的认为 AS 一定是 Android开发者 的未来,事实证明,在 Google 的不断完善之下,它已经完全普及,即使现在它还有一些这样那样的问题,但是也比你用 Eclipse 开发效率高的多。

其次,虽然 Kotlin 是 Android 开发的未来,但是它没法改变移动时代已经走下坡路的趋势,它只能加快你的开发效率,让你代码写的更爽,所以,我看到有些学习其他方向的,比如 iOS 开发、Web 前端、Machine Learning 等之类的,看到这个消息,仿佛看到 Android 的又一个春天到了,转而又开始学习 Android,这个完全没必要,语言虽然是新的,但是平台还是那个平台,这跟一种新的行业机会出现是两码事。

然后,毫无疑问,Kotlin 肯定会对 Android 开发者有影响,它将改变 Android 开发者的方式,效率会极大提高,所以 Android 开发者肯定是要学习下这门语言的,但是也没有那么想象的那么紧迫,好像比别人晚学一步就丢掉饭碗一样,毕竟一种语言的过度,一定是需要一个过程的,它不是创造了一种新的职业机会,它还是服务于现有的 Android 职位的,所以你比别人早点学会,或者比别人晚点学会,差别没那么大,但是长期来看,一旦普及,Kotlin 一定会极大提升开发人员的效率,我姑且大胆的认为,Java 被 Kotlin 替代用来做 Android 开发是早晚的事,所以,Android 开发者有时间就学习下吧,至于学习资源,GitHub 上搜 「Kotlin」一大堆。

最后,还有读者留言,说现在正在学习 Android,但是 Java 已经学的差不多了,要放弃直接学习 Kotlin 么?这个当然不能放弃,我们前面说了,Kotlin 和 Java 是完全兼容的,而且一门语言的完全替代是需要蛮长时间的,所以,即使 Kotlin 能在一家公司普及,成为主流开发语言,但是老的代码还是用 Java 编写的,对老旧代码的处理,想完全用 Kotlin 替换过来还是很耗费时间与精力的事,所以,我认为,在很长一段时间里,都是看到一个项目是混合着 Java 和 Kotlin 语言的,新功能用 Kotlin 编写,老代码用的是 Java,故学习 Java 还是很有必要的,更何况 Kotlin 本身也是一种基于 Jvm 的语言,跟 Java 还是有着很强的关系的。

以上,就是我认为的这次 IO 最重要的两件事,希望能够帮大家解惑。

最后,顺便说几件 IO 大会你们可能不知道的事:

  1. 这次大会跟以往不同的地方是,本次 Keynote 分为两部分,一个是 Keynote,一个是 Developer Keynote,放在了上下午,Keynote 主要介绍了 Google 产品上的一些更新,而把跟开发者相关的东西完全放在了 Developer Keynote 上介绍,所以就导致部分科技媒体熬夜看 IO,看完 Keynote 之后就迫不及待的发文章了,真是挺辛苦的,然而殊不知,这次的一些重要性新闻都放在了 Developer Keynote 上,如宣布 Kotlin 的消息、李飞飞关于 Maching Learing 的演讲等;
  2. 同样的在 Developer Keynote 环节,Google 宣布了一个振奋人心的消息,就是赠送给所有参会的成员一台 Google Home + Google Cloud Credit 700 刀,现场都疯了,要知道所有人都以为今年又不送啥东西了呢,看来 Google 还是乐于接受舆论意见的嘛,毕竟去年没礼物被吐槽很严重,今年我也赶上了,真是幸运;
  3. Google IO 大会在白天举行,是一场技术大会,但是殊不知到了晚上就是一个全球的大 Party 了,晚上这里有各种音乐会、脱口秀、游戏厅、乐队、VR/AR 体验区、360 无死角拍照、脑电波打印等等,灯火通明,IO 可能会是你这辈子体验的最好的大会,真的超棒,希望你们以后有机会,一定要来亲自体验下。

最最后,明后天仍然会有一些不错的分会场 Topic,比如有「Android 之神」Jake Wharton 的一个关于 Kotlin 的演讲,希望有些最新的认识继续跟大家分享。

本文原创首发于微信公众号 AndroidDeveloper,欢迎关注第一时间获取 IO 最前线信息。

时间: 2024-10-23 17:39:59

解读今年的 Google IO 2017的相关文章

Android 网络通信框架Volley简介(Google IO 2013)

Volley主页 https://android.googlesource.com/platform/frameworks/volley http://www.youtube.com/watch?v=yhv8l9F44qo&feature=player_embedded 1. 什么是Volley 在 这之前,我们在程序中需要和网络通信的时候,大体使用的东西莫过于 AsyncTaskLoader,HttpURLConnection,AsyncTask,HTTPClient(Apache)等,今年的

[转]Android 网络通信框架Volley简介(Google IO 2013)

Volley主页 https://android.googlesource.com/platform/frameworks/volley http://www.youtube.com/watch?v=yhv8l9F44qo&feature=player_embedded 1. 什么是Volley 在这之前,我们在程序中需要和网络通信的时候,大体使用的东西莫过于AsyncTaskLoader,HttpURLConnection,AsyncTask,HTTPClient(Apache)等,今年的Go

【转】Android 网络通信框架Volley简介(Google IO 2013)

Volley主页 https://android.googlesource.com/platform/frameworks/volley http://www.youtube.com/watch?v=yhv8l9F44qo&feature=player_embedded 1. 什么是Volley 在这之前,我们在程序中需要和网络通信的时候,大体使用的东西莫过于AsyncTaskLoader,HttpURLConnection,AsyncTask,HTTPClient(Apache)等,今年的Go

Google IO大会的主题演讲 Android系统在垃圾回收

3年前的Google IO大会的主题演讲 Google IO 2011 Memory management for Android Apps,该演讲介绍了Android系统在垃圾回收上的变化和如何发现并内存泄露以及如何管理Android中的内存. 原文:  (英文并不是很复杂稍微有点英语水平是可以看懂的,是在不行的话,我只能说,译文见底部) Hi everybody, My name's Patrick Dubroy and today I'm going to talk to you abou

Google Waymo 2017自动驾驶安全技术报告(一)

2017年10月Google Waymo向美国交通部提交了一份43页的安全报告,报告中详细说明了Waymo如何装备和训练自动驾驶车辆,从而避免驾驶中的一般和意外情况发生.这份报告对Waymo的自动驾驶技术进行了详细的解读,希望能够对自动驾驶从业者带来一些启发. 自动驾驶技术的必要性 2013年在全球有120万人死于交通事故:2016年美国有37461人死于道路交通事故:2015年美国有240万人在交通事故中受伤:94%美国发生的交通事故中由于人为失误引起;2/3的人在一生中至少遭遇一次酒驾事故:

干货 Google I-O 2015 - Designing for virtual reality 虚拟现实设计

最大可视角度 上下100度 左右210度 最佳分辨率每度20*20-60*60像素 这个时候人眼就看不出像素了 也就是说屏幕分辨率要到12k才能在虚拟现实应用中做到完全看不出像素 3d立体音效可以来补视场范围不足  让用户感知到背后的东西 应该避免穿插 太高的 太空旷 太狭小的场景都可能造成不适 场景的比例可以影响用户感受 小场景-感觉强大  大场景-感觉弱小 (同样可以用在ui界面上) 快速接近的物体 尖锐的物体 离眼睛太近的东西都会造成不适

Google io 2015 从链接跳app

两个新特性 这次Android生态最大的变化就是Android M的发布,Android M在 UI和交互上并没有很大的变化,继续Material Design设计语言,但 Android M引入的新特性对应用开发者影响比较大的有两个. 第一个是APP的权限机制,权限不再是在安装的时候让用户确认,而 是APP在需要用到某个权限时让用户来确认.我认为这个机制是对 Android系统安全性的一个重大提升,对于开发者来说,需要更加注 意APP的权限的使用,和应用业务无关的权限有可能被用户质疑和拒 绝.

如何看待 Kotlin 成为 Android 官方支持开发语言?

"-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 如何看待 Kotlin 成为 Android 官方支持开发语言? - Thinkblog - 博客频道 - CSDN.NET Thinkblog 爱编程,爱分享,不仅限于技术. 目录视图 摘要视图 订阅 [活动]2017 CSDN博客专栏评选 &nbsp [5月书讯]

如何看待 Kotlin 成为 Android 官方支持开发语言

Google IO 2017宣布了 Kotlin 会成为 Android 官方开发语言.一时间朋友圈和Android圈被各种刷屏.当然我也顺势而为发布了一篇的文章<为什么我要改用Kotlin>,着实狠狠地蹭了一波热度(尽管这样会被鄙视).眼下Android圈已经躁动了,甚至严重到如果对Kotlin视而不见就显得自己不像一个合格的Android程序员. 本文尝试从一个客观全面一点儿的角度来看待这件事情,尽力为大家提供一个比较理性的观点供参考. 为什么会选用Kotlin 关于 Google 为什么