大前端時代下 App 開發者的生存之道

在16年末我寫過一篇談將來的文章《2016年底閒談iOS開發的將來》,當時剛參加完秋季的Qcon,整理了一下寫了出來。到如今17年的春,過去四個月,社區裏討論氣氛已經從《從入門到放棄》變成了《從入門到轉行》、《從上架到上吊》。
php


大家這些人啊,中國有一句古話叫作富貴險中求。不要見風就是雨,這麼來皮皮蝦也遭不住。

移動開發市場很穩定

咱們先從需求方看起。移動開發市場其實在過去半年裏並無太大的變化(就像股票同樣,跌20%也算是正常的波動區間)。運營的朋友喜歡用「下半場」、「迴歸理性」這樣的詞來形容。前端

早期這個市場從無到有,遇上中國一批手機換代潮,你們都是野蠻成長。當一個市場在增加時,就算你作的很差,也可能由於市場總量在增長而活下來。又恰好遇上國家大力號召創業潮,給人一種處處是金子的感受。我和扎克伯克之間只差一個點子,那我在沙縣小吃吃混沌的時候有了個點子,就只差一個程序員了。java

可是商業原本就是逐利的,萬惡的資本主義先進性和咱們社會主義固然不能比。因此這些沒有商業模式的公司持續一段時間後終將退出舞臺,就像前些年的跑馬燈大功放山寨機同樣,只是快了一些。python

在16年裏已經沒有一個平臺級的產品出現了。本來從web時代就有產品轉移到app的就不列舉了,好比優酷土豆。舉幾個例子:程序員

  • 餓了麼在11年拿的A輪
  • 滴滴在12年拿的A輪
  • 鬥魚在14年末拿的A輪

直播是由於恰好剛上中國的網絡升級,帶寬明顯變高,價格也變低。不過提及來秀場這種模式原來在pc也存在已久。
我只是想說明,移動市場已經不是風口了。什麼樣的市場才能算是風口呢?我以爲就像雷軍說的,豬都能飛。顯然,如今豬飛不起來了。否則你飛個我看看。web

可是中國目前大約有7億的智能手機用戶,這個流量已經夠大了。只是增加有限。這些用戶的計算能力依然經過手機實現(有些計算可能在雲端,手機只是一個鏈接設備)。若是你看清了這個事實就能明白如今行業處於健康發展狀態。並非像某些行業在坍塌式的衰退。後端

好像都找不到工做啊

有的時候遇到問題真的要先想清楚是你的問題,仍是這個世界的問題。
我如今到拉勾上搜一下10-15k的職位,把職位數量列出來:服務器

上海 北京 杭州
iOS 104 152 70
Android 156 252 89
PHP 228 349 134
前端開發 500+ 500+ 268
Java 500+ 500+ 500+

我以爲若是公司發展健康的話,10-15k的這部分程序員應該是中堅力量。有的公司可能業務簡陋,堆幾個5k程序員就夠了,這種職位沒有參考意義。
假設你在上海是個iOS程序員想換一個工做,你有104個職位能夠選。只是沒有幾年前有好多個offer能夠選,可是我以爲這也是一個能夠接受的水準。固然仍是沒有前端和java吃香。固然若是你在三線城市選擇作移動開發確實是情懷值max,我敬你是條漢子。微信

那麼我若是是一個新手呢?這個行業正常發展,就確定也會須要對應數量的新人,固然這個比例是多少我沒法估計。只是原來可能及格線是60分,如今標準提升到了80分。只是須要過濾掉後面的人。那是否是變難了不少?weex

若是你只是爲了就業你就找最容易就業的崗位啊,好比前端和Java,賺錢還考慮什麼姿式喜愛。

若是你就是想作移動開發,寧願選擇一條稍微難一點的路。移動開發就算入門難度提升了,IT行業的付出收入比仍是比其餘行業高。你能夠看下同個公司一樣待遇的運營或者其餘崗位須要什麼樣的要求。你也能夠參考下其餘系的同窗,好比新聞、外語要得到一個相似的工做須要付出多少努力。講真他們畢業時也就是有個工做就知足了,哪裏敢奢求什麼皮皮蝦。以前培訓三個月就出來月薪就上萬也這就是了遇上了多少年一遇的黃金時代,哪能天天都是黃金時代。就滿足吧,程序員這個職業幾乎不看出身,你能夠是大專,能夠是沒考上大學,能夠是三流本科,只要花足夠多的時間去提升本身。你要是真像那些考研的人那麼努力依然不用擔憂就業的問題。

正題:移動開發的大前端時代

如今咱們來談下app開發的趨勢。
在過去的半年多了,最大的變化就是js to native(rn & weex)開始逐漸變的強勢。印象中rn是15年10月左右的開放的安卓sdk。爲何要強調安卓的sdk呢?由於原本這個技術的主要優點就是提升開發效率,原來兩個端的代碼只須要寫一份。熱更新這件事對於大多數團隊而言只是錦上添花,並非選擇這個技術的主要緣由。

