本文首發於微信公眾號「玉剛說」
引言
今年google的開發者大會,很幸運的拿到了公司內部預留的門票,可惜的是公司的其他2位同事因工作原因未能參加,只能我孤身一人前往。不過機會難得,我還是趕到上海來感受一下這次程式設計師的聚會哈。(ps:前一晚中途下雨,幾經折騰,花了四個多小時才從杭州趕到上海的酒店,身心俱疲的一夜啊。。。)
來的路上檢視了下這次為期兩天的GDD的主要日程安排:
- 機器學習 - 今年大會的重點之一,第二天有專場學習。我個人之前也在學習TensorFlow相關的知識,感覺這方面將是未來的大勢所趨。
- ARCore - 今年大會的重點之一,第二天有專場學習。
- Android - 在Kotlin中開發Android App。個人是Kotlin的死忠粉,用了一年多,java已經回不去了。
- Play - GooglePlay提供的各種功能和工具,幫助改進遊戲應用質量和提升遊戲應用效能。
- WearOS - WearOS的最新使用者界及其工作原理。另外今年將展覽了很多手錶裝置,手錶很好看很酷炫。
- 無障礙 - 介紹如何用和Google一樣的流程從設計,實現,測試入手提升你的應用的無障礙互動體驗。
- Firebase - 藉助Firebase發展你的App業務。
- Assistant - GoogleAssistant整合硬體和服務。介紹GoogleAssistant的智慧家庭雲解決方案。
- 物聯網 - 如何使用AndroidThings打造物聯網裝置。演示如何使用AndroidStudio編寫一個可與外部硬體互動的AndroidApp,然後,會演示在裝置上執行TensorFlow有多簡單。
- 雲服務 - Google提供的相關雲服務。
- Flutter - 運用Flutter,可打造出美輪美奐的定製UI。演示如何使用Flutter增強你的iOS和AndroidApp。介紹如何用Flutter 最有效率地構建控制元件樹、佈局、繪製,以及如何運用Flutter 的分析工具去debug執行上的低效。深入介紹FlutterGraphics效能方面的優化和提升。由於本人就是客戶端開發,所以我對這塊也是重點關注啊。
- 廣告&設計 - 分享網頁遊戲新趨勢。以及如何利用最新的AdSense產品幫助你的網站獲得更多收益。
由於場次時間上面的重疊,針對需要,我重點挑選幾個工作需要和個人較為感興趣的專案進行了。
Day 1
早上8點半來到世博中心,發現會展大門口已經排起了長長的隊伍。看來大家都很興奮啊,早早的就趕到了會場。看到大門裡面的GoogleDeveloperDays的,整個人就感覺身為一個追隨Google的開發者感到無比的自豪啊。下面放幾張場館的圖。(ps:本人拍照水平有限,勿噴。。。)



開場介紹
AI小遊戲,猜畫小歌。2000人蔘加,我拿了第60,領了個小獎品。

大中華區總裁講話

使用Kotlin開發應用的公司,調查問卷中說有超過40%的開發者已使用Kotlin進行開發。很激動啊,Kotlin在不斷的壯大。

還有關於Android 9 Pie的適配問題,提及了幾個重點方向:
- 應用不相容的常見原因
- 非sdk介面的限制名單
- 凹凸螢幕Display Cutout
- 螢幕旋轉鎖定
- 空閒應用無法訪問麥克風、攝像頭和感測器
- 前臺服務許可權
- 後臺服務限制
- Google Play targetSdkVersion政策
ArCore
主要介紹了ArCore的使用場景,其中包含了京東應用中食品選擇的場景和網易遊戲中的一些場景。利用AR技術可以讓很多靜態的場景變成3D動態的效果,比如一個平面的玩具,通過AR可以展現出3D的模擬場景,這點很酷啊。


TensorFlow
大妹子程式媛,全程中文講解TensorFlow的介紹。中文很溜,就是帶點東北腔和兒話音。。。

還有關於通過機器訓練和學習,讓機器識別靴子的示例。第二天會有TensorFlow的一整天專場。

