解读今年的 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 最前线信息。

你可能感兴趣的:(java,人工智能,前端,ViewUI)