今天現場體驗了 IO 大會,那感覺真的棒呆了,特別震撼,用老外的話說就是 Amazing!我做的位置還是蠻靠前的,來一張我的位置拍的照:
另外,你們可能不知道,因為我覺得這次機會蠻難得的,就想著能讓一些朋友與夥伴感受下現場的氛圍就最好了,於是就在 IO 大會之前偷偷開了場直播,在只發了朋友圈和小密圈的情況下,而且北京時間還是凌晨,竟然有 3000 多人觀看了我的直播,反應都還不錯,今天算是體驗了把直播的感覺,這是人生的第一場直播,可能也是最後一場。
另外,直接說正題,這次 IO 大會在我看來,其實主要就是有兩個大新聞。
- Google 正式宣佈進入人工智慧時代
大會沒多久,劈柴哥的演講就上了下面一張圖:
雖然沒有明確說,但是從這之後,AI 基本就是本次 IO 大會的主題了,也說明了 Google 在全力投入這個領域,我認為甚至可以直接說 Google 這次有意無意的宣佈從移動時代進入到了人工智慧時代。
之後的 Topic,不管是 Google Lens、TensorFlow,還是李飛飛的上臺演講,都充分說明了 AI 在這次 IO 大會的戲份,而 AI 在 Google 的多個領域與產品也確實都發揮著非常大的作用,而且這也是無人質疑的未來的大方向,所以,擁抱 Google、擁抱未來吧。
- 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 大會你們可能不知道的事:
這次大會跟以往不同的地方是,本次 Keynote 分為兩部分,一個是 Keynote,一個是 Developer Keynote,放在了上下午,Keynote 主要介紹了 Google 產品上的一些更新,而把跟開發者相關的東西完全放在了 Developer Keynote 上介紹,所以就導致部分科技媒體熬夜看 IO,看完 Keynote 之後就迫不及待的發文章了,真是挺辛苦的,然而殊不知,這次的一些重要性新聞都放在了 Developer Keynote 上,如宣佈 Kotlin 的訊息、李飛飛關於 Maching Learing 的演講等;
同樣的在 Developer Keynote 環節,Google 宣佈了一個振奮人心的訊息,就是贈送給所有參會的成員一臺 Google Home + Google Cloud Credit 700 刀,現場都瘋了,要知道所有人都以為今年又不送啥東西了呢,看來 Google 還是樂於接受輿論意見的嘛,畢竟去年沒禮物被吐槽很嚴重,今年我也趕上了,真是幸運;
Google IO 大會在白天舉行,是一場技術大會,但是殊不知到了晚上就是一個全球的大 Party 了,晚上這裡有各種音樂會、脫口秀、遊戲廳、樂隊、VR/AR 體驗區、360 無死角拍照、腦電波列印等等,燈火通明,IO 可能會是你這輩子體驗的最好的大會,真的超棒,希望你們以後有機會,一定要來親自體驗下。
最最後,明後天仍然會有一些不錯的分會場 Topic,比如有「Android 之神」Jake Wharton 的一個關於 Kotlin 的演講,希望有些最新的認識繼續跟大家分享。
本文原創首發於微信公眾號 AndroidDeveloper,歡迎關注第一時間獲取 IO 最前線資訊。