欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android进阶学习:移动端开发重点学习的十点,不能再得过且过的写业务代码了

程序员文章站 2022-03-13 21:19:43
最近有朋友问我:“安卓开发是不是没人要了,除了画 UI 别的都不会怎么办?”考虑到这可能是很多人共同的疑问,决定简单写一下。说了很多遍了,不是安卓开发没人要了,是初级安卓没人要了。现在还在大量招聘移动端开发的,基本是大厂的明星应用或者是创新业务。大厂校招生那么多,画界面的工作基本上校招生都能胜任,那社招当然要求会更高些。安卓开发,甚至包括 iOS 开发,除了 iveg(if visible else gone),还有很多点值得学习的点。这里我结合一些移动端金字塔顶端职位(技术经理、架构......

Android进阶学习:移动端开发重点学习的十点,不能再得过且过的写业务代码了

Android进阶学习:移动端开发重点学习的十点,不能再得过且过的写业务代码了

最近有朋友问我:“安卓开发是不是没人要了,除了画 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 知识点汇总

  • JVM
  • static
  • final
  • String、StringBuffer、StringBuilder
  • 异常处理
  • 内部类
  • 多态
  • 抽象和接口
  • 集合框架
  • 反射
  • 单例
  • 线程
  • volatile
  • synchronized
  • Lock
  • 引用类型
  • 动态代理
  • 元注解

 

Android进阶学习:移动端开发重点学习的十点,不能再得过且过的写业务代码了

Android 知识点汇总

  • Activity
  • Fragment
  • Service
  • BroadcastReceiver
  • ContentProvider
  • View
  • 进程
  • Parcelable 接口
  • IPC
  • Window / WindowManager
  • Bitmap
  • 屏幕适配
  • Context
  • SharedPreferences
  • 消息机制
  • 线程异步
  • RecyclerView 优化
  • Webview

 

Android进阶学习:移动端开发重点学习的十点,不能再得过且过的写业务代码了

Android 扩展知识点

  • ART
  • Apk 包体优化
  • Hook
  • Proguard
  • 架构
  • Jetpack
  • NDK 开发
  • 计算机网络基础
  • 类加载器

 

Android进阶学习:移动端开发重点学习的十点,不能再得过且过的写业务代码了

看五年想三年,认真做好一两年。与其临渊羡鱼,不如退而结网,努力掌握这些点吧,奥利给!

目前我们要做的就是选好自己细分领域深入研究,对基础原理性内容深入理解,尽快向高级水平靠近并达到。当然也要了解新技术,拥有开放的心态去学习一些新技术,不要一开始出来一个新技术就转入学习,这样会导致啥都会一点啥都不会,当然新技术是有一个发展过程的,不会立马流行和大量应用等它稍微成熟点。

这样你会少踩很多坑,也不要排斥它,完全不去理会和了解学习,正确的方式是简单了解这个技术产生是为了解决什么问题,有什么优缺点已经目前发展成熟度和应用范围,我们还是要多抓住技术的本质和基础,这样出现了新技术学起来也会很轻松,当然机会合适了再去学习它。 所以,找准自己的定位及细分领域。

自己去制定系统的一个学习计划可能是比较难的,所以文章最后我给大家准备了一份系统的学习思维导图,还有相关的学习资源,这些资料也都是我开发这么多年一点一点的累积整理出来的,今天完全无偿的分享给大家就是想今年寒冬我们程序员能好过一点,希望大家都能工作顺利,事业有成。

Android进阶学习:移动端开发重点学习的十点,不能再得过且过的写业务代码了

 

首先是超级详细得不能再详细的Android开发学习思维导图,因为图片实在是太大了,所以我就只把二级目录的内容放出来,更加详细的你们可以文末获取

Android进阶学习:移动端开发重点学习的十点,不能再得过且过的写业务代码了

 

然后再是通过源码来系统性地学习

只要是程序员,不管是Java还是Android,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。

真正最能锻炼能力的便是直接去阅读源码,不仅限于阅读各大系统源码,还包括各种优秀的开源库。

 

Android进阶学习:移动端开发重点学习的十点,不能再得过且过的写业务代码了

《486页超全面Android开发相关源码精编解析》

以上内容均放在了开源项目:github 中已收录,大家可以自行获取。

本文地址:https://blog.csdn.net/weixin_44339238/article/details/111996088