安卓怎么才算高级,这几点我建议你一定要掌握

移动开发 Android
目前Android市场上初中级的工资6K到18K不等,高级大概在20K-35K,很多朋友初中级开发者卡在20K这个门槛始终迈不过去,想要学习又不知道该怎么着手,大多从做上层应用开始,到做 Framework 层就浅尝辄止。

安卓开发已经凉了吗?

[[277440]]

这两年有很多人问过我类似的问题,在大方向讲,任何一个行业都有有一个成长周期,安卓经历了2011-13年的野蛮生长后,已经进入了成熟期,这个阶段绝大部分企业对Android岗位的需求回归“理性”,不是懂一点Android基础就能找到工作的年代,这时候再从0起步可能比较晚,但Android市场却普遍缺乏高级人才。

目前Android市场上初中级的工资6K到18K不等,高级大概在20K-35K,很多朋友初中级开发者卡在20K这个门槛始终迈不过去,想要学习又不知道该怎么着手,大多从做上层应用开始,到做 Framework 层就浅尝辄止。

这里我找来一则高级Android开发的招聘要求:

安卓怎么才算高级,这几点我建议你一定要掌握

这是小米在拉勾上的招聘要求,相当于p6级别,除开学历的要求外,我们可以看到它在Android基础要求之外,把JNI/NDK/Framework,甚至JS、Server端开发也作为了提升点,是全栈方向的雏形。我觉得大家可以经常在招聘网站里看看现在的企业需要什么技术,当然也不能把企业要求的都学了。我这里大致总结了一下,Android开发人员的发展方向:

第一,横向提升。

基于全栈发展的趋势,在自己擅长领域深入专研的同时横向扩展,不要关起门来闭门造车。而这里说的横向提升就是向全前端转型,在除了要在APP会hybrid开发(web、native、前端交互、硬件交互)之外,还要会web开发,微信小程序,H5。

比如服务端开发,我们做Android开发很多时候,要依赖于服务端接口返回数据,可以自己试着搭建一下,至少要对服务端的结构理论、服务与服务之间通信、聚合是什么样的流程也是需要有所耳闻。

第二,纵向重塑

一直以来,做Android开发有这么两个说法,如果是做应用开发,往应用架构方向发展比较合适,如果是做系统层开发,往往底层驱动比较合适。这里我是比较赞同的,那具体应该学习什么呢?

1.移动架构:架构展示层: MVC、MVP、MVVM、Clean、Flux、Android Architecture Components;架构层:模块化->组件化->插件化->沙盒/双开技术,比如可以双开微信,类似Docker, 每个页面都是插件,类似Vue.js中每个页面都是组件。

2.基础进阶:这个方向可能比较多,比如VIEW、Android动画机制、四大组件工作原理、多媒体技术等等。我们平常在工作中碰到的View滑动冲突问题、其实通过掌握View工作机制和Android触摸事件体系就能轻易解决掉。还有对于需要开发绚丽的动画效果,那么对于视图动画和属性动画一些特性必须有一定的了解。Android 中的四大组件工作机制其实底层应用的是Binder机制,我们不妨从 AIDL 这个接口来了解 Binder。

安卓怎么才算高级,这几点我建议你一定要掌握

JNI 和 NDK 开发也是比较常见,特别对于一些做 SDK 项目为主的,这一块开发流程也是需要掌握,NDK开发(含JNI)也是用人单位区分应聘者的手段之一,企业不一定要用到,但是可以通过是否掌握NDK来筛选人才。

安卓怎么才算高级,这几点我建议你一定要掌握

3.语言学习开发语言:这里我要纠正一下学习语言不是跨行业,比如Kotlin可以说是Android世界的头等公民了。再有时下比较火的Python和GO,另外做底层C/C++是必不可少的。

4.源码:要求能看懂并且熟悉源码(自己选几个第三方库的也可以),要做到熟悉源码及其实现原理。并且要做到能自己二次封装(或自己贡献三方库)三方库。这样一来,你就会在维护中慢慢成为这个技术块的专家了。我觉得输出倒逼输入是一个不错的学习方式。

5.如何提高开发效率?

工欲善其事必先利其器,如何提高开发效率,很多开发者在开发中由于gradle不会用导致加载代码非常耗时,这些都是你的工作成本的浪费。还有就是git的使用也可以帮助我们管理好我们的代码,这个非常关键,因为这个工具可以让我们修改的代码不会因为错误操作而导致丢失。另外,对移动开发者我们至少需要知道如何抓取网络包。其中,最常用的stetho就是一个非常好用的可以抓取网络包的工具

6.混合开发

混合开发的flutter现在已经逐渐成了主流的混合开发框架,另外由于阿里系的强大存在,导致阿里系的公司都在用Weex混合架构,这些都是一个Android工程师开拓视野,走向未来必不可少的基本技能的。

Flutter学习思维导图:

安卓怎么才算高级,这几点我建议你一定要掌握

其实学习的方向还有很多,这里就不给大家一一罗列了,因为不同行业不同项目需要学习进阶的技能都不一样,可以说360度发展。

这里放上一份详细的Android高阶开发学习的进阶大纲给大家参考下学习方向:

安卓怎么才算高级,这几点我建议你一定要掌握

四、写在最后

不论遇到什么困难,都不应该成为我们放弃的理由!

 

责任编辑:未丽燕 来源: 安卓巴士
相关推荐

2021-05-07 11:58:05

微服务循环依赖

2020-11-23 18:36:21

容器微服务程序

2019-04-15 13:24:31

2022-06-13 09:26:41

Promise前端代码

2021-03-16 15:49:30

架构运维技术

2018-01-04 15:20:11

Linux命令学习方法

2018-08-23 16:25:29

HadoopHDFS存储

2020-10-27 10:58:07

Linux内核操作系统

2023-05-31 11:57:38

js函数计算高度

2020-12-03 10:17:25

Kubernetes架构微服务

2014-10-29 14:52:13

程序员

2020-12-02 10:53:39

区块链技术

2010-11-19 16:02:42

IT族

2021-03-15 12:00:19

Kubernetes微服务架构

2020-02-20 17:03:36

刘丢丢

2020-11-06 09:19:20

应用编译源代码

2010-07-19 16:09:41

面试

2016-08-12 22:27:32

大数据小趋势

2020-06-10 08:33:05

Java 编程语言开发

2018-09-07 23:27:53

AI开源学习框架
点赞
收藏

51CTO技术栈公众号