目前安卓开发可以采用两种开发语言,一个是Java,另一个是kotlin,目前大部分Android开发人员都在采用Java语言,但是从Google的态度来看,也许未来kotlin的发展前景会不错,原因自然离不开与Oracle喋喋不休的官司。
对于安卓程序员来说,相比于转向Java后端开发来说,转向前端开发也许更适合,原因有以下几点:
第一:安卓开发本质上也是前端开发。目前不少团队已经把安卓程序员和iOS程序员并入到前端团队,从反馈的效果来看还是不错的。安卓程序员与前端程序员在工作方式上有很多相同点,学习前端知识能进一步丰富自身的知识结构,同时会明显提升自己的职场竞争力。
第二:安卓开发的知识结构可以向前端开发迁移。前端开发需要学习Html5、CSS和JavaScript,其中JavaScript是学习的重点,而安卓程序员自身的编程经验是可以向JavaScript迁移的,这会明显降低学习的时间成本。目前在安卓开发的过程中也会涉及到一些前端的开发内容,所以这个转换并不会有较大的不适。
第三:前端开发前景不错。目前随着node.js的应用,JavaScript正在从传统的前端走向后端,未来JavaScript程序员完全可以做全栈程序员。另外,JavaScript在嵌入式领域也有广泛的使用,所以前端开发未来的发展空间还是非常广阔的。
其实对于安卓程序员来说,转向后端开发也是一个选择,但是转向后端开发需要具备一定的基础,否则很难在后端开发岗位上有所突破。如果想在后端开发的道路上走的更远,一方面要具备扎实的数学基础,另一方面要系统的学习一下操作系统体系结构,这些都是后端程序员必须掌握的内容。
由于Oracle对于Java语言设置了清晰的商业化路线,所以未来Java的发展现在看来并不十分明朗,毕竟Java语言经过了多次版本迭代,语言自身也比较重,这也是为什么在大数据领域,Python正在边缘化Java的原因。
如果要转后端,也许Go是一个不错的选择。
作者简介:中国科学院大学计算机专业研究生导师,从事IT行业多年,研究方向包括动态软件体系结构、大数据、人工智能相关领域,有多年的一线研发经验。
欢迎关注作者,欢迎咨询计算机相关问题。
实话说,做后台你所能掌握的信息比搞app时有价值的多,而且后者是直接面向用户的,你的工作成果将第一时间经受用户的考验,换句话说,前端开发者很多时候是替罪羊,不论其他部门给你挖下多大的坑,用户只会认为是你的过失,加班最多的也常是搞前端和app的;后台则不然,虽然这需要你有着很好的功底,但是在做出成品之后,它的维护周期会比较长,一般不会进行较大的变动,并且用户对它的变动也没有那么敏感。另外,做后台的话你需要兼顾很多方面的因素,这样你对项目的整体认识会提升一个档次。
所以说,如果你想拥有更深入的发展,接近项目核心,转后台是一个不错的选择,搞后台是一个难精的工作,由于很多企业对其重要性的认识不足,以为能用就行,使得出色的后端工程师在国内仍然较为稀缺。你已经做过app开发,要是再能在后台上积累一些经验,以后就容易往全栈或是架构师的方向发展,祝你好运。
如果从安卓转后端,这个转变比较大的,等于重新变更技术路径,不亚于从.net平台转到java平台,主要安卓开发基本属于前端,而Java开发的后台技术部分现在深厚的技术栈,不错的技术背景给后来者设置了不少的障碍,我建议与其转向后台,不如深入安卓的体系结构,做些深入的学习,其后在学习js的前端多下些功夫,或在linux上花些功夫,现在linux在商业领域尤其平板一块需求还是很旺盛的,提升一下前端设计的理论和系统体系的深度,更有竞争力,java后台开发热闹的很,但是人也多啊。赤裸裸的红海,高薪技能要求高,工作竞争大,压力大,有后台崩了跳楼的,你看有前端闪退跳楼吗?只要前端永远都有拿出一流的设计开发产品,那就很有竞争力。
即便将来安卓平台失宠,也可以用linux系统开发技能或者js开发技能临时混口饭吃,都是问题不大的。
已现在的市场需求来看,Android供需已经趋于稳定,且已持续一段时间了,不是说Android已经被淘汰,而是像iOS一样趋于缺乏中高级人才。建议多扩展些其他语言或方向,网络协议,架构等,足够的技术支持,相信您一定能技术,事业等多方面发展顺畅!