“Android开发还有什么可以研究的?”
近半年来,很多人都问过我这样的问题。大家对于职业的未来,都有一些迷茫和焦虑,其实我也有,为什么会这样呢?
Android开发现状
经常听新进的小白问道,Android是不是饱和了?最近不管是在微信、QQ群,还是在各大博客网站,都随处听得到Android开发不景气的声音,而现在的大数据、人工智能的火爆程度,很大程度上对Android开发者不免有一定的影响,写这篇文章主要的目的是表达一下自己对目前Android开发的一点看法,仅仅是个人观点。
Google 2005年8月17就已经收购了Android,距今已经有10余载,纵观这10多年的发展可以说是天翻地覆。Android 全球已经超过10亿部,超过70%以上的市场份额,Android依然是Google的核心,这么大的用户数据是不可能放弃,只能越做越好。可能很多人会说会不会像以前的塞班系统?答案可以很肯定的告诉你不会,有一下几点原因:
1.塞班闭源,而Android开源
2.开源,很多公司都在深度定制系统
3.和10年前对比,现在的Android系统是越来越完善
4.有了塞班的示例,Google没那么傻会走相同的道路
5.Android丰富的学习资源、社区
6.假如没有Android,国内估计就没得小米等手机 。。。
行业形势
Android确实不是当年盛况,已经不再像前几年前那么火爆。一种语言如果经历过盛极一时,那么必然有这样的一条曲线,像我们学的正弦曲线先急速上升,然后到达顶点,然后再下降,最后再趋近一个平稳的值。那么这一两年就已经是在一个饱和值之间浮动,因此在这样的形式下,可能对于个人开发者相应的要求就要高一些。以前是只要你会Android四大组件的都是个香饽饽,那样的时代已经过去了,随着人机交互的体验要求,App的用户体验的要求、流畅度等等,已经不可同日而语。在这样的大环境下,那么对我们的Android开发工程师也是同样的改变。
在这样的情况下,由于饱和,随处都能招到初级的工程师,公司有了选择的余地,所以肯定会去选择更加优秀的,这就必然导致了我们经常说的,Android开发者已经烂大街了,其实不然,只是公司的要求变高,市场饱和,门槛变高而已。所以这就要求我们更加的精于技术,据我了解,中、高级的工程师还是很受欢迎的。
开发者们的焦虑
现在互联网行业,各大公司已经从争夺用户转为争夺用户时长。而小程序、快应用的崛起,也让许多 App 的增长达到瓶颈。所有人都在说,国内移动互联网的红利期已经过去。
另外一方面,今年移动端的技术变革也确实有点慢。大前端的概念虽然说了很久也很多,但React Native、PWA的效果依然不尽人意。去年“安利”完 Kotlin 之后,今年讲得比较多的还是 Flutter。遗憾的是这些都像蜻蜓点水一般,没有掀起多大的波澜。
这么看来,移动开发的前景不明朗,再加上竞争激烈以及技术变革放缓,我们这些开发者感到迷茫、焦虑就不难理解了。但这是不是就意味着从事移动开发是没有前途的呢?
我认为,移动开发是不局限于App开发的,比如 IoT、音视频、边缘计算、VR/AR,很多新的技术浪潮其实都可以融入到移动开发的体系里。
对我们开发者来说,一定要打好基础,随时准备战斗。不论寒冬是否到来,都要把自己的技术做精做深。
虽然目前移动端的招聘量确实变少了,但中高端的职位还是很多的,这说明行业只是变得成熟规范起来了。竞争越激烈,产品质量与留存就变得更加重要,我们进入了技术赋能业务的时代。
所以在这个时代下保持竞争力的核心是,你能不能成为Android开发高手?
和高手过招才是成为高手最快的方法!
Android高手都在研究学习的技术
今天以我的工作经验给大家总结一下,让你们少走弯路,提取一些工作中Android高手们经常用到的技术。
我的技术知识一般习惯用思维导图写,所以这里直接使用思维导图的方式给出。需要完整高清的思维导图及相关资料的伙伴们可以简信给我。
Android 基础部分
- Android 四大组件 生命周期
- View
- 常见View的解析
- 适配
- Android各个版本新特征
- 第三方库
Android进阶部分
- Gradle Tranform
- APT(AnnotationProcessorTool)Java编译时注解处理
- PMS/AMS/WMS
- DexClassLoader
- 性能优化
- 组件化技术
- linux/操作系统
Java 部分
- JVM
- 多线程/并发
- 容器集合
Flutter部分
- 高性能原理
- Flutter Widget知识
- 混合开发
设计模式
各个设计模式的UML图绘制
- 六大原则
- 常见设计模式UML图
数据结构/算法部分
结语
- 现在随着短视频,抖音,快手的流行NDK模块开发也显得越发重要,需要这块人才的企业也越来越多,随之学习这块的人也变多了,音视频的开发,往往是比较难的,而这个比较难的技术就是NDK里面的技术。
- 音视频/高清大图片/人工智能/直播/抖音等等这年与用户最紧密,与我们生活最相关的技术一直都在寻找最终的技术落地平台,以前是windows系统,而现在则是移动系统了,移动系统中又是以Android占比绝大部分为前提,所以AndroidNDK技术已经是我们必备技能了。
- 要学习好NDK,其中的关于C/C++,jni,Linux基础都是需要学习的,除此之外,音视频的编解码技术,流媒体协议,ffmpeg这些都是音视频开发必备技能,而且
- OpenCV/OpenGl/这些又是图像处理必备知识,下面这些我都是当年自己搜集的资料和做的一些图,因为当年我就感觉视频这块会是一个大的趋势。所以提前做了一些准备。现在拿出来分享给大家。
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门,即可获取!
4734609798)]
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门,即可获取!