“现在学习Android开发还有前景吗?”
“Android开发还有什么可以研究的?”
近些年,移动开发市场看似并不乐观,小程序、快应用的崛起,让许多App的增长达到瓶颈,尤其是Android开发。
既然红利期已过,就更需要精炼的技术作为支撑,像现在的中高级招聘要求,除开学历要求、Android基础之外,把JNI/NDK/Framework,甚至JS、Server端开发也作为了提升点,是全栈方向的雏形。
其实,安卓开发的从业者会发现,各大公司中高端职位有明显增加,这也意味着安卓开发已进入技术赋能业务时代,所以增强个人的竞争实力,也就是Android开发能力很有必要。
我之前被朋友拉到了一个Android中高阶技术交流群,群里有很多大神时不时会在群里交流开发经验,并且还会有很多实用的总结经验,我全部都下载私藏了,拿着资料还能听大神培训,爽爆了,我也推荐给大家,有需要的自取。
因为我本身就是本科院校出生,从事Android开发今年就3年了,在群里通过大神的培训和资料,顺利的让自己的级别和薪资都有上升。
所以,也来和大家总结一下,Android开发人员的发展方向。
****第一:横向提升****
基于全栈发展的趋势,在自己擅长领域深入钻研的同时,横向扩展,不要关起门闭门造车。
而这里说的横向提升就是向前端转型,在除了要在APP会hybrid开发(web、native、前端交互、硬件交互)之外,还要会web开发,微信小程序,H5。
比如服务端开发,我们做Android开发很多时候,要依赖于服务端接口返回数据,可以自己试着搭建一下,至少要对服务端的结构理论、服务于服务之间通信、聚合是什么样的流程也是需要有所耳闻。
****第二:纵向重塑****
一直以来,做Android开发有这么两个说法,如果是做应用开发,往应用架构方向发展比较合适;如果是做系统层开发,往往底层驱动比较合适。
那具体应该学习什么呢?
1、 移动架构
架构展示层—MVC、MVP、MVVM、Clean、Flux、Android Architecture Components;
架构层—模块化->组件化->插件化->沙盒/双开技术,比如可以双开微信,类似Docker,每个页面都是插件,类似Vue.js中每个页面都是组件。
2、 基础进阶
这个方向可能比较多,比如VIEW、Android动画机制、四大组件工作原理、多媒体技术等等。
我们平常在工作中碰到的View滑动冲突问题,其实通过掌握View工作机制和Android触摸时间体系就能轻易解决掉。
还有对于需要开发绚丽的动画效果,那么对于视图动画和属性动画一些特性必须有一定的了解。
Android中的四大组件工作机制其实底层应用的是Binder机制,我们不妨送AIdL这个接口来了解Binder。
JNI和NDK开发也是比较常见的,特别对于一些做NDK项目为主的,这一块开发流程也是需要掌握。
NDK开发也是佣人单位区分应聘者的手段之一,企业不一定要用到,但是可以通过是否掌握NDK来筛选人才。
3、 语言学习开发语言
这里要纠正一下学习语言不是跨行业,比如Kotlin可以说是Android世界的头等公民了,再有时下比较火的Python和GO,另外做底层C/C+++是必不可少的。
1、 源码
要求能看懂并且能够熟悉源码(自己选几个第三方库的也可以),要做到熟悉源码及其实现原理,并且要能做到自己二次封装(或自己贡献三方库)三方库。
这样一来,你就会在维护中慢慢成为这个技术块的专家了,我觉得输出倒比输入是一个不错的学习方式。
其实,学习的方向还有很多,这里就不一 一给大家罗列了,因为不同项目需要学习的进阶的技能都不一样,如果说想要360度全发展的话,那肯定是要进行正规、系统的培训。另外文中所有资料都是免费分享给大家的,可以点此处直达免费领取方式。
更多Android架构相关资料分享可点此处。
网友评论