大家都知道程序员之中有有菜鸟程序员和大神之分,这里我这暂时把android程序员分为几个层次:android初级程序员、android中级程序员、android高级程序员、android技术专家、CTO等等,不同的级别掌握的能力不一而定。更好的了解不同阶段程序员的进阶之路才能把握好自身提高的方向,有目标的提高才是最有效率的提高。
(一)android初级程序员
总结:能干活,有学习能力,能跟着团队成员做项目
技能:基础的组件的使用,熟悉Java基本的语法,Gson,xml数据解析,第三方框架的使用,熟悉android的常用API,熟悉网络框架或者API的使用,掌握数据库相关知识点,熟悉android的四大组件、生命周期,熟练掌握界面布局,了解android项目目录的组织架构等等
要求:初级程序员一般都是从电脑小白成长起来的,当然了也有可能是web或者是其他方面的大牛转换过来的,想要成为一个高逼格的初级android程序员需要多看多读多写多想,能够看懂他人的代码。能够知道问题大概需要什么方式,对android系统已经有了初步的认识等等。
(二)android中级程序员
总结:能够分析问题,能够解决问题
技能:了解android的签名机制(实现原理,具体操作等等),打包机制(多渠道打包,打包流程等等),了解apk安装文件压缩(压缩图片,代码压缩,.so文件压缩等等),事件分发,View绘制流程,webview相关知识点(与Native的交互,性能优化等),熟悉数据库的使用(基本API,第三方ORM框架,ORM框架的实现原理等等),java反射原理与简单实践等,activity的启动模式,activity,service,fragment,broadcastreceiver广播生命周期,屏幕适配,AIDL与messager的简单实用,自定义组件(自定义View与自定义ViewGroup),动画(补间动画,帧动画,属性动画),通知栏消息,版本新特性等等等等
要求:开始阅读android方面的而源码,不但能看懂别人的代码还需要能够修改别人源码,对android的体系结构,组成方式,常见开源社区,技术要点能够了然于胸。
(三)android高级程序员
总结:能够解决问题,能够发现问题
技能:手动编写框架,设计模式,代码规范,项目进度,时间估算,启动流程,性能优化,OOM,没存溢出与泄露,JNI,脚本开发,activity启动流程,android中的IPC机制(Binder原理),对iOS等其他移动开发现学现用等等
要求:能够造轮子,比如写一个网络框架,事件总线控件,特效View等,重点是能够为产品造轮子。
(四)android技术专家
总结:对某一方面非常精通与专注
技能:比如对android的对媒体模块十分熟悉,阅读过android多媒体模块的源码,能够更改其中的不足与BUG等等
要求:熟读android源码,对android的某一模块有自身的看法并能够有相应的修改能力,能够知道团队他人的日常产品开发等。
(五)CTO
总结:似乎已不再是程序员的范畴
技能:专注技术大的方向的把控
给大家分享一个Android程序员进阶的学习路线及一些架构资料!
(图片看不清的话,可以通过文末写的方式领取高清大图)
Android前沿技术
App开发框架知识体系(APP亦对象)
Java语言进阶与Android相关技术内核
Android App全方位性能调优
微信小程序与Hybrid混合开发
高级进阶必备篇
针对上面的技术我特意整理了一些Android技术资料,有Flutter,Gradle,Rxjava,小程序,Hybrid,移动架构,NDK,混合式开发(ReactNative+Weex),高级UI,性能优化等技术资料。有需要的朋友可以找我免费领取!
领取方式:转发+转发+关注+私信【资料】即可领取(一定要私信【资料】)!