移動開發者的冬天真的來了

黃建敏發表於2017-06-23

  前端的框架變化實在是太快了,當你還活在JQuery的年代,瞭解著bootstrap時候,有人已經在玩AngularJS了,而更有人已經開始玩React了,再甚至已經出現Vue來結合AngularJS和React了。Weex和React Native的出現,已經足以動搖客戶端開發的地位了。在這個年代,你說不懂點前端,怎麼好意思說自己是客戶端開發呢。

 

  幾年前,客戶端開發熱門的一塌糊塗,以至於在國內湧出一大片培訓班。以iOS為例,花個1、2萬去培訓班學大個半年,出來後在面試時就可以聲稱自己已有2-3年開發經驗並且能矇混過關,月薪拿個1W5毫無壓力。這導致近幾年國內客戶端開發者數量非常多,且能力參差不齊。

  而現在放在市場上看,先不說以培訓班出身的水平即UI拖拽師已經很難找到工作,而一些稍有資歷的客戶端開發者也已經感覺到市場已經明顯飽和。這裡的原因有很多,列幾個我認為比較關鍵的:

  1. 開發的門檻越來越低,得益於日漸完善的開發套件以及學習資料
  2. 供大於求,App創業潮的冷卻導致崗位減少
  3. 大前端的概念推出,以Weex和React Native為主導的多端複用以及Hybrid架構的流行

  開發的門檻越來越低

  在iOS最火熱的年代的開始,大約是在13到14年之間吧。那時候,客戶端其實大部分處於一個白板期,開發資料的欠缺,大家還是再以PC Web的模式去玩客戶端。在那個時候,作為純UI開發是很容易找工作的,甚至不需要了解底層、作業系統、網路等等,只要你能快速畫上UI,滿足業務需求迭代,就能很輕易收割到Offer。再後來,我們慢慢發現曾經只有“大神”才會的hook、編譯原理、逆向等等都成了標配,這就是技術領域成熟所帶來的結果。在Facebook的主導下,客戶端玩起了Three20,Hybrid模式架構由此產生。同時慢慢衍生出WaxPatch、JSPatch等等高難度的框架。在H5流行的年代,由PhoneGap、AppCan等等一些跨平臺或者說比較綜合的解決方案冒出,但是使用的範圍不大,最終被現在的Weex/RN所取代。

  在這樣的背景下,國內App巨頭開始形成規模,手淘、微信、支付寶、百度等等會因為業務的場景不同出現客戶端的中介軟體,可以說15年是客戶端最光鮮的一年,因為那一年客戶端的技術成長是最快的。

  客戶端的開發成熟了,學習資料也多了,公司對人才的要求也高了。

  供大於求

  在過去幾年的時間裡,網際網路界掀起過App創業流,幾乎到了任何一個創業團隊都會有自己的一個App的階段。那時候股市也好,新三板上隨處可見PPT概念公司。因為有錢,給客戶端開發者開的工資也非常高,大家都湧向客戶端開發。而現在是一個通貨膨脹的年代,客戶端需求大大減少。除非你真的有一技之長,否則將會淹沒在廣大的客戶端開發者人群中。

  大前端的出現

  前端的框架變化實在是太快了,當你還活在JQuery的年代,瞭解著bootstrap時候,有人已經在玩AngularJS了,而更有人已經開始玩React了,再甚至已經出現Vue來結合AngularJS和React了。Weex和React Native的出現,已經足以動搖客戶端開發的地位了。在這個年代,你說不懂點前端,怎麼好意思說自己是客戶端開發呢。那要了解的東西太多了,webpack你得懂吧?babel也要知道吧?MVVM databinding ES6 ES7 promise等等,講真,腦子不太夠用,而且我相信絕大多數客戶端開發者對前端領域很陌生。

  Weex和React Native在大公司的流行,必然有它的道理。熱部署、跨平臺都是優勢,但最重要的是它們倆減少了客戶端的重複工作,結果就是能讓公司少招點客戶端開發。

  機器學習 & AR

  也許你會說今年WWDC給客戶端打了強力一針,機器學習+AR。不得不潑冷水,機器學習跟做普通的App有啥關係嗎?AR也是同理,有多少App需要用的到?再說機器學習的學習成本有多大,AR關於圖形學的知識要學多久,這些都是問題。

  未來

  未來一定屬於T型人才的,何為T型人才?

  即在某一領域有很強的能力,並且有技術廣度。

  怎麼理解這句話,其實就是偏向於客戶端的全棧。不,應該說偏向於大前端的全棧,光會客戶端是沒用的。

  而我的選擇是,保持客戶端深度的同時,摸索前端,著重在後端領域深入下去。任何一個時代都不會缺後端的,並且基礎技術方案的迭代是很緩慢的。最起碼,學完SSH或者SSM三大框架後,瞭解一些設計(比如不是所有專案都要要ioc,hadoop就是例外),蹭蹭熱點(虛擬機器 & docker)。如果客戶端真的沒落了,也能轉向後端。

相關文章