騰訊開發10年大佬:移動端開發現狀與發展淺析!給你一個職業規劃的方向

做者:mingyu ye

原文連接:https://zhuanlan.zhihu.com/p/...python

前言

以前負責移動端基礎架構相關的工做,並作了一段時間 ToB 的移動技術框架輸出,因此對移動端的現狀以及移動端開發這個行業有必定了解,與你們分享下。面試

移動端開發時代已結束?

過去兩年裏,移動端開發一直在被唱衰,Objective-C 的語言熱門度逐年降低,可參見 TIOBE 發佈的排名。算法

2017~2018 開發語言排名變化 圖片來源: TIOBE小程序

Objective-C 做爲開發 iOS 應用的最主要語言,排名在 3~5 年前時也是前五的存在,現在已基本位於十名開外,過去一年兜兜轉轉,進入了前十名。微信

Objective-C 興起於喬幫主帶來的 iPhone 所開啓的移動端時代,隨着移動端互聯網的發展,對 App 的需求井噴,大公司須要從 PC 轉型到移動端,創業公司也基本都是開發各類各樣的 App,很容易就能夠從投資人那裏拿到錢,移動端開發人員也隨着這波需求大潮迅速增加,培訓班也出了大批移動端開發人員,基本會寫點頁面就能夠拿到很不錯的工資待遇。網絡

幾年過去了,這個市場已經擁有了大批移動端開發者,但因爲錢開始緊張起來,投資人在投資時更加謹慎,這個市場因爲缺少熱錢流入,開發一個 App 的成本居高不下,而且小程序時代的來臨,形成了移動端開發者需求大量減小,因爲供求關係的改變,移動端開發再不像以前幾年那麼火爆。架構

在風口上時,豬都能飛,但風口過去,當一個就業市場再也不那麼火爆時,等待的必然是弱者的淘汰。框架

從上面的語言排名能夠看到 python 的迅速興起,開發者都去哪裏了呢?都去搞算法、人工智能、區塊鏈等當前所認爲的風口,這必然會形成這塊市場開發人員的過剩,因此在可見的將來,必然也會經歷移動端開發一樣的階段。模塊化

這讓我想起來以前農民種地,什麼賺錢種什麼,直接致使了前一年掙錢,第二年就過剩,一地雞毛。工具

前段時間今日頭條發出來的但願應屆生轉換崗位的郵件引發了一波關注。

網上流傳頭條郵件

移動端開發這個市場目前不是合格的開發人員太多了,而是太少了,注意,我這裏說的是合格的,如今招到一個能幹活的移動端開發人員很是困難,面過的 90% 的開發者水平仍是遠遠達不到能作事的水準,培訓班出來的 95% 以上都達不到要求,這些開發者基本都是作業務,對底層的瞭解很是少,更有甚者徹底沒有意識到還須要關注底層,沒有求知慾的開發者不是合格的開發者,必然會被時代所淘汰。

高水平的開發者薪資待遇依然很高,基本不受影響,那些衝着風口賺錢的開發者必然被會隨着風的停下摔得很慘,因此不要隨意追趕風口。

移動端時代的發展

當年在手機淘寶實習時,和一個高P聊怎麼看移動端將來發展趨勢,這個高P是經歷過 PC 時代的,給了我下面的答案。

PC 時代時,百家爭鳴,你們都作門戶,最後剩下了四大門戶,流量都被這幾個門戶網站吃掉。移動端時代也是如此,各類各樣的 App 出現,而最終會出現幾個超級 App,吃掉幾乎全部的流量。

過去幾年裏大廠移動端的發展大體能夠分爲三個階段。

2013年之前 單體應用

這個時期的應用主要是將 PC 上的功能搬到手機上,有些甚至就是 App 內部嵌入 WebView 容器,而後網頁對移動端作適配。這個時期 App 的代碼量和工程大小還比較小,一般一個工程,負責開發這個工程的人員也較少,這個時期衍生出來的主要是一些工具庫之類,屬於移動端的萌芽於初始階段。

2013~2015年 平臺型應用

這個時期是將上一代的應用進化成一個平臺型應用,在一個 App 上承載多應用。

這幾年是移動端開發人員幸福度最高的幾年,隨着蘋果提供的 SDK 功能日益強大和穩定,而移動端技術上正處於一片藍海中,有太多事情可作。

隨着移動端應用上的業務迅速增加,開發人員愈來愈多,以前的單工程應用再也知足不了需求,因此誕生了各類各樣模塊化、服務化的解決方案,移動端也有了真正意義上的多模塊開發框架。

爲了解決協同開發的問題,提升多人開發效率,衍生出一系列的開發工具鏈以及打包、集成平臺。

移動端的各類基礎建設也在這個時期完成,例如網絡、埋點、開關、熱修復、ABTest、升級、灰度等一系列基礎技術。

2015年至今 超級App

這個時期平臺型應用進一步進化成爲超級 App。做爲超級 App 承載了大量的業務,更增強調動態化、生態,對 App 的性能、高可用等方面也提出了更高的要求。

這個時期也衍生出性能框架、動態化解決方案(RN、Weex、離線包)、高可用保障方案等。

小程序技術是在前面的基礎上更進一步發展,如今微信、支付寶、百度、美團都有了本身的小程序,都但願將本身的 App 作成一個航空母艦,承載全部的業務,成爲操做系統之上的操做系統。

