幾年前最易,客戶端開發(fā)熱門的一塌糊涂,以至于在國內(nèi)涌出一大片培訓(xùn)班粒没。以iOS為例筛婉,花個(gè)1、2萬去培訓(xùn)班學(xué)大個(gè)半年癞松,出來后在面試時(shí)就可以聲稱自己已有2-3年開發(fā)經(jīng)驗(yàn)并且能蒙混過關(guān)爽撒,月薪拿個(gè)1W5毫無壓力。這導(dǎo)致近幾年國內(nèi)客戶端開發(fā)者數(shù)量非常多响蓉,且能力參差不齊硕勿。
而現(xiàn)在放在市場上看,先不說以培訓(xùn)班出身的水平即UI拖拽師已經(jīng)很難找到工作枫甲,而一些稍有資歷的客戶端開發(fā)者也已經(jīng)感覺到市場已經(jīng)明顯飽和源武。這里的原因有很多,列幾個(gè)我認(rèn)為比較關(guān)鍵的:
- 開發(fā)的門檻越來越低想幻,得益于日漸完善的開發(fā)套件以及學(xué)習(xí)資料
- 供大于求粱栖,App創(chuàng)業(yè)潮的冷卻導(dǎo)致崗位減少
- 大前端的概念推出,以Weex和React Native為主導(dǎo)的多端復(fù)用以及Hybrid架構(gòu)的流行
開發(fā)的門檻越來越低
在iOS最火熱的年代的開始脏毯,大約是在13到14年之間吧闹究。那時(shí)候,客戶端其實(shí)大部分處于一個(gè)白板期食店,開發(fā)資料的欠缺渣淤,大家還是再以PC Web的模式去玩客戶端赏寇。在那個(gè)時(shí)候,作為純UI開發(fā)是很容易找工作的价认,甚至不需要了解底層嗅定、操作系統(tǒng)、網(wǎng)絡(luò)等等用踩,只要你能快速畫上UI渠退,滿足業(yè)務(wù)需求迭代,就能很輕易收割到Offer捶箱。再后來智什,我們慢慢發(fā)現(xiàn)曾經(jīng)只有“大神”才會(huì)的hook动漾、編譯原理丁屎、逆向等等都成了標(biāo)配,這就是技術(shù)領(lǐng)域成熟所帶來的結(jié)果旱眯。在Facebook的主導(dǎo)下晨川,客戶端玩起了Three20,Hybrid模式架構(gòu)由此產(chǎn)生删豺。同時(shí)慢慢衍生出WaxPatch共虑、JSPatch等等高難度的框架。在H5流行的年代呀页,由PhoneGap妈拌、AppCan等等一些跨平臺(tái)或者說比較綜合的解決方案冒出,但是使用的范圍不大蓬蝶,最終被現(xiàn)在的Weex/RN所取代尘分。
在這樣的背景下,國內(nèi)App巨頭開始形成規(guī)模丸氛,手淘培愁、微信、支付寶缓窜、百度等等會(huì)因?yàn)闃I(yè)務(wù)的場景不同出現(xiàn)客戶端的中間件定续,可以說15年是客戶端最光鮮的一年,因?yàn)槟且荒昕蛻舳说募夹g(shù)成長是最快的禾锤。
客戶端的開發(fā)成熟了私股,學(xué)習(xí)資料也多了,公司對(duì)人才的要求也高了恩掷。
供大于求
在過去幾年的時(shí)間里倡鲸,互聯(lián)網(wǎng)界掀起過App創(chuàng)業(yè)流,幾乎到了任何一個(gè)創(chuàng)業(yè)團(tuán)隊(duì)都會(huì)有自己的一個(gè)App的階段螃成。那時(shí)候股市也好旦签,新三板上隨處可見PPT概念公司查坪。因?yàn)橛绣X,給客戶端開發(fā)者開的工資也非常高宁炫,大家都涌向客戶端開發(fā)偿曙。而現(xiàn)在是一個(gè)通貨膨脹的年代,客戶端需求大大減少羔巢。除非你真的有一技之長望忆,否則將會(huì)淹沒在廣大的客戶端開發(fā)者人群中。
大前端的出現(xiàn)
前端的框架變化實(shí)在是太快了竿秆,當(dāng)你還活在JQuery的年代启摄,了解著bootstrap時(shí)候,有人已經(jīng)在玩AngularJS了幽钢,而更有人已經(jīng)開始玩React了歉备,再甚至已經(jīng)出現(xiàn)Vue來結(jié)合AngularJS和React了。Weex和React Native的出現(xiàn)匪燕,已經(jīng)足以動(dòng)搖客戶端開發(fā)的地位了蕾羊。在這個(gè)年代,你說不懂點(diǎn)前端帽驯,怎么好意思說自己是客戶端開發(fā)呢龟再。那要了解的東西太多了,webpack你得懂吧尼变?babel也要知道吧利凑?MVVM databinding ES6 ES7 promise等等,講真嫌术,腦子不太夠用哀澈,而且我相信絕大多數(shù)客戶端開發(fā)者對(duì)前端領(lǐng)域很陌生。
Weex和React Native在大公司的流行蛉威,必然有它的道理日丹。熱部署、跨平臺(tái)都是優(yōu)勢蚯嫌,但最重要的是它們倆減少了客戶端的重復(fù)工作哲虾,結(jié)果就是能讓公司少招點(diǎn)客戶端開發(fā)。
機(jī)器學(xué)習(xí) & AR
也許你會(huì)說今年WWDC給客戶端打了強(qiáng)力一針择示,機(jī)器學(xué)習(xí)+AR束凑。不得不潑冷水,機(jī)器學(xué)習(xí)跟做普通的App有啥關(guān)系嗎栅盲?AR也是同理汪诉,有多少App需要用的到?再說機(jī)器學(xué)習(xí)的學(xué)習(xí)成本有多大,AR關(guān)于圖形學(xué)的知識(shí)要學(xué)多久扒寄,這些都是問題鱼鼓。
未來
未來一定屬于T型人才的,何為T型人才该编?
即在某一領(lǐng)域有很強(qiáng)的能力迄本,并且有技術(shù)廣度。
怎么理解這句話课竣,其實(shí)就是偏向于客戶端的全棧嘉赎。不,應(yīng)該說偏向于大前端的全棧于樟,光會(huì)客戶端是沒用的公条。
而我的選擇是,保持客戶端深度的同時(shí)迂曲,摸索前端靶橱,著重在后端領(lǐng)域深入下去。任何一個(gè)時(shí)代都不會(huì)缺后端的奢米,并且基礎(chǔ)技術(shù)方案的迭代是很緩慢的抓韩。最起碼纠永,學(xué)完SSH或者SSM三大框架后鬓长,了解一些設(shè)計(jì)(比如不是所有項(xiàng)目都要要ioc,hadoop就是例外)尝江,蹭蹭熱點(diǎn)(虛擬機(jī) & docker)涉波。如果客戶端真的沒落了,也能轉(zhuǎn)向后端炭序。