Android 原生开发如何深入进阶,解析底层原理
这是一个做精品的时代了,不是当年出个产品就能拉投资骗点击的时代了。精品需要的是更专业的人才,也就是对 APP 开发人员的素质要求会更高,这个市场会回归一个正常的节奏,拿多少钱就是看能力,看产品。
行业大浪淘沙我觉得这是好事,大浪淘沙,剩下来的应该都是热爱这个行业,天分能力也不错的,对行业来说必须是好事情,对个人来说,环境更好了。
现在的终端开发已经开始进入稳定期,在这个阶段大厂压力很大小厂更会收到挤压,人们使用的 App 越来越固定,即使是大厂,几年前平台级应用发个 Push 就能引流几十万,现在这些的作用也越来越小,特别到了现在,想要在 Top 100 的 App 里突然出现一个来自不知名团队的爆款已经基本不可能。在这种情况下对于开发者来说带来的变化我认为主要有两点:
1. 开发者的门槛越来越高:小厂的机会少了,大厂的业务趋于稳定,短期内在移动端不会出现爆发性的增长,那随之而来的就是移动端招人越来越理性,门槛水涨船高。
这两年看部门移动端校招,除了技术本身都很扎实以外,清一色 985/211 学霸+竞赛成绩+各种奖项+NB 实习经历,社招基本集中在国内主要的互联网公司和几大手机公司中。并且现在大部分公司受限于本身的业务规模和在移动端的投入,技术和国内主要互联网公司的差距越来越大,换句话说,小公司生存会越来越困难,之后从小公司向大公司跳槽也会越来越困难。
2. 对开发者的要求越来越高:小厂生存越来越困难,那势必会对开发者提出更高的要求。相比之前,对于终端开发者的技术要求会越来越宽广,最好是个多面手,是个大前端。大厂内部的压力也非常大,数据想要有大幅度的提升也越来越困难,因此更多的方向,更多的需求也就在所难免。
现在的终端开发者处理的问题比之前更多更复杂,需要 Cover 的面更广,需要学习的更快更深入,并且在技术之外,还需要有足够的软实力支撑。在这样的要求下,很多时候,能力的差距已经不是用勤奋就能弥补的了,况且大部分人本来就谈不上有多勤奋。
尾声
评论里面有些同学有疑问关于如何学习 material design 控件,我的建议是去 GitHub 搜,有很多同行给的例子,这些栗子足够入门。
有朋友说要是动真格的话,需要 NDK 以及 JVM 等的知识,首现**NDK 并不是神秘的东西,**你跟着官方的步骤走一遍就知道什么回事了,无非就是一些代码格式以及原生/JAVA 内存交互,进阶一点的有原生/JAVA 线程交互,线程交互确实有点蛋疼,但平常避免用就好了,再说对于初学者来说关心 NDK 干嘛,据鄙人以前的经历,只在音视频通信和一个嵌入式信号处理(离线)的两个项目中用过,嵌入式信号处理是 JAVA->NDK->.SO->MATLAB 这样调用的我原来 MATLAB 的代码,其他的大多就用在游戏上了吧,一般的互联网公司会有人给你公司的 SO 包的。至于 JVM,该掌握的那部分,相信我,你会掌握的,不该你掌握的,有那些专门研究 JVM 的人来做,不如省省心有空看看计算机系统,编译原理。
一句话,平常多写多练,这是最基本的程序员的素质,尽量挤时间,读理论基础书籍,JVM 不是未来 30 年唯一的虚拟机,JAVA 也不一定再风靡未来 30 年工业界,其他的系统和语言也会雨后春笋冒出来,但你理论扎实会让你很快理解学会一个语言或者框架,你平常写的多会让你很快熟练的将新学的东西应用到实际中。初学者,一句话,多练。
评论