中庸的回答一定是各有优劣。我们先深入分析下两个方向,再来下结论。
先理一下这两个概念。android方向自然是移动端开发。web方向,这个用词不太准确。可能用服务器端开发更准确。
1、从需求量来说,肯定是服务器端多。
需求量多的原因自然是服务器方向的应用场景多。这个应该很好理解吧。服务器端,方方面面,各行各业的信息系统或Web系统都可以用Java来做。当然有些专业领域Java并不擅长,比如偏底层和算法。但是目前已知的众多商业场景都能看到Java的身影,从银行到教育,从网站到ERP。
而安卓以移动端APP为主,开发的是给直接用户使用的客户端。这个客户端访问的服务器端,很可能还是用Java开发的服务器端应用。虽然已经进入移动互联网时代了,但是还是会有大量软件没有或不需要移动端。或者移动端比较弱。比如很多专业性很强的应用。当然了,还有一些零散的智能设备现在也在使用安卓,比如智能电视。
2、从难易程度看,也是服务器端难;
安卓本质上就是客户端技术,简单的说就是界面技术,某种意义上也算另外一种前端人员。当然安卓往深层做也不简单,比如ROM定制之类会涉及到很多操作系统的知识。不过这里既然讨论的是Java的安卓方向,那么我们可以假设范围是在用开发移动端应用。
服务器端开发的基本面就会涉及到更广的知识领域。除了Java语法知识,还有各种开源框架、数据库知识及数据库的安装与使用、简单算法和数据结构知识、会玩一点服务器软件比如tomcat、也可能还需要会一点操作系统比如Linux的使用知识等等。
3、从就业机会上讲,安卓方向相对势弱,服务器端长期处于稳定需求中。
在移动互联网刚兴起的那两年,安卓开发属于求大于供,现在市场早已饱和。且因为服务器端的市场更大,所以哪怕服务器端市场也是饱和的,但是其基数大得多,那么就业机会也会更大。
再一个,移动端应用开发还有一个流派就是混合式开发。就是用一个移动端的原生壳,套上纯前端代码(html、css、js)来开发很多交互性不是那么强(游戏app算强、新闻类app算弱)的应用。因为混合式开发有跨平台性,也就是一次开发,安卓和苹果都能用。所以在不少场景下会选择这种开发方式。这又抢占了一部分安卓开发人员的市场。
现在移动端的形态越来越多样,安卓、苹果、微信小程序、百度小程序、支付宝小程序、头条小程序,以后还有会鸿蒙APP。所以混合式开发一定会长期存在,且不断优化。这确实会压缩安卓开发人员的存在空间。
4、从待遇上讲,安卓已经过了最好的时候,服务器端一直比较稳定。
曾经安卓求大于供的那两年,同等能力的安卓薪资会高于做服务器端的Java开发。现在安卓已是买方市场,安卓程序员没有那么高的议价能力了。虽然混合式开发的增加,安卓程序员的薪资不说下降吧,往上去的趋势肯定是没有的了。
服务器端的收入在可见的未来肯定是比较稳定的,波动不会太大,理论上会缓慢上涨。毕竟需求一直在那下不去,物价再涨你不涨说不过去啊。
5、从发展前景讲,服务器端更广。
就前面的论述可以看到,服务器端开发对程序员的综合能力要求更高。且在一个项目中,从偏前端的人和做后端的人中选一个项目经理的话,一般都会优先考虑后端。一个是后端人员本身综合能力要求更高,一个是后端人员本来要对接的其他角色更多对项目的理解比做安卓的人更深。
综上,服务器端(也即是Web方向)稳定可期,安卓端相对需求量少但肯定会长期存在。