從這三個時期的發展能夠看出,對移動端開發人員水平的要求是不斷變高,開發人員必需要掌握必定的底層技術,熟悉基礎架構等,只甘心浮於表面的開發人員必然會被時代所拋棄。

ToC 到 ToB

隨着人口紅利的逐漸消失,流量逐漸見頂,移動端 App 在國內 ToC 這條路上已經很難像以前那樣保持高速發展,因此纔出現了國際化、科技賦能這樣的戰略,本質就是國內流量見頂,要維持高速發展,就必須謀求新的流量。

國際化不用多說,走向國際,繼續擴大 App 的用戶來增大 App 的流量,如今各大公司都在作這個事情,這裏有很重要的一點是 App 在國際上直接作本地化是很是困難的,因此不能簡單的把 App 搬到國外,這是另外一個話題了,有機會再單獨寫。

在流量逐漸見頂的狀況下,超級 App 但願可以掌控更多對流量佔比,騰訊做爲一個將流量視爲最大戰略,但願可以鏈接一切,在用小程序不斷提高佔據用戶在手機上的時間,其他 App 正在與此作對抗,超級 App 在 ToC 上會進入僵持階段。

而另外一塊戰場則是 ToB,ToB 相對於 ToC 有什麼區別呢,ToB 是面向公司、企事業單位等而非我的,有錢、消費能力強,且願意消費,單子能夠作到很大,雖然量沒有 C 那麼大,可是蛋糕能夠作的很大,而且有一個很重要的特色是,當拿下了一個行業中的標杆時,會在這個行業迅速傳開而後呈滾雪球般發展,由於任何一家單位都不但願在本行業中落後於別的單位。

咱們所熟知的 ToB 的公司就是阿里雲,提供各類各樣的雲服務,其餘雲服務公司也基本相似,但 90% 以上都是服務端的服務,因此在這個時候,出現移動端基礎架構整套的解決方案。

目前主要有 mPaaS、EMAS、MobileLine、APICloud 以及各大 ISV 自主研發的解決方案。前三個都是大廠出品,質量有保障,都提供了移動端整套解決方案,使用這些解決方案時,只須要根據文檔步驟便可在短期內迅速搭建起具有大廠基礎架構的 App,想象一下,只須要幾個小時的時間,就能夠擁有大廠多年研發的協同開發框架、網絡、熱修復、埋點、性能、H5 離線包等等各方面技術的 SDK 組合起來的框架,直接省掉了大量的移動端基礎技術研發時間與人力。

因此將來會變成幾個大塊: 互聯網大廠基本都自主研發 銀行、鐵路、航空、公交、政府等國企或事業單位外包自主研發或選用大廠的解決方案 * 小公司開發小程序或自主研發輕量級 App

因此 ToB 的市場主要面向沒有自主開發能力但同時有足夠預算的單位,這些單位有作本身 App 的強需求,以前大部分都是找外包,而後搭配一點本身的研發人員,作出來的產品慘不忍睹,90% 以上還處於大廠 4~5 年前的水準,在當今這個時代已經逐漸被淘汰,若是處於非壟斷行業,會被淘汰的更迅速,若是選用已經成熟的解決方案,能夠迅速將自身 App 的能力達到一個很是高的水準,前面說的解決方案就是面向這批用戶。

多年之前這塊市場被外企和 ISV 所佔據,隨着大廠的解決方案橫空出世,必然會衝擊這個市場,將各大 App 的水平迅速提升,進一步惠及我等普通用戶。

作 ToB 的市場遠比 ToC 苦的多,須要一家一家談,一家一家啃,一家一家的去落地。ToC 在這個時代新作出來的產品很難創建起壁壘,由於別的公司大部分功能均可以模仿,而線下不一樣,線下的事情越難作,那麼創建起來的壁壘會越深厚,接觸的 ISV 多了,就會知道大部分開發者實際上是水平遠遠不夠的,在大廠裏待久了很容易會有大部分開發者水平會到一個基準線的錯覺,因此 ToB 的產品要足夠簡單易用且功能強大。

ToB 的服務分爲公有云和私有云: 公有云是指服務都部署在大廠的機房,全部數據和流量也會過去,這樣成本也比較低 私有云是指服務都部署在使用的單位本身的機房,能夠本身管控,數據也只在本身的機房,這樣成本較高

公有云是目前大廠提供的主流方式,但國企、事業單位會有嚴格的要求,必需要使用私有云,這個是mPaaS 解決方案比較大的優點,支持私有云,而且有不少落地方案,EMAS 也支持私有云,但沒有落地方案,其他則只有公有云解決方案,有沒有落地是一個產品成熟的重要標誌。

因此將來很大一部分低水平開發者會由於移動端總體解決方案的出現和推行而進一步被淘汰。

結語

後面會繼續介紹一個完整的客戶端基礎架構體系有哪些部分,並對每部分作簡析,歡迎拍磚。

Android高級進階技術思惟腦圖

這些技術熟練精通,國內任何一個城市均可以輕鬆拿40W以上。若是進阿里這種大廠,管理方面提高上去爬到P7,可突破年薪百萬以上

以上是騰訊T-3須要的系統學習資料,

若是如今有打算換工做,或者找工做的夥伴均可以點擊【Android高級工程師進階學習來領取免費資料!先到先得哦,不要錯過。
【Android高級工程師進階系統面試題】:下載連接

相關文章
相關標籤/搜索