2019的四月的一天,現(xiàn)在的老板在某次晨會結(jié)束之后叫上了我,吩咐我一定要注冊2019年的Google I/O,本來不想去的我一想反正公司報(bào)銷,去一去也無妨就順手報(bào)名了,沒想到運(yùn)氣不錯(cuò)還真的抽中了門票。今天是IO的第三天,也是最后一天,反正也好久沒有更新技術(shù)博客了,就用一篇文章的篇幅來介紹一下這次Google I/O還有一些心得體會吧。
這次Google I/O的一些重點(diǎn)
第一天一不小心起晚了,趕到會場的時(shí)候KeyNote已經(jīng)開始了
劈柴哥正在興致勃勃的介紹著今年Google 在人工智能方面的進(jìn)步。
- Google的人工智能mobile的google assistant今年已經(jīng)正式做到不需要喚醒詞 "Hey Google",就可以自動通過用戶對話的上下文自動給出用戶的需求答案了。
- Google Lens可以自動分析賬單,自動做結(jié)算。拍照分析食物,自動搜索出網(wǎng)上的菜譜還有制作工序視頻
同時(shí),全球注冊安卓設(shè)備正式突破二十五億個(gè)。
Android ART可以通過Google Playstore提取用戶的profile,上傳之后,后續(xù)用戶可以利用profile文件加速app啟動。
Google AR/VR也有新的進(jìn)步,但是令我感到奇怪的是2016的project tango項(xiàng)目已經(jīng)做了很多VR上面的實(shí)現(xiàn)和嘗試,比如今年的這個(gè)鯊魚的舞臺VR效果(圖片摘自網(wǎng)絡(luò),當(dāng)時(shí)我忘記照相了。。。)

在我2016年來的時(shí)候,已經(jīng)完全可以做到了。不知道算不算是炒冷飯。
還有我比較感興趣的Android Auto,剛好我一個(gè)朋友最近準(zhǔn)備去
之前呼聲和質(zhì)疑聲都很多的云游戲平臺,反而只有一個(gè)小小的攤位。。。。我記得當(dāng)時(shí)Google宣布要做Stadia的時(shí)候還是吸引了不少熱度的,今年Google I/O的keynote上連提都沒提一下,這么低調(diào)著實(shí)令人摸不著頭腦。
這次Google IO 感悟
安卓開發(fā)方面的Session,說實(shí)話今年我是頗感失望的。作為一個(gè)安卓開發(fā),這次Google I/O 能提供給開發(fā)者的一些新的東西其實(shí)已經(jīng)很少了。很多東西都是換湯不換藥。
比如今年的一個(gè)Modular APP的構(gòu)建session,其實(shí)就是把去年的Dynamic Feature給重新過了一遍。(誰說Google不允許安卓插件化的,只不過收歸國有罷了。只需州官放火不許百姓點(diǎn)燈,可惜的是應(yīng)該只有通過Google Playstore才能生效),感興趣的可以看看這個(gè)文章:
我能記得的重點(diǎn)大概就是Kotlin First,這么個(gè)空洞的口號。。。至于ConstraintLayout也已經(jīng)不算是什么新鮮的知識點(diǎn)了。
不過玩笑歸玩笑,這次關(guān)于Coroutine的Session,也開始讓我重新審視RxJava這個(gè)能力爆炸的框架到底還是不是解決異步問題的定海神針了。Google自從發(fā)布architecture component 之后,LiveData和Kotlin的Coroutine已經(jīng)可以很好的解決大部分的代碼隔離,異步處理,生命周期處理等等的問題了。RxJava固然好用,但是學(xué)習(xí)曲線過高和太過復(fù)雜(我現(xiàn)在的團(tuán)隊(duì)有些朋友就是怎么也理解不來flatmap。。。),有點(diǎn)大炮打蚊子的感覺。
我與大廠同行對安卓開發(fā)前景的一些看法,安卓開發(fā)的一些感想
當(dāng)然來參加I/O,也不是說真的需要學(xué)習(xí)什么,還有的目的也是為了見見一些舊朋友。前東家今年發(fā)展不錯(cuò),把整個(gè)安卓團(tuán)隊(duì)都拍過來參加這次大會了。我也毫不猶豫的做了一次東,請大家吃了飯。許久不見,舊金山已經(jīng)成了我的主場,新加坡的朋友們成了客人。