在通過一些團隊的實踐後,不管是RN和Weex在實際項目中的使用已經沒有太大的風險。雖然仍是有諸多不盡如人意的地方,可是如今看那些用了這些技術的公司,好比攜程、去哪、QQ、阿里彷佛都沒有回頭的意思。

摘錄一些一線公司的招聘上面寫的要求或加分項:

  • 有React Native或者Weex的實戰經驗
  • 掌握一些前端開發技術,HTML/JavaScript/CSS等
  • 有ReactNative開發經驗或者興趣
  • 負責iOS APP原生及跨平臺相關的關鍵模塊定義和開發
  • 有跨平臺開發經驗和工具開發經驗者優先
  • 瞭解HTML5,JS相關技術者優先

雖然如今還只是一部分公司在嘗試使用這個技術,然而我認爲他們開始在主營業務大部分應用這個技術已經說明了這個技術體系的成熟,只是早期在最佳實踐或者一些工具鏈會有所欠缺,可是這不會影響這個趨勢,只是快慢而已。

有句話叫語言決定世界觀,我把這個階段稱爲大前端時代。

由於業務代碼主要由js構成,而這部分一開始的動力來自傳統前端。可是從大一點的角度看,離開了服務器和桌面均可以稱爲前端也沒有不妥。不過看到芋頭的公司稱爲「大無線」,這個叫法也好理解,不過猜想可能直接帶「前端」會讓原來一些native的開發者不適應因此這樣稱呼吧。

接着咱們來思考一個問題:假設js to native是半壁江山,那麼代碼是前端寫仍是app程序員寫?

這裏要意識到一個點就是:JS Native不能完成native全部的功能。也許是性能的緣由,也能夠是其餘一些客觀的緣由。好比逐幀動畫,在RN體系下確定就是要native,否則掉幀掉成狗。再好比一些第三方的sdk,可能人家就是寫好的native給你,你須要native調用。

在大前端的時代下,一個合格的開發者顯然是 js + iOS / Android 。能夠是一個熟練的前端學習一點native,或者是native程序員會js。若是考慮到如今公司情況進行轉型,一個合理的路線是app開發者開始學習以js爲主要開發語言的開發狀態。

若是此時公司業務沒有增加保持現狀,由於這套技術提高了開發效率,確定要進行「人員優化」,淘汰掉不能適應新體系的程序員。其實就算按照勞動法的規定,賠償N+1,假設你作了2年,也就是賠你3個月的工資。若是公司想省這筆錢,就會故意把你調到不相干的部門,好比你是iOS,就讓你去後端寫php,讓你難受本身辭職或者以你後端工做績效不合格逼走你。固然了。以我國管理者的智慧,想逼程序員走的方法確定是不少。

固然比這更值得思考的是:從這裏離開之後你又要從哪裏開始呢?不過是更舉步維艱。聰明的作法是順着時代的浪潮。而不是執拗的被拍死在沙灘上。

轉...轉...轉行?

我有一句話不知當講不當講。。。


沒有金剛鑽別攬瓷器活。
我有一個朋友,有次一塊兒吃飯我問他最近在幹嗎。他說在看python,我說怎麼想到看python了。他說看了python打算轉行去作大數據或者機器學習,感受這個比較來錢。其實不少盲目涌入的開發者就是這樣的素質。我只想告訴大家,若是21天就能搞大數據了,那你怎麼不去報個一週的速成培訓班?原來培訓iOS還要幾個月呢。

多年前有一個暢銷書,中文翻做《大數據時代》,英文名叫《big data》。


這本書寫於2012年。其實摩爾定律已經算是失效了,回想一下桌面端的CPU的計算能力與五年前的2012年相比並無太大的進步。做爲開發人員請想一下,從大數據這個概念被社會理解,到咱們開發中真正開始大規模的應用在身邊的企業中(Map/Reduce 在 06 年被引入hadoop項目),中間過了多久?即使如今扣掉體量巨大的公司通常規模的公司裏又須要幾個大數據工程師?有iOS和安卓想憑几個視頻幾個21天上手轉行拿高薪的多嗎?

如今開始熱的VR,你們都以爲是下一代計算平臺,問題是,這個你等的到嗎?你又怎麼爲一個沒有統一技術標準和框架的平臺作準備?若是你有這個能力,你根本就不用擔憂就業的問題。大多數人不具有這樣的能力。

固然轉行也能夠是一個務實的選擇,若是你願意的話:離統一世界只差500年的JS,最好的語言php,還有:


歡迎關注個人微博:@沒故事的卓同窗

微信掃一掃有驚喜❤️
相關文章
相關標籤/搜索