前言
现在的市场对高级开发者有着比较大的需求,初学者的需求已经很小,很多企业对Android岗位的需求慢慢回归理性,不再有前几年饥不择食的情况出现;Android开发高手说白了就是有极强的解决问题的能力,能快速地进行开发工作;怎样朝着这个方向努力呢?接下来我会结合自身的经验以及当下市场的需求情况,来简单讲一讲对Android开发者进阶方向的一些建议
深入前端
由于当下全栈发展的趋势,大家可以先在比较擅长的领域继续专研、继续学习,切勿闭门造车;向全前端转型也需要具备很多知识,hybrid开发(web、native、前端交互、硬件交互)以及web开发,微信小程序,H5等等
很多的基础原理是共通的,所以知识的转化利用并不难,例如:服务端开发,大家在参与Android开发项目的时候,是要倚靠服务端接口返回数据的,那大家就完全可以尝试着构建一下,这也要求大家对服务端的结构理论、服务与服务之间通信、聚合流程有比较清晰的认识。
架构开发
根据经验,做Android应用开发的程序员在选择进修方向的时候,向应用架构方向发展是比较有优势的,做系统层开发的程序员向底层驱动发展有比较大的优势;参考了网上的一些说法,我认为具体学习的内容有下面四个方向
移动架构方向
架构展示层: MVC、MVP、MVVM、Clean、Flux、Android Architecture Components;架构层:模块化->组件化->插件化->沙盒/双开技术,比如双开微信的功能设计,类似Docker, 每个页面都是插件,类似Vue.js中每个页面都是组件
基础进阶方向
这个方向涵盖的东西就比较广泛,例如VIEW、Android动画机制、四大组件工作原理、多媒体技术等等;大家有时候在工作中遇到的View滑动冲突问题,实际上通过了解View工作机制和Android触摸事件的体系就可以比较容易的解决。还有对于需要开发绚丽的动画效果,那么对于视图动画和属性动画一些特性必须有一定的了解
Android 中的四大组件工作机制其实底层应用的是Binder机制,我们不妨从 AIDL 这个接口来了解 Binder;JNI 和 NDK 开发也算比较常见的进阶方向,尤其是对一些以做 SDK 项目为主的程序员,它们同样需要掌握开发流程,NDK开发也同样是招聘部门划分应聘者的手段之一,企业不一定会用到,但同样使用这一方法来判断应聘者有没有掌握NDK,进而挑选人员
语言学习开发语言
学习语言算是同行业深入学习,例如Kotlin已经是Android市场的香饽饽了,前景很是可观。然后是当下也很火爆的Python跟GO
源码
前期学习的基本要求就是能看懂而且对源码比较熟悉。后面需要做到对源码很了解而且可以实现其原理,自己也能够做到二次封装,或自己提供三方库。慢慢地深入学习和精进,你就可以在维护中逐步成为这个领域的高端人才
其实学习的方向还有很多
在我学习的过程中,最开始是在网上找了很多资料,毕竟这些资料是我们开始最快速的学习方法,这里我放上我这些年在网上收集到的学习文档,然后再以我的工作经验给大家总结一下,让你们少走些弯路,提取一些目前互联网公司最主流的Android开发架构技术,希望能帮助到大家
我这里有一份Android中高级进阶的知识点大纲,里面涉及到的都是现在市场主流技术,大家可以参考针对自己的实际情况进行学习
如果需要这份《Android中高级进阶的知识点大纲》+面试文档+技能图谱
可以直接点击 “此处” 即可 免费获取
Android中高级进阶的知识点大纲图:
Framework学习大纲:
Framework资料目录
面试试题:
获取方式: 点击 “此处” 即可 免费获取
学如逆水行舟,不进则退。 程序员,是一个不断自我学习,自我进步的过程,需要一直坚持学习,学习新知识,方能不被技术所淘汰
不忘初心,坚持到底
技术是我们的根本,这个一定不能放弃,即使已经做到了管理层,也请尽可能多的接触代码
Android 架构师之路还很漫长,与君共勉
PS:有问题欢迎指正,可以在评论区留下你的建议和感受;
欢迎大家点赞评论,觉得内容可以的话,可以转发分享一下
网友评论