软件⼯程2021:第2次作业——谈谈鸿蒙操作系统升级鸿蒙
⼀、概述鸿蒙操作系统
开发背景:
随着数字化、5G物联⽹时代的到来,⼈⼯智能的兴起与⼤数据云计算的不断发展,全球的信息安全都⾯临着巨⼤的挑战,中国迫切的需要⼀个独⽴⾃主的、适⽤于各类型机器的、能够提供多机互联的、保证⾜够安全的操作系统。
需求:
分布式架构,能够实现终端间的能⼒互助共享
低时延、⾼性能IPC带来⾼流畅体验
形式化提升内核安全,全⾯提升全场景终端设备的安全能⼒
共享⽣态,⽀撑开发者实现⼀次开发、多端部署,最终实现跨终端⽣态共享
兼容安卓系统的应⽤,较之安卓系统需要更简洁,更流畅,对设备兼容性更强
开发历史:
2012年,华为的⾃有操作系统开始进⾏规划
2016年,⽴项研发分布式操作系统1.0版本
2017年,鸿蒙内核1.0版本研发完成,开始研发2.0版本
2018年,鸿蒙内核2.0应⽤于终端TEE
2019年,鸿蒙OS 1.0正式发布,随后在华为智慧屏上投⼊使⽤,并表⽰鸿蒙实⾏开源
2020年,升级⾄鸿蒙OS 2.0版本,向电视、⼿表和车机等内存128KB-128MB设备开源;发布基于鸿蒙OS的⼿机开发者Beta功能
2021年,鸿蒙OS 2.0正式发布,并⼤规模地应⽤到⼿机、智能座舱、家电等设备中
应⽤场景:
“1+8+N”的⽣态:
“1”即为战略核⼼,智能⼿机
“8”即PC、平板、智慧屏、⾳箱、眼镜、⼿表、车机、⽿机
“N”即涵盖移动办公、智能家居、运动健康、影⾳娱乐、智慧出⾏五⼤场景模式中的设备,例如摄像头、扫地机、打印机、智能秤等等。
发展趋势:
数字商业的终极竞争,归根到底就是操作系统的竞争。鸿蒙OS是⼀个⾯向物联⽹时代的操作系统,超级终端是鸿蒙OS中的重要概念。鸿蒙OS将会在未来实现万物的智能互联功能,它通过将任意个孤⽴设备连接成“超级终端”,提供流畅、安全的⽆缝衔接跨平台能⼒,实
现“超级终端”内硬件设备之间的信息共享与服务共享,让⽤户能够像使⽤⼀台设备⼀样任意调⽤超级终端内的设备与服务。
⼆、关于鸿蒙是否套壳的争议
什么是创新:(联系鸿蒙系统分析)
创新从哲学上说是⼀种⼈的创造性实践⾏为,这种实践为的是增加利益总量,需要对事物和发现的利⽤和再创造,特别是对物质世界⽭盾的利⽤和再创造。⼈类通过对物质世界的利⽤和再创造,制造新
的⽭盾关系,形成新的物质形态。联系鸿蒙操作系统,它在内核配置上,较之原来的理解进⾏了史⽆前例的改动,充分考虑了下⼀代的技术更新,有更长远的⽬标,并在为达到它⽽做准备⼯作,现在对安卓应⽤的兼容性极⾼,对数据处理速度也进⾏了极⼤的优化,运⾏性能提升了超过60%。
从创新的社会学概念来说就是利⽤已存在的⾃然资源或社会要素创造新的⽭盾共同体的⼈类⾏为,或者可以认为是对旧有的⼀切所进⾏的替代、覆盖。也可以这么理解,安卓的尽头将会是鸿蒙,鸿蒙将会完全替代、覆盖安卓。就现在⽽⾔,安卓系统仅仅适⽤于⼿机,鸿蒙系统则是可以应⽤到各个领域,⼩到家中的电器,⼤到智能汽车,我们能想的可以应⽤的智能场景,它必将在未来实现。在我看来,鸿蒙是安卓更进⼀步的拓展,是操作系统发展道路上⼀座靓丽的⾥程碑。
代码复⽤与创新的关系:
“欲戴皇冠,必先承其重”,我认为这句话真是很适合华为的鸿蒙系统。鸿蒙由原先⼀个不是很起眼的操作系统,⼀步步发展到了令世界瞩⽬的位置,就必定会有眼红的⼈存在,随之,流⾔蜚语就如狂风暴⾬般刮来,浇灭内⼼的炽热,孰不知“春风吹⼜⽣”,⼀次次的打击⼜给了它成长的动⼒。“鸿蒙不过就是安卓套壳”,这句话不知被提起过多少次,我在这⾥却要反驳,鸿蒙是⼀个真正的⾃主操作系统,是中国在世界之林的骄傲!鸿蒙部分代码基于ASOP并不假,华为也是ASOP的重要贡献者,它能够合理地复⽤代码,并且这⼀决定也是基于现状最理智的选择,不仅是对操作系统本⾝负责,更是对之后的
⽤户体负责。虽然它对代码进⾏了复⽤,但是他并不是⾯向设备式编程,⽽是⾯向场景式编程,鸿蒙的征途并不是超越安卓,⽽是⾯向万物互联的全场景操作系统,说“套壳”就太没有常识了,这是⼀种质的飞跃。就我⽽⾔,任何在ASOP这个项⽬中提供了代码的成员,都可以复⽤代码,但是之后的系统设计就得是⾃家的存粮了,显⽽易见,鸿蒙在之后的每⼀步都是创新的,是较之以前未有先例的,它着实是进⾏了⾁眼可见的创新。鸿蒙必将在未来的道路上越⾛越远。
三、代码风格分析
1. 好的代码风格1:
代码⽰例:
“···
···”
分析:在必要的开头写了注释,让读者更好地理解,下⾯⼀段代码是作何⽤处的,能实现什么功能,
增强了代码可读性;在语句上,缩进得当,给出的变量名也是通俗可懂的,整体看上去美观、简洁。
2. 好的代码风格2:
代码⽰例:
“···
···”
分析:@Override表⽰这个⽅法是覆盖了⽗类的同名⽅法,增强了可读性;在编译时系统可以助你检查⽅法的正确性,⾼效且简便;MethodChannel括号中的内容过多时没有将其写在⼀⾏,⽽是⼀句⼀⾏,清晰简洁,增强了可读性。
3. 好的代码风格3:
代码⽰例:
“···
···”
分析:上述代码中的if语句中的条件⽤“||”连接,条件内容较长时分⾏描述,不要挤在⼀⾏,这样代码显得更加有条理、简洁⼤⽅;appendLine括号内的语句⽤“,”隔开,且在较长内容时分⾏描述,提⾼代码可读性。
4. 不好的代码风格1:
代码⽰例:
“···
···”
分析:使⽤了过多的if、else if的嵌套,不利于理解程序的逻辑,可读性差,⼀般⽽⾔,if的嵌套应不超过三句;花括号是⼀定要相对应的,不可混为⼀处。
5. 不好的代码风格2:
代码⽰例:
“···
···”
分析:基本上是每⼀⾏代码⼀个注释,并且有的通俗易懂的语句也加上注释,显得代码看上去不太美观,并且冗余不简洁,注释是为了⽅便读者理解,⽽⾮⽤来增加代码的⾏数。