微信号:guolin_blog

介绍:Android技术分享平台,在这里不仅可以学到各种Android相关的最新技术,还可以将你自己的技术总结分享给其他人,每周定期更新.

高级Android开发进阶之路,你需要掌握的几个关键技术!

2019-01-10 08:02 菜鸟窝

Android开发已经凉了吗?

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

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

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

这是小米在拉勾上的招聘要求,相当于p5到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.源码要求能看懂并且熟悉源码(自己选几个第三方库的也可以),要做到熟悉源码及其实现原理。并且要做到能自己二次封装(或自己贡献三方库)三方库。这样一来,你就会在维护中慢慢成为这个技术块的专家了。我觉得输出倒逼输入是一个不错的学习方式。

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

这次给大家推荐一位在华为、百度、平安等企业都工作过的大牛Jesson,他将分别在腾讯课堂1月16日、21日20:30结合自己多年的安卓开发经验,以全栈架构师的角度分析普通安卓工程师具体该怎么进阶,同时也会分享一些关于NDK工具链、C指针等干货类的学习经验,另外此次公开课是完全免费的

Jesson,拥有10多年的软件开发经历,北大博士。曾就职于华为、百度、平安集团等知名互联网公司。对Android架构、C/C++/NDK底层开发、分布式架构有深入的研究。目前关注AI安卓平台落地、安卓APM架构设计、大数据基础架构服务。

因为马上年底越来越忙,两节公开课也是Jesson紧锣密鼓筹备出来的,春节前最后两节课,很可能帮你揭开人生新的篇章,建议大家都安排时间听一下。

而且这个公开课是免费的,算是年末福利吧。另一个福利是这个公开课还贴心地附带赠送一套价值699元的安卓进阶必备技能视频资料包,课件及源码都能下载,涉及MVC+MVP+MVM、动画体系,NDK和JNI等等技术,我看了下质量十分不错的,下面是目录大家可以参考下:

(下滑可以查看所有)

Android进阶必备技能资料包


一、MVC+MVP+MVVM

1.MVC讲解_小案例

2.MVP讲解_小案例

3.DataBinding讲解

4.MVVM讲解-小案例

5.项目讲解MVC

6.项目实现MVP

7.项目实现MVVM讲解

8.项目实现MVVM讲解2-总结


二、NDK和JNI基础

1.JNI与NDK概要

2.JNI数据类型与指针嵌套

3.JNI属性

4.JNI方法数组引用

5.JNI异常处理

6.JNI缓存策略

7.常用工具


三、cmake入门详解

1.ndk—bulid vs CMmake

2.Gcc/clang,CMake基础概念

3.CMake构建工具

4.CMkae优势,CMakelists.txt语法规则

5.CMamke编译过程

6.如何引入一个三方库,CMake分模块管理

7.CMake问题查询及学习方法

8.ndk—bulid编译案例讲解

9.问题答疑


四、深入浅出Android动画体系

1.动画介绍

2.基础动画-平移

3.基础动画-旋转

4.基础动画-缩放

5.基础动画-透明度

6.基础动画-帧动画

7.ObjectAnimator

8.ObjectAnimator 2

9.ValueAnimator

10.矢量动画-静态

11.矢量动画-动态

12.矢量动画-Paht路径

13.Lottie动画框架


这个赠送的资料是Jesson和一位负责过国家安全部移动加密项目的大神一起整理出来的,名额有限。

领取方式:

扫描下方↓↓↓海报二维码,

添加这个小姐姐的微信号,

回复“安卓”就可以免费领取了。

获取福利1:免费公开课资格

获取福利2:价值699元安卓进阶必备视频资料

 
郭霖 更多文章 我是如何准备 Android 技术面试的 Java并发之synchronized深度解析 Android插件化初体验 一看就懂,Git的初步学习 推荐8个超人气公众号
猜您喜欢 究竟XtremIO家族里哥哥厉害还是弟弟厉害,比一比才知道! 3分钟全自动抠图纤毫毕现,麻省理工研发AI辅助图像编辑 EMC存储上的大数据 –安全分析阶段方法 欢迎加入天猫技术团队,约起来! 他们 | 马劲:做金融要选安全稳定的代码托管平台