Android 工程師的選擇
從事 Android 開發(fā)已經(jīng)有幾年的時光了懈玻,隨著移動互聯(lián)網(wǎng)女轿、智能手機紅利期的漸漸退去挤忙,移動端市場趨于飽和,又受到人工智能谈喳、大數(shù)據(jù)和大前端趨勢的影響册烈,再加上網(wǎng)上各種對移動端不利的言論,網(wǎng)上的自媒體就愛制造焦慮博取眼球婿禽,年年唱衰 Android赏僧,2018年的 Google 大會中,Google 對 Android 更是只字不提扭倾,力推 Flutter淀零。塞班系統(tǒng)的前車之鑒,讓我感到很焦慮膛壹。可怕的不是你的工作沒了驾中,而是你的行業(yè)沒了唉堪。那么該如何選擇 Android 工程師的未來呢?
選擇方向
- 轉(zhuǎn)后端
后端開發(fā)肩民,經(jīng)久不衰唠亚,注重深度,并且 Android 與 Java 后端都是同使用 Java 語言持痰,但轉(zhuǎn)后端開發(fā)等于徹底的轉(zhuǎn)行灶搜,資深的 Android 開發(fā)轉(zhuǎn)到后端,只會成為初級工程師工窍,需要從頭開始割卖,那么這幾年的努力豈不是白費了?需要考慮到事件的成本患雏。
- 轉(zhuǎn)人工智能
對于人工智能來說鹏溯,近幾年新聞媒體大力宣傳、網(wǎng)上自媒體的過渡評價淹仑,幾乎成為最熱門的崗位丙挽。但是人工智能不僅僅是學(xué)習(xí)一個 Python 語言那么簡單。目前人工智能還沒有全面普及攻人,還只是大公司的玩物取试,過幾年泡沫會不會破滅還難說,而且目前算法崗也開始慢慢飽和了怀吻,已經(jīng)不是可以無腦學(xué) AI 的時候了瞬浓。同時,我了解了下人工智能崗位的要求蓬坡,基本都要求名校碩士猿棉,學(xué)歷的問題是制約很多人搞 AI 的最重要因素。
- 轉(zhuǎn)(大)前端
同樣的趨勢選擇屑咳,最終我選擇大前端萨赁,那么什么是大前端?我為什么要轉(zhuǎn)大前端呢兆龙?
什么是大前端
2017年杖爽,以餓了么為代表的一些企業(yè)開始提出大前端的概念。2018年紫皇,InfoQ 舉辦了首屆全球大前端技術(shù)大會慰安,在大會中將前后端分離、跨平臺和 PWA 等技術(shù)設(shè)立了專場聪铺,這次大會具有重要的意義化焕,它預(yù)示了大前端時代的到來。
那么大前端是什么呢铃剔,直接來說撒桨,大前端是所有前端的總稱查刻,最接近用戶的那一層都叫前端,比如 Android凤类、iOS穗泵、Web、Watch踱蠢、小程序等火欧。
在企業(yè)的開發(fā)中會遇到這樣一個頭疼的問題棋电。當(dāng)企業(yè)需要上線一個新產(chǎn)品時茎截,服務(wù)端只需要開發(fā)一次,但是面向用戶的客戶端也就是前端卻需要開發(fā)多個版本赶盔,比如 Android 版企锌、iOS 版、H5 版于未、小程序版等撕攒。每一個版本的開發(fā)工作量都是無法復(fù)用的,這意味企業(yè)需要付出更多冗余的人力成本烘浦。這個時候問題就來了:有沒有一種技術(shù)可以同時適用于多個平臺呢抖坪?這種技術(shù)就是跨平臺技術(shù)。有了跨平臺技術(shù)闷叉,各個平臺的差異性就被抹平了擦俐,開發(fā)者只需要一套技術(shù)棧就可以開發(fā)出適用于多個平臺的客戶端,這就是大前端生態(tài)中最重要的一環(huán)握侧。
主流跨平臺方案
截止目前蚯瞧,主流的跨平臺方案有:ReactNative、Weex品擎、微信小程序埋合、PWA 和 Flutter
大前端趨勢展望
截至目前,跨平臺技術(shù)雖然已經(jīng)經(jīng)歷了幾年的發(fā)展和改進萄传,但是已有的跨平臺方案都還有或多或少的不足甚颂。
ReactNative 和 Weex:執(zhí)行效率是硬傷,首頁不能用RN已是共識秀菱,而且目前在同一 Android 和 iOS 代碼方面尚存在不足振诬。
Flutter:不支持線上熱修復(fù),和跨平臺方案天然的動態(tài)化屬性不服答朋,目前尚在 preview 階段贷揽,希望能夠盡快 release。
PWA:用純 Web 的方式統(tǒng)一三端梦碗,很好的 idea禽绪。但是需要借助 Google play Service 和瀏覽器支持蓖救,國外大部分 Android 手機和 iOS 的新版本都可以支持 PWA,但遺憾的是印屁,國內(nèi)的瀏覽器很難統(tǒng)一支持 PWA循捺,這還需要時間。
微信小程序:屬于微信內(nèi)的生態(tài)閉環(huán)雄人,更適合工具類和小游戲从橘,一般都作為原生 APP 的延伸入口。
所以础钠,目前尚不能分析出哪種技術(shù)是未來的趨勢恰力,未來是否會出現(xiàn)新的跨平臺技術(shù)也無法得知。因此決定對已有的方案都做一下了解旗吁,達到入門水平踩萎,等以后某個跨平臺技術(shù)成熟后再做深入地研究。
總結(jié)
雖然跨平臺技術(shù)還不夠完美很钓,但是大前端的趨勢是很明確的香府。對于我來說,需要學(xué)習(xí)一下 HTML码倦、CSS企孩、JavaScript、ES6袁稽、vue 和 react 等前端技術(shù)
所以勿璃,我選擇大前端作為未來三年的學(xué)習(xí)方向,將自己的學(xué)習(xí)時間作為劃分运提,七分進階 Android蝗柔,三分學(xué)習(xí)前端知識。只有這樣才能更好地適應(yīng)大前端的變革民泵。