最近有朋友问我:“安卓开发是不是没人要了,除了画 UI 别的都不会怎么办?”
考虑到这可能是很多人共同的疑问,决定简单写一下。
说了很多遍了,不是安卓开发没人要了,是初级安卓没人要了。现在还在大量 *** 移动端开发的,基本是大厂的明星应用或者是创新业务。大厂校招生那么多,画界面的工作基本上校招生都能胜任,那社招当然要求会更高些。
安卓开发,甚至包括 iOS 开发,除了 iveg(if visible else gone),还有很多点值得学习的点。
这里我结合一些移动端金字塔顶端职位(技术经理、架构师、负责人)的要求,整理出值得我们重点学习的十点。
首先来看下这些职位的要求:
高级安卓开发
了解常见的APP性能优化解决方案,对至少一个维度的性能优化有过较深入的挖掘熟悉 JNI 以及 NDK 相关的技能,熟悉 C/C++对业务开发的痛点有深度理解,了解常见开发框架的优缺点和适用场景动态化相关技术框架的探索和完善,熟悉Flutter、Reactive Native、以及其它客户端动态化开发框架者优先;熟练使用Kotlin、Flutter开发者优先安卓架构师
负责客户端架构设计及组件化构建;参与研发流程优化和基础平台搭建。优化 Android 团队的开发方式和流程、规范,提高团队效率主导过至少一个知名 Android APP 的架构计算机基础扎实,熟悉常见数据结构、算法和设计模式,熟悉数据库开发有IM架构经验者优先安卓技术经理
对稳定性和性能有超乎寻常的关注,能够编写自动化测试代码有iOS、Web前端或Web后端经验优先有知名开源作品优先,熟悉flutter/reactnative/js/bash/python/ruby等语言和相关框架优秀的沟通及表达能力,规划组织能力,能带领团队规划和实现产品、技术需求移动端负责人
理解业务,将业务目标转化为团队的工作成果5年以上移动端开发经验,3年以上团队管理经验;负责过百万日活以上用户规模或者较高复杂度App的 完整开发 过程善于带领团队,能够充分调动成员的积极性,能培养成员的能力优秀的跨团队沟通能力,善于项目管理,能够将技术的价值更大化有C++、JNI等基础技术能力加分,有web前端技术能力加分手动水印,文章来自张拭心的博客要求很多,有一些是日常工作就能涉及到的,其余的就需要自己额外多投入精力了。
接着看下,从这些繁杂的要求里提炼出的 10 个关键点:
关键点
1.稳定性和性能优化,至少深入一个点2.可移植开发(JNI NDK C++)3.框架优缺点、场景4.动态化,RN Flutter,其他方案5.客户端架构设计6.组件化构建7.研发流程优化8.基础平台搭建9.其他端经验10.跨团队沟通能力、规划组织能力、团队管理经验、调动成员的积极性、培养成员
出了上面这些还有一些Android相关的核心技术知识点也是需要掌握的:
JAVA 知识点汇总
JVMstaticfinalString、StringBuffer、StringBuilder异常处理内部类多态抽象和接口***框架反射单例线程volatilesynchronizedLock引用类型动态 *** 元注解Android 知识点汇总
ActivityFragmentServiceBroadcastReceiverContentProviderView进程Parcelable 接口IPCWindow / WindowManagerBitmap屏幕适配ContextSharedPreferences消息机制线程异步RecyclerView 优化WebviewAndroid 扩展知识点
ARTApk 包体优化HookProguard架构JetpackNDK 开发计算机 *** 基础类加载器看五年想三年,认真做好一两年。与其临渊羡鱼,不如退而结网,努力掌握这些点吧,奥利给!
目前我们要做的就是选好自己细分领域深入研究,对基础原理性内容深入理解,尽快向高级水平靠近并达到。当然也要了解新技术,拥有开放的心态去学习一些新技术,不要一开始出来一个新技术就转入学习,这样会导致啥都会一点啥都不会,当然新技术是有一个发展过程的,不会立马流行和大量应用等它稍微成熟点。
这样你会少踩很多坑,也不要排斥它,完全不去理会和了解学习,正确的方式是简单了解这个技术产生是为了解决什么问题,有什么优缺点已经目前发展成熟度和应用范围,我们还是要多抓住技术的本质和基础,这样出现了新技术学起来也会很轻松,当然机会合适了再去学习它。 所以,找准自己的定位及细分领域。
自己去制定系统的一个学习计划可能是比较难的,所以文章最后我给大家准备了一份系统的学习思维导图,还有相关的学习资源,这些资料也都是我开发这么多年一点一点的累积整理出来的,今天完全无偿的分享给大家就是想今年寒冬我们程序员能好过一点,希望大家都能工作顺利,事业有成。
首先是超级详细得不能再详细的Android开发学习思维导图,因为图片实在是太大了,所以我就只把二级目录的内容放出来,更加详细的你们可以主页扫微信二维码获取。
然后再是通过源码来系统性地学习
只要是程序员,不管是Java还是Android,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。
真正最能锻炼能力的便是直接去阅读源码,不仅限于阅读各大系统源码,还包括各种优秀的开源库。
《486页超全面Android开发相关源码精编解析》
以上文章中的资料,均可以免费分享给大家来学习,
资料太多,全部展示会影响篇幅,暂时就先列举这些部分截图;
需要的朋友,直接转发+点赞+私信回复【资料】一键领取!!!