而且趁這次機(jī)會,也和Google還有Uber的朋友們交流了一下安卓開發(fā)的前景問題,還有接下來大家專注的一些點(diǎn)。
先說結(jié)論:
移動開發(fā),絕對不會被淘汰,淘汰的只有不合格的開發(fā)而已。
移動開發(fā)在2014-2015年進(jìn)入爆炸的時(shí)代,傳說中的北大青鳥畢業(yè)一萬月薪的確是事實(shí)。在那個(gè)安卓iOS做一個(gè)app就可以創(chuàng)業(yè)的年代,催生了很多移動開發(fā)的就業(yè)崗位。而且移動開發(fā)當(dāng)時(shí)的不成熟,早就了很多開發(fā)框架的誕生,光是圖片下載讀取的框架就數(shù)不勝數(shù),ImageLoader,Picasso,Glide,甚至Volley都有image loading的代碼。移動開發(fā)的開源社區(qū)也蓬勃的不行,在野蠻生長的年代,英雄輩出。
然而等到幾年過去,市場再也不需要那么多創(chuàng)業(yè)公司的時(shí)候,自然就淘汰了一大部分人,甚至開源社區(qū)也冷靜了下來。原因很簡單,我舉個(gè)栗子。
Uber的朋友說,Uber開源了一個(gè)UI框架叫Ribs,大概很多人都沒聽過也沒用過。為什么?因?yàn)樗?strong>不合適。Uber是一個(gè)90%功能集中在10%的頁面上的App,簡單的說就是一個(gè)單頁面的app,所以它的UI設(shè)計(jì)思路不適用于大部分app,Ribs的UI設(shè)計(jì)理念也是這樣。正因?yàn)槿绱耍蟛糠止径疾粫捎眠@個(gè).甚至他自己本人剛剛開始在Uber工作的時(shí)候也很疑惑,有時(shí)候只不過是想加個(gè)TextView而已,在Ribs的設(shè)計(jì)下要新建很多個(gè)Class。想通單頁面app的復(fù)雜度和功能隔離的原因之后,才能徹底理解為什么。
說了這么多,我想表達(dá)的重點(diǎn)是。我們移動開發(fā)已經(jīng)過了那個(gè)新技術(shù)一出,大家都開始瘋狂關(guān)注的年代,當(dāng)然本身因?yàn)橐苿娱_發(fā)以及趨于穩(wěn)定,新技術(shù)的迭代速度也明顯變慢, 大公司都開始專注于自己的業(yè)務(wù),當(dāng)然結(jié)果就是開發(fā)或者技術(shù),也要以業(yè)務(wù)為導(dǎo)向了。不管是移動開發(fā)也好,后端也好,不能給公司的產(chǎn)品添磚加瓦,那就需要被淘汰。能不能通過現(xiàn)有的技術(shù),去完善產(chǎn)品,是現(xiàn)在的移動開發(fā)工程師們應(yīng)該集中思考的問題。安卓開發(fā)也是一樣的。大公司還是在持續(xù)招人,招高質(zhì)量的軟件工程師,能給產(chǎn)品,給公司解決實(shí)際問題的軟件工程師。
這也是我一直想說給所有移動開發(fā)從業(yè)人員的話,你首先是一個(gè)軟件工程師,其次你的專業(yè)是移動開發(fā)。
2016年,正是我第一次來美國,參與到Google I/O中才萌生了要來美國的念頭,這次的I/O同樣給了我很大的感觸,都說每三年要有一個(gè)小目標(biāo)。我的前三年為了來美國花了不少功夫,下一個(gè)三年我給自己定的目標(biāo)是早日當(dāng)上我司安卓組的tech lead,我相信我一定可以做到!