不烧坏几块板子,不可能成为鸿蒙南向高手 精华
《书友会》 采用线上直播的形式,以鸿蒙生态中已发布的书籍为起点向外发散,不关注具体的技术问题,旨在为开发者提供学习指引和具体方法,帮助开发者避坑,快速理解鸿蒙技术路线发展和规划,将时间投入到更有效率的学习中去。
3 月 22 日,我们邀请了李传钊老师作客鸿蒙技术社区视频号《书友会》直播栏目,为大家分享了《鸿蒙南向开发者指北》,本文为直播回顾,希望对鸿蒙初学者们有所帮助。
基于设备开发行业环境和前景,你应该树立的观念
过于纠结鸿蒙带来什么优势,其实很幼稚
在技术人群中,对操作系统的选择、对开发平台的选择、对编程语言的选择,有一定的宗教意味了,信者恒信,不信者恒不信,就类似“PHP 是最好的开发语言”带来的争论。
在开发者群体中,已经形成了非常泾渭分明的鸿蒙圈和非鸿蒙圈。圈内的人不用去和大家讲为什么用鸿蒙,因为圈内人已经在鸿蒙上投入很大的精力和时间了。
面对鸿蒙圈外的人,你说服不了他,他大概率也会带着有色眼镜看待这个事情,没有必要去理会他们的言论。
无论你选择了鸿蒙是因为投身操作系统国产化也好,物联网是面向未来的也好,单纯讨厌安卓也好或者其他,你决定以后,往前走,不要总被圈外人的那些偏见影响到,和他们去探究鸿蒙有什么优势,这种行为很幼稚。
在安卓没有优势的领域,大家可以放手一搏
什么是安卓没有优势的领域?安卓在手机上的成功一定程度上掩盖了他在其他很多领域的失败。
举例来说,安卓系统的智能手表。它的体验很差,电池尿崩,一天一充。而且,安卓对芯片的要求很高,导致安卓系统的智能手表价格在 2000 以上。
RTT 开发的智能手表,电池能顶 7~10 天,功能也没有太大的区别。所以在智能手表上,安卓没有一点优势。
关注新型硬件
鸿蒙一直强调新硬件、新服务、新体验等概念,我希望大家持续关注新硬件。现在,市场上上新硬件一直是层出不穷的,举几个例子。
电子学生证,这个东西还是蛮有意思的,而且量还不少。
华为最近出的墨水屏平板,与原来的 Kindle 是不太一样的,Kindle 没有处理能力,但是华为的这个墨水屏平板就有了,这个硬件上又往前走了一步。
还有智能台灯,我之前没怎么关注,但如果你家里有孩子的话,可以去淘宝搜一搜智能台灯这个产品,我觉得这个东西还真挺有用,对孩子是有帮助的。
这些新型硬件和鸿蒙的起点是一样的,都是从头开始。其他 OS 能做,鸿蒙能做也一样能做,都是从零起步,也就不用纠结是否带来了什么优势。
关注传统行业的智能化改造
信息技术属于服务业,是第三产业。第一产业是农业,第二产业是工业,在农业和工业里有非常大的智能化改造空间和需求。
我跟大家分享一个农业案例, 它让我彻底改变了对农业的一些看法。
我们当时在湖北随州市,随州市有一个著名的产业就是蘑菇种植加工业。现在市场上能吃到的香菇百分之六七十都是那个地方产出的。
有一个农学教授在推动当地产业的发展。我的第一感觉是:智能化改造和种蘑菇能有什么关联呢?
后来我们去那个地方,让我没想到的是当地很发达。一户农民在蘑菇上的收入可以达到 30~40 万一年,蘑菇的种植规模很大。
在不同菌田里面,蘑菇的生长阶段是不同的,有些已经长成,可以采摘了,而有些才刚刚把菌种种上。当地农民需要时时刻刻知道蘑菇的涨势是如何的。
当地农民每天早上和晚上都要去转一圈,天天这样转,很累。他们给我们提的需求就是用摄像头监控这些蘑菇,并通过屋内的电视来观看,手机不太会用。
这是真实存在的需求,而且做完以后,农民的满意度非常高。所以说,传统行业有很多智能化需求,而且智能化改在是一个大动作。不仅会有大量资金投入,而且是国家大力支持的。
工业领域就一件事儿: 替换 PLC。可编程逻辑控制器(PLC)被普遍应用于工业领域,它的标准是在 80 年代定下的,现在已经 2022 年了,它的那套协议还基本上没有大的变化。无论是硬件还是软件,用西门子等品牌的那一套东西成本很高。
我们为什么不用嵌入式把 PLC 替换了?这在技术上完全可行,只不过工作量有些大。
现在替换 PLC 在工业领域已经在推进了,不是犹豫要不要做的事情了,而是要怎么做的事情。
这个改造过程中存在大量机会,能不能用鸿蒙来做,如果用鸿蒙来做还有哪些需要攻克的技术难点,这是值得大家去分析、去努力的。
给鸿蒙南向开发者的忠告
嵌入式必须吃透
做南向开发的话,嵌入式必需吃透,要做到非常熟练。现在大学里对学生的培养是成体系的,如果你想要做这个,就一定要把前面这些课程学好、学透,一定要有板子、玩板子,猛搞。不烧坏几块板子,我觉得你是不可能成为高手的。
C 语言必须扎实,是真的扎实那种
做考题得高分的不是扎实,要通过实战演练得出的。我曾经在大规模群面应届生的时候,仅仅出了一道简单实战题就达到了筛人的目的。
这里提出一个问题,大家思考一下有没有答案,顺便检测 C 语言是不是扎实:如果用 C 语言做面向对象的编程该怎么写?
熟悉各种外设
这种外设是指各种硬件、传感器,都要去摸一摸、玩一玩,去使用使用相关的模型。
麦克风这个外设到底是干嘛的,信号是怎么来的,怎么处理的,它对外提供哪些函数,怎么使用等等,这些东西是应该是滚瓜烂熟,伸手就能拿过来用的。
熟悉各种通信方式,包括板上通信和网络通信
我们处在物联网时代,所以各种通讯方式都是需要去了解的,比如说,常见的 Wi-Fi、蓝牙,不常见的远距离通信,4G、NB-IoT 等等,都需要懂一些。
说不准什么时候就用到这些东西。同时,板子上的东西也要懂,各个接口的通信等等。这是要下一番苦工的。
给初学者的学习建议
要多啃代码
为什么要用啃?一来确实很难,二来是希望初学者能够沉下心来,一点一点、仔仔细细把代码摸透,很多东西你在开发者文档中是看不到的。你会发现刚开始很艰难,越往后越轻松,逐渐你就接触到了核心代码。
要多思考软件解耦
对于操作系统来说,解耦的好处就是能够使用一套 OS 可以适配更多的硬件,是一个细致的技术问题。
以 Linux 管理硬件为例,Linux 使用了中断管理器把硬件当成外设来管理,配合上硬件的驱动可以很好的管理硬件设备,并且能够适配不同平台的硬件。在编程过程中贯彻解耦,也能够让你的代码适用范围更广泛。
不要满足于跑通,搞定,要思考最优解决方案
大家在社区能够看到很多优质的案例,在尝试案例的时候一定要多往前想一步,去思考最优解决方案,这会引导你去深入的思考和理解一些东西,思路也会在这些思考的过程中被打开。
如何依赖开源来提升自己的竞争力?
深入了解开源项目,提前准备好自己
各大公司在社区里面疯狂招人,现在是鸿蒙的精英开发者就业黄金期,只要你能证明你自己是一个能够搞定鸿蒙的人,大公司能够提供十分具有竞争力的薪酬,并且是和你商量薪酬。
如果你和我一样,两年前开始在鸿蒙投入精力,现在肯定有所成就,现在也可定是待价而沽的状态。
要有坚持不懈持之以恒的决心
我每天都会花几个小时看鸿蒙的代码,每天这样天天坚持,我就有了丰富的积累,当机会来临的时候就有足够的本钱。
你搞定了鸿蒙的什么?社区里面哪一行代码是你写的?能不能秀一份代码出来展示一下你的实力?
胆子大点,敢于挑战
鸿蒙还在发展的过程中,圈子里没有真正的权威,要敢于挑战。如果你看到鸿蒙里面有不顺眼的代码,你就冲上去把它干掉。你在开源项目中留下自己的痕迹了,这就能够证明你的能力了。
不要害怕自己的代码被嫖,你要意识到这一点:在开源领域能被白嫖的都是牛人。
讲的很透彻
大师点拨
精彩!!很好的指导文章!
钊哥yyds