關於機器學習的7個步驟:
- 資料收集
- 準備資料
- 選擇模型
- 訓練
- 評估
- 超引數調節
- 預測
Flutter
哈哈,重點來了,本次大會我被Flutter實力圈粉啊。可能是由於自己本身從事客戶端的開發,並且有打算在工作中開始嘗試。在這個方面不得不說阿里的閒魚團隊,開始開始的比較早。這次大會上有重點說到閒魚在Flutter方面嘗試所取得的成就。
這2個歪果程式設計師很搞笑啊,在上面很HI的講這Flutter的高效




閒魚

騰訊

京東

針對不同的專案開發階段的整合方式

活動會場一整面牆上貼著採用Flutter來進行開發的apps,有的UI確實體驗很好。

關於Flutter渲染效能問題分析:





這方面的分析還是比較清晰的。利用debug的工具對渲染過程中的繪製監控、UI執行緒和GPU執行緒的耗時監控。再加上對元件檢視的節點分析和圖層無效繪製區域的分析進行UI渲染優化的提升。這方面充分展示了Flutter在UI表現方面的強大。Flutter會在近期推出release的版本,期待吧。
Kotlin
Kotlin今年不是重點啊,不過google大神Dan還是把Kotlin的基礎語法講解的很細啊。包括使用Kotlin的優勢:空安全檢查,擴充套件函式,協程等等。

JetPack: WorkManager和Navigation
這部分的內容提及的不多,預計在AS3.3的版本上正式釋出該功能。
去活動區體驗了一下Navigation的功能,感覺還不錯,同步xml中的design模式自動連線和控制子頁面(fragment)的互動和跳轉。

大家可以等到AndroidStudio釋出3.3的時候好好體驗和使用了。
Google遊樂場
晚上6點有Google提供的晚會,裡面有準備甜品零食和酒水。還有很多遊戲專案,參與贏得遊戲可以兌換禮品。可惜我孤單單一人提不起啥興趣,一天折騰下來確實更累,逛了一圈就回酒店了。
DJ小姐姐

小遊戲1

小遊戲2

獎品兌換

甜品桌

Day 2
今天主要是挑選一個專場來參加。我處於個人喜好選擇了一直在關注和準備開始學習的TensorFlow。早上下雨,上海的車很難得啊。。。一通折騰趕到會場已經10點了,錯過了第一次的TensorFlow介紹。沒關係,接著開始吧。
TensorFlow專場
- 程式設計介面的新動態
- 新的TensorFlow程式語言
- 通過TensorFlowLite打造移動機器學習模型
- 閒魚基於TensorFlowLite的端計算應用實踐
- TensorFlowLite在網易有道產品中的應用
- 以tf.data優化訓練資料
活動區域
大會二樓準備了一塊產品體驗和活動的區域,大家可以在這個地方體驗最新的產品和交流技術問題,更有小禮品可以拿哦。
AR合照

機器學習課程

活動現場

Flutter應用牆

Android Wear

Android Things

Android Things 體驗猜畫小歌

尾聲
這次大會充分展示了Google在AI領域、機器學習方面的強大實力。這也可以看出Google對於未來人工智慧領域的看好。正如Google工程師所說的,我們的目標就是締造美好。Google對於未來的人工智慧領域已經開始展露出強大的實力,而身為一名普通的開發者,也很開心可以通過自身的技術和科技帶給人們的生活和體驗上的提升。
對於TensorFlow的學習,我覺得也是勢在必行啊。推薦大家一本入門的書籍《白話深度學習與TensorFlow》。不過在學習理論的同時最好可以結合實踐,把深度學習應用在具體的工作上用來提升使用者的體驗才能體現其真正的價值。
至於Flutter,對於熱愛嘗試新技術的我來說,已經迫不及待的打算把這個技術用在實際的生產環境中。不過關於引入未成熟的技術方案,大家還是需要慎重啊。對於技術細節還是需要深挖,避免不必要的坑對線上專案造成影響。
