腾讯开发10年大佬:移动端开发现状与发展浅析!给你一个职业规划的方向

649 阅读6分钟

作者:mingyu ye

原文链接:https://zhuanlan.zhihu.com/p/46030559

前言

之前负责移动端基础架构相关的工作,并做了一段时间 ToB 的移动技术框架输出,所以对移动端的现状以及移动端开发这个行业有一定了解,与大家分享下。

移动端开发时代已结束?

过去两年里,移动端开发一直在被唱衰,Objective-C 的语言热门度逐年下降,可参见 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 做成一个航空母舰,承载所有的业务,成为操作系统之上的操作系统。

从这三个时期的发展可以看出,对移动端开发人员水平的要求是不断变高,开发人员必须要掌握一定的底层技术,熟悉基础架构等,只甘心浮于表面的开发人员必然会被时代所抛弃。


后面会继续介绍一个完整的客户端基础架构体系有哪些部分,并对每部分做简析,欢迎拍砖。

Android高级进阶技术思维脑图

这些技术熟练精通,国内任何一个城市都可以轻松拿40W以上。如果进腾讯这种大厂,管理方面提升上去爬到T3,可突破年薪百万以上

                                                           



以上是腾讯T3需要的系统学习资料,

如果现在有打算换工作,或者找工作的伙伴都可以点击我的Github来领取免费资料!先到先得哦,不要错过。