作者:朱有鹏  


学鸿蒙要“盲人摸象”



今天在群里有同学问“鸿蒙会不会以后发展的像android一样庞大?”

言外之意,这么庞大的代码几辈子都学不完,入坑容易,怎么出坑?老师你做鸿蒙的课程,会不会一预售很多年都录不完?

这个问题问的非常好,这个担心非常有必要。现在的软件体系都越来越庞大,如果你用不正确的姿势进去,那这辈子就别想出来了。

什么是正确的姿势?我的答案是:“盲人摸象”

盲人摸象的成语故事大家都学过,一贯的解释都是鄙视大家没见识,看到局部就以为是整体。这个故事告诉我们要注重整体而不是局部,但其实这个故事在现代要反过来看。

古人也就摸个大象,才敢大言不惭“要摸全象”。你让他摸一摸linux kernel全部源码,他这辈子都进去了。你再让他摸摸android全部源码,那他10辈子都进去了。

贪大求全,本质上是人性深处的贪婪作祟。然而知识和技能是无限的、无穷的,所以“吾生也有涯而知也无涯,以有涯随无涯,殆矣”!

一个人一生最精华的年龄就是那二三十年,能真正好好去学习的窗口也就那几年,你还想把整个鸿蒙源码都搞清楚,贪的有点傻。

为什么说傻?因为没用,或者说没必要啊。

大家你先放下手机、放下书、音乐也停了。好好扪心自问,好好想一想,你学习是为了什么?你究竟为什么目标而学?

为了追求真理?为了国产操作系统崛起?为了人类的未来?咱还是不开玩笑了,大家都是工程师啊,往大了说也就是为了能把项目做好产品做好、做一个优秀的工程师,往小了说还不是为了提升技能,增强职场竞争力加点工资嘛。

学鸿蒙要“盲人摸象”_app开发

所以你学习要按照实际的来啊。

现实中实际工作根本不需要你把整个android源码吃透啊,也不需要你从寄存器操作到kernel驱动,再到应用编程,再到framework,再到app框架,再到app开发全线打通,全部一个人搞定。不需要啊。现实中年薪五六十万年薪百万的人也做不到,也不是这样啊。没这个需求啊亲。

学习,是为了用。你怎么学不是取决于你的想法,而是取决于实际怎么用。你要学成什么样的人,取决于公司需要什么样的人才。不要只是闷头赶路,还要抬头看方向。

So,什么是我建议的“盲人摸象”?概括说就2句话:整体有个框架认识,细节钻研某些模块。

先说第一句,整个有个框架认识。我们不可能整体全部吃透,但是全部知道一下还是可以的。这就好像一个人不可能在全球各地都很熟悉,但是草草的全球旅行一圈还是可以的,对全球有个概念性框架性的认识还是可以的,能做到的,而且有意义的。最起码你知道了地球那一端的人大概长什么样,怎么生活,吃什么喝什么了。

意思就是说,你去学鸿蒙,你先从框架上了解鸿蒙,知道鸿蒙分为哪些部分,哪些层次。

我一直说鸿蒙源码架构是:横向分层,纵向分模块。Ok,你至少可以知道怎么个分层,怎么个分模块,为什么要这么设计,怎么对接的,都有哪几个层,哪几个模块。这样设计有什么好,为什么会这样,将来还能怎么扩展?我将来如果有xx问题那我应该看哪一部分······这些都搞定了,就是我说的“有了框架性认识”。

这些我们在后面的课程中都会带大家去走一遍,我会用我的方式帮你构建起这个框架,帮你形成自己对鸿蒙的整体认知。

再说第二句,细节钻研某些模块。这句话有2层意思:

  • 第一,是某些,而不是全部。也就是说你要有选择的去钻研,不要想着全部去研究,完全没必要啊。你如果是做app开发的那就别纠结底层寄存器和驱动,你如果项目是camera相关的那就别扯wifi部分。
  • 第二,是钻研,而不是大概知道。每个资深的、高薪的、成功的工程师,都需要在某个技术领域深入钻研,做出优势。伤其十指不如断其一指,浅尝辄止学10个不如深度学1个。只要camera玩得好就能年薪3050万为什么非得会wifi?用到了再说啊。

最后总结一下,学习是个技术活儿,一定要深浅有度,远近结合。千万不能盲目贪婪,你想什么都会的结果就是什么都学不会。就算你真的想什么都会,那也得有个先后顺序,先会A再会B再会C,最终才能什么都会。一上来什么都抓怎么行?


学鸿蒙要“盲人摸象”_公众号_02


end







学鸿蒙要“盲人摸象”_微信_03