Android开发者该如何提升自己?
我有两点建议:
1、横向发展:(适合有自己专精技术的人)
在自己擅长领域深入钻研的同时,会Hybrid开发(Flutter,RN,H5)之外,还要会web开发、微信小程序。但是,这确实比较难,全栈容易发展成全菜,啥都知道,啥都不精。
2、纵向发展:(适合大多数人)
如果做应用开发,就往应用架构方向发展;如果做系统层开发,就钻研底层驱动。
可以从以下这些方面进行学习:
移动架构:
架构展示层:MVC、MVP、MVVM、Android Architecture Components;
架构层:模块化->组件化->插件化->沙盒/双开技术;
基础进阶:
比如高级自定义View、Android Framework层原理, App 管理机制等等;
JNI 和 NDK 开发也是比较常见,5G来了,招聘单位都在给自己公司规划小视频功能,然而我们却连NDK都不懂;
学习开发语言:
比如Kotlin,做底层C/C++是必不可少的,还有一个最容易忽略的 Java语言本身的高级面向对象思想;
源码:
看懂并且熟悉源码,熟悉其实现原理,争取做到能自己二次封装三方库。
学习方向很容易规划,但是如果只通过碎片化的学习,对自己的提升是很慢的。比如可以助力app百倍的热修复技术,近年来得到了飞速发展,尤其是在Instant Run方案推出后,各种热修复技术百花齐放,各大厂商纷纷推出了自己的热修复技术,像微信,QQ,支付宝,手淘,饿了么/美团等等。但是市场上深入系统的讲解热修复技术细节的博客和书籍几乎没有,即使有很多开源的热修复方案,也很难全面快速地理解热修复技术的难点和关键点。
还有一个提升方法:搭建自己的知识学习框架,我们在刚开始学习安卓的时候,如果没有注重搭建知识框架的话,学到后期的话你就会遇到一个问题,就是会感觉到自己之前学习的知识很乱,不成系统,再加上越往后自己学习的知识会越来越多,而之前的学习又是零散的自己没有整理的,你就会感觉自己所掌握的这些知识是散乱的。
知识框架就像一座房屋的整体架构,大致模型如此,然后按照这个模型去添砖加瓦,至于最后出来的效果如何,就看你如何添砖加瓦了,以后如何装修了,但是无论怎样,这个整体架构必须有的,它是一个前提。
可以在最开始的时候先搭建一个大概的框架,不需要太详细,一个大概的思路方向就可以了,比如:
有了一个学习的方向,之后的学习就不会是迷茫散乱没效果的,所以在刚开始自学安卓的时候一定要先搭建知识框架!(这个框架是我一路学习自己搭建的,需要更加详细完整高清的大纲文末有领取方式~)
那么我们该怎么去搭建这个知识框架呢?
- 第一种:看视频教程来搭建知识框架
- 第二种:搜索相关知识或路径,自我组织知识框架
总结
最后小编想说:不论以后选择什么方向发展,目前重要的是把Android方面的技术学好,毕竟其实对于程序员来说,要学习的知识内容、技术有太多太多,要想不被环境淘汰就只有不断提升自己,从来都是我们去适应环境,而不是环境来适应我们!
这里附上我整理的几十套腾讯、字节跳动,京东,小米,头条、阿里、美团等公司19年的Android面试题。把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节。
由于篇幅有限,这里以图片的形式给大家展示一小部分。
网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。
技术进阶之路很漫长,一起共勉吧~
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门,即可免费领取!
题+项目实战源码》,点击传送门,即可免费领取!**