这种问题。。。。
关于"大家统一唱衰Android开发"这种事,楼主你随便听听也就好了,不用放在心上。
毕竟每年总是会有那么多人会被淘汰掉,
物竞天择,很正常,毕竟大多数人对自己的工作是缺乏反思的,
当然这也是人之常情,你说是吧
但既然楼主问了,在下便给一点拙劣的建议,不一定对,很可能是一派胡言,
毕竟这个和大多数人的看法好像不太一样。
万事万物背后一定有个原理,尤其是咱们挖煤的更应该有这样的态度,把原理搞清楚。
所以不妨把这件事情捋一捋:
为什么上大家唱衰Android开发呢?
其实这很好理解,你看,技术是在更新换代的,时代是在进步的,对吧,
以前吃生肉,然后会生火,后来用蒸汽电器,互联网,一点一点在进步是吧。
所以哪里会有一招鲜吃遍天的事情呢?
以前的DBA很厉害对吧,
10年的诺基亚也很厉害对吧,
13年的 Android 也很厉害对吧,
这两年的区块链也很厉害对吧,
但现在的DBA呢,现在的诺基亚开发呢,现在的Android 和 IOS 呢
历史总是惊人地相似,对吧?
是的,任何一门技术,都是一定会被淘汰掉的。
这世界上有不死的人么?
听起来好像有点惨烈,但你必须接受这个现实,
因为接受事实是第一步。
生活总归是有希望的,在这样惨烈的背景下也还是有我们能做的事。
你看身边好像还是会有那么一些人,挖煤挖了几十年还在挖是吧。
如果你觉得挖煤还不错,想好好挖这个煤
那就要虚心学习那些老挖煤工人赖以生存的技巧。
当当当当,诸位看官请听我娓娓道来。
呔!谁会需要挖煤工?
啊,老板需要挖煤工!
老板要的,你给不了那又如何?
被淘汰呀被淘汰!
那为何有煤工挖了数十年?
因为什么煤都能挖呀都能挖!
为何什么煤都能挖?
对呀,为何他什么煤都能挖呢?
原来,永葆青春的秘诀就是:
基础
这应该是老生常谈的东西了吧,但好像只是"基础"两个字起不到任何帮助,所以我详细说说。
就以 Android 来说,属于移动端,你看Android,IOS,现在又出来一堆RN(当然,现在已经凉了 :D ),weex, flutter之类的东西。
前端的东西一年三变(这里的前端指包括移动端在内的大前端),你没有自己的判断,很容易就会迷失在一堆杂乱无章的 "设计模式","设计思想" 里,不知道什么是重点,然后被一堆技术忽悠忽悠得云里雾里,不知道要学什么东西(当然应该有人要喷我了,毕竟很多人就是靠天天吹这些东西吃饭,我这么说砸了人家饭碗了是吧)
我打个比方,你在看Android的源码分析,实际上也就可以看到,他里面各种各样的View的工作原理实际上就是在一个叫 Canvas 的东西上用 Rect 之类的控件来画画,(这里我们不考虑动画之类的东西,因为其实动画也可以用 Canvas 做)
嗯,这就是最精炼的Android绘制原理了
其实 Flutter 里面也有同样的 Canvas,甚至你写 Web 前端也有一样的 Canvas,同样的名词出现在不同的地方,这是为什么?这个 Canvas 代表什么东西?
如果你基础 OK,就会知道,计算机显示的原理实际上就是在一块内存区输出数据。这个Canvas 你可以看做就是提供给 "高级程序员" 的接口。
如果你学 Android 不妨把它 Canvas 如何工作,常用的第三方库原理是什么,比如有些框架是做自适应的,他是怎么做到的?
造两个轮子,然后你就会知道 Android 里面设计有哪些是比较野鸡的了(抱歉,我居然说出了如此大逆不道的话 >_
顺便想下原生的 Animation 是怎么回事,除了绘制,还有按键,触摸这些事情他是怎么做的,偶尔看看源码(其实源码是最不重要的,当然,这话要等你至少看过一套源码了才能这么说),看看书。然后你可以玩玩 Flutter,对比下 RN,做点东西,然后下一份工作你就不再投 "Android 开发" 岗,而是 "移动端开发负责人",只要操作适宜,应该是可以过的。。
当然,学习的时候很多东西都需要良好的计算机基础,而且需要花一些时间,当然其实也花不了多少时间。。。。
总结一下,正确的思路就是:
不要纠结他是 Android 还是 Bdroid,你要关心的是 解决了什么问题
绘制,输入,操作(按键触摸),电量,IO,网络,每一个话题下都有无数细节:绘制层级/ 重复绘制,bitmap占用,预加载。
学习么,要学总是有很多东西可以学的。
但其实重点么还是本科计算机课程上该教的那些东西(当然其实学校的大多数老师也没教好)。
不要被那些技术忽悠陷进去了,大多数人是不懂的。只是调一下 api。。。。
当然,我给的是长期做程序员的思路,你按我说的学了,也不一定就能碎破虚空一夜暴富。
所以还是你把这个事情想要做到什么样的程度的问题 >_<