前言
到今年2020年, 已经是Android推出后的第12个年头。随着各种跨平台技术解决方案和国内各大平台小程序的冲击,关于原生安卓开发已经凉凉或快要凉凉的声音越来越多。我作为一个有几年工作经验的安卓开发者在这里谈谈自己的看法。
安卓开发会凉凉
首先,给出结论。随着技术的不断更新,在时间的长河里,安卓平台必将步入老年,寿终正寝。这是一句废话, 所以我们应该讨论的是:在短期内,至少我们做技术的职业生涯中,安卓开发是否会走向终结,让我们失去工作,迫使我们换岗等影响我们对职业生涯的安排。 我给出的结论是:不会。下面就我这个观点拿出一些例子来说明。
不可替代的原生开发场景
我们知道,flutter、RN、uni-app等技术可以帮助我们跨平台。实现一次开发,多平台使用。 降低了移动原生开发的人力、时间、经济成本。使得原生开发人才需求降低了不少。 但是, 有着很多场景,这些跨平台技术是解决不了的。
硬件方面的开发
比如对硬件方面的开发或者调用。我上家公司是做金融支付的。我们的应用都是跑在各种不同类型的安卓系统智能终端上,其中涉及到对接各个设备厂商的提供的各种sdk,这些sdk提供的都是给安卓调用的。 跨平台技术没办法去做。 再者 有些跨平台技术可以通过调用原生方法等来做的, 试问没有一个懂安卓开发的,有几个H5前端能把整个调用过程调通。还有就是直接对硬件方面的深度开发了, 比如对摄像头、蓝牙、 还有一些设备有打印、NFC等。这些当然要安卓开发来做。
游戏sdk开发
前段时间换工作, 有不少岗位是招聘的游戏sdk开发。了解下来,就是游戏开发者会把整个游戏开发好并打包成安卓应用。 但是其中安卓应用需要调用的android sdk,一些第三方安卓第三方sdk 还得安卓开发人员来做。 比如 权限申请、登录、统计等。也就是涉及到安卓那一块的游戏开发人员是不会的, 还得移动端的开发人员来做。
老项目维护
有的公司一开始用的就是原生开发,比如我现在公司,项目都已经开发4、5年了。 要再去花时间、招人去改技术架构重写整个应用成本也是很高的。有很多公司不会去对旧项目这样改动。大多数还是招原生开发来维护。
所以, 安卓人才需求是减少了,但总体来说,岗位需求还是不少的。
大佬都不慌,你慌什么
外界这么多安卓凉凉的声音,但大佬们还是该做就做什么呀。 比如搞安卓教学的、大厂的工程师。 这些人开发经验、阅历都比我们大多数人丰富。他们没有考虑过这个问题吗? 肯定是有的。
大佬都慌,你慌什么。
技术一通百通
即使现在跨平台技术出现了, 比如flutter、我们要去转flutter上手也是很快的。 并且官方文档中, 对接口的说明等都是基于有移动开发基础来说的。 如果不懂安卓开发, flutter也没办法学。 所以来说,不必担忧以后原生开发凉凉。
那还要学习其他技术吗
我前面有段时间,被各种贩卖焦虑文洗脑。空余花了很多时间去学习Java相关的知识,准备公司内部转岗做java开发。后来离职后, 也没有找到一个合适后台岗位,主要是经验和薪资得不到一个匹配吧。在转岗过程中, 我学习了很多安卓之外的知识:Linux、Nginx、Docker、Mysql、Spring boot、Spring Cloud、Apache Dubbo、Maven、CI/CD。 这些东西都让我很满足,满足了我对后端开发的好奇,也满足了我为全栈开发迈出的第一步。 多学些东西,会让自己对整个系统了解多些,知识体系庞大些。 以后学新的东西也可以触类旁通。
安卓开发不会凉凉,但多学些东西总是好的。