回顾自己接触鸿蒙的半年 原创 精华
序文
自己是在2021年儿童节过后接触的鸿蒙,之后的半年一直都在熟悉鸿蒙,以至于前半年干什么着,居然想不起来了,趁着对下半年还有些记忆,把自己半年的经历捋一捋吧。
2021-06-02
感觉这一天发生了一个历史大事件,鸿蒙2.0开源了。
之前对鸿蒙的认知,完全停留在新闻、广播的宣传层面,自己没有仔细研究过,也没有激起我太大兴趣,感觉鸿蒙离我还很遥远,对于鸿蒙1.0、1.1系统的发布,完全没有概念。那时的我还写些Android程序在各个应用商店发布和维护,虽然用户不多,但依旧在Android的大环境下其乐融融,自己的手机还是荣耀的MagicUI系统,HarmonyOS2.0还没有发布和适配。
鸿蒙2.0开源的消息比以前来的更猛烈了一些,各个网站、论坛都大篇幅宣传鸿蒙,与此同时出现了一批适配鸿蒙2.0的开发板,我有幸拿到了一块润和发布的海思Hi3516DV300开发板,从此开始了我的鸿蒙之旅。
渐渐的,我了解到了,此鸿蒙非彼鸿蒙,也就是开发板的鸿蒙并非手机上的鸿蒙。开发板上烧录是开源鸿蒙OpenHarmony,所谓的鸿蒙2.0开源了,也是指的OpenHarmony2.0 代码,它被放在Gitee网站上开源托管了。而手机上的鸿蒙是HarmonyOS,是不开源的,完全由华为内部团队维护,只给自己的设备,包括手机、平板、电视、智联设备等使用,其他厂商可以使用的都是在OpenHarmony基础上开发的。打个比方,OpenHarmony就好比是Android,HarmonyOS是在OpenHarmony基础上开发的一套新系统,类似华为基于Android开发的EMUI,小米基于Android开发的MIUI,魅族基于Android开发的FlyMe系统。
拿到开发板之后,没有任何直接的光盘类资料,只能在网上一顿找,好找也不好找,好找,因为是开源,除了官网的资料,论坛也很活跃,所以讨论的人很多;不好找,因为是新发布不久,很多问题大家还没遇到,或者遇到了也没找到具体解决方法,只能慢慢摸索。
最初的重点,放在了代码编译、刷机和基本的应用开发体验上。
这个OpenHarmony2.0系统问题还是挺多的,印象最深的就是在应用开发时,无法通过hdc_std在PC和开发版之间通讯,总是找不到开发板设备,找了一个星期也没找到什么解决办法,就感觉应该是调试工具的版本可能不匹配造成的。最后,还是在一个热心网友的帮助下,他发给了我一个据说是内部人士给的编译好的刷机包,我刷上后体验了一下,各种调试都没有问题,然后我就把它和我自己编译的系统比较了一下,发现hdcd版本不一样,这时我确定了OpenHarmony2.0系统的hdcd工具有问题,至少和我电脑上的hdc_std不兼容。一直很苦恼,自己编译出来的代码,无法进行HAP的调试,还好,这个问题到OpenHarmony2.2版本发布时就解决了。
刷机的过程也不太顺利,它本身是支持三种刷机模式的,串口刷机、网口刷机和USB刷机,串口刷机太慢,只能用来考虑刷uboot,网口刷机是我调通的唯一的能用的刷机方法,USB刷机按照介绍,试了无数次也没成功过。好在刷机包不算太大,4分多钟通过网口就能刷完,因为OpenHarmony2.0系统编译出来的系统的image镜像还是经过压缩的sparse格式的,体积不算大。
在没有新版本发布的时候,就在OpenHarmony2.0的基础上熟悉着鸿蒙的架构、子系统、组件等知识。
在此期间,没有关注过任何社区活动,只是在gitee和51cto之间跳来跳去查找资料,关注动态。
2021-08-04
这一天OpenHarmony 2.2发布了。
得到这个消息的第一反应是兴奋,很急迫的下载了新代码,编译刷机体验了一下。
记不太清了,界面应该是多了几个应用程序,其他看不出太大变化,具体的修改应该都在ReleaseNote中列出来了,我主要就是要想测试一下PC与开发版之间的hdc_std的调试功能,我体验HAP应用开发的路就是被它拦住了。这个版本真是给力,我在2.0中遇到的好多问题都不再出现了,hdc调试功能也工作正常了,我也从此熟悉了基于JS开发HAP的步骤和安装过程。
在这个阶段,之前的热心网友拉我进了一个群,他说里面有技术支持,有时可以解决一些问题。我很高兴的加入了,之后在里面问了一些问题,里面的技术支持都帮忙解决了。 我同时还发现,原来这是一个gitee组织的社区活动,OpenHarmony自定义组件开发大赛,我想既然都来了,就别空手了,正好也是学习,按照要求就参加了,准备比较充分,比赛没延迟就完成了5个作品,提交了3个作品,正因为如此,能力有限,作品也不够优秀,最后得了三个阳光普照奖,gitee大背心,仍旧很开心,从此也爱上了各种社区活动。接下来参加的也是gitee组织的,OpenHarmony有奖征文,凭借一篇个人源码解读,获得了一个二等奖,奖品是一套hi3816的开发板,虽然暂时还用不到,但也很开心。
在这一段时间,个人在系统架构和应用开发方面都学习到了不少知识。因为手机的鸿蒙2.0还没有适配,自己只是在开发板上调试一些基于js开发的OpenHarmony应用,对HAP开发过程有了一个详细的了解。
2021-09-30
国庆前一天OpenHarmony 3.0发布了。
都马上放假了,谁还理它,假期之后再好好研究研究。
OpenHarmony3.0给我印象最深的就是支持了华为最新的声明式开发范式ets语言,也支持了华为的方舟编译器。又有的学了,真是得活到老,学到老啊,哪天即使人死了,技术也不会停止更新的。
eTS还是有很多优点的,除了运行效率有了不小的提升,开发也简单了不少,以前是htm、css、js三个文件,现在全部整合到一个ets文件里了。
在系统刷机方面,遇到大问题了,因为这回系统编译完的镜像不再是sparse压缩格式的了,所以文件很大,要几个G,使用原来的网线刷机的方式,需要以小时为计量单位了,无法忍受,而且还经常失败,必须解决USB刷机的问题了。
互联网的优点就是网上好人多,有个网友也参加了gitee有奖征文的活动,专门写了一个USB刷机的帖子,写的非常详细,但我没试成功,最后联系到对方,在对方的指导下,成功实现了USB刷机,原来我以前不成功,是window驱动不对,按的刷机键也不正确,当然那个帖子也获奖了。
在熟悉OpenHarmony3.0的这个阶段,恰逢我的手机也更新了鸿蒙2.0系统,如鱼得水,我也体验了一把在手机上开发应用的过程和步骤,而且也开发了一个鸿蒙应用并成功发布到应用商店了。
这个阶段也参加了几个活动:
1. Gitee的1024程序员节活动,奖品拿的太容易,就像是白送的,只要参加基本有奖,得了一个玩偶,和几条内衣。
2. 华为组织的3D建模挑战赛活动,准备了很长时间,也投入了不少精力,最后对业务熟悉了,却没拿到任何奖,应该是选材和制作不够好,体验中自有快乐。
3. 报名参加了华为开发者大赛。
2021-12-31
今天OpenHarmony 3.1发布了。
不像以前那么兴奋和期待了,只是下载下来编译刷机试用一下,了解一下ReleaseNote中描述的新内容。
发现OpenHarmony包含的内容太多了,一步一个脚印,慢慢学习吧,争取学以致用,早日把它应用到生活生产中。
记录一下自己这个阶段参加的活动和成果:
1. 华为组织的智感生活开发活动,获得了个三等奖,一套华为迷你茶具;
2. 华为网上知识竞赛,得了80分,人数1000多,排名90,奖品限量T恤衫,其实我想要帽子;
3. 51CTO组织的星光计划2.0,写了一篇文章,点赞不少、收藏也不少,最后得到的奖却是随机幸运奖,所以,理想和现实有差距是正常的,不过机会更愿意光顾勤奋的人。
4. 参与华为社区评论互动,最后随机抽奖,挨着我的前面的和后面的几个朋友都中奖了,把我很巧妙的躲开了。
结束语
2021是充实而有趣的一年,希望我的2022会继续伴随着鸿蒙一起成长。
见证大佬的成长
加油!!!
请问从哪里查看知识竞赛获奖情况😳
我也一样是90多,跟想要那个帽子哈哈哈哈
华为的论坛,原帖那里有
【获奖名单公布】注意!HarmonyOS 2021「知识竞赛」来袭,多重豪礼送不停!(文末附件)-华为开发者论坛 (huawei.com)
原帖地址:https://developer.huawei.com/consumer/cn/forum/topic/0202755515434060868?fid=0101587866109860105
厉害了这就是大佬嗄。