软件工程2021:第2次作业—— 谈谈鸿蒙操作系统

一、概述鸿蒙操作系统

开发背景:

随着全场景智慧时代的到来,华为认为需要进一步提升操作系统的跨平台能力,包括支持全场景、跨多设备和平台的能力以及应对低时延、高安全性挑战的能力,因此逐渐形成了鸿蒙操作系统的雏形,鸿蒙应未来而生。

需求:

对消费者而言,鸿蒙操作系统能够将生活场景中的各类终端进行能力整合,形成一个超级虚拟终端,可以实现不同的终端设备之间的快速连接、能力互助、资源共享,匹配合适的设备、提供流畅的全场景体验。
对设备开发者而言,鸿蒙操作系统采用了组件化的设计方案,可以根据设备的资源能力和业务特征进行灵活裁剪,满足不同形态的终端设备对于操作系统的要求。

开发历史:

2012年,华为开始规划自有操作系统“鸿蒙”。
2019年5月24日,国家知识产权局商标局网站显示,华为已申请“华为鸿蒙”商标,申请日期是2018年8月24日,注册公告日期是2019年5月14日,专用权限期是从2019年5月14日到2029年5月13日。
2019年5月17日,由任教授领导的华为操作系统团队开发了自主产权操作系统——鸿蒙。
2019年8月9日,华为正式发布鸿蒙系统。同时余承东也表示,鸿蒙操作系统实行开源。
2020年9月10日,华为鸿蒙系统升级至华为鸿蒙系统2.0版本,即HarmonyOS2.0。余承东表示,2020年12月份将面向开发者提供鸿蒙2.0的beta(公测)版本。
2021年6月2日晚间,华为在线上举办HarmonyOS2及华为全场景新品发布会上,华为正式发布HarmonyOS2及多款搭载HarmonyOS2的新产品,新产品包括HUAWEI Mate 40系列新版本、Mate X2新版本、HUAWEI WATCH 3系列、HUAWEI MatePad Pro等手机、智能手表、平板产品。

应用场景与发展趋势:

鸿蒙系统是一款“面向未来”的操作系统,一款基于微内核的面向全场景的分布式操作系统,它将适配手机、平板、电视、智能汽车、可穿戴设备等多终端设备。鸿蒙系统长期有望成为世界第三大操作系统,带动我国基础软硬件等领域发展。操作系统作为计算机硬件与程序之间的中介,天然形成以其为核心的产品生态。HarmonyOS2于2021年6月正式发布,是由华为研发、基于微内核设计、全场景的分布式操作系统。这一系统面向万物互联时代,助力解决物联网碎片化等痛点,我们认为长期有望成为世界第三大操作系统,并带动我国基础软硬件领域发展。

二、关于鸿蒙是否套壳的争议

华为鸿蒙系统一直备受争议,有不少人质疑华为这款自研系统是套壳安卓,眼下,华为鸿蒙已经开始推送,但鸿蒙系统是安卓套壳的声音一直没有断过。很多人说鸿蒙是基于2012年华为的LiteOS开发而来,LiteOS是轻量级物联网操作系统,目前也以及完全开源。从客观上来讲,鸿蒙肯定借鉴了LiteOS开发中所积累的经验,所以华为鸿蒙OS算是LiteOS的一个发展产物,但它们是两款完全不同的操作系统。

什么是创新:

创新是指以现有的思维模式提出有别于常规或常人思路的见解为导向,利用现有的知识和物质,在特定的环境中,本着理想化需要或为满足社会需求,而改进或创造新的事物、方法、元素、路径、环境,并能获得一定有益效果的行为。华为鸿蒙的创新是由内而外,最大的变化基于微内核,在大家看不到的交互界面之下,鸿蒙OS系统更加流畅,并且可以根据不同硬件平台裁剪定制系统,快速扩展生态。而为了保证用户习惯的使用方式,在系统外部的UI设计上,保持了成熟的用户交互界面设计,其创新之处,只有放在万物互联的全场景下,用户才能切实体验到。

代码复用与创新的关系:

我觉得代码复用和创新是可以相辅相成的,鸿蒙OS系统开源代码有点类似通用零部件,制造原理和工艺已经没有秘密,鸿蒙OS没有必要为了显示自己的独特性再去研发一个类似的出来。鸿蒙系统利用开源代码和代码复用共同组成鸿蒙OS系统。其实软件开发行业是相信集体智慧的,其他厂家在代码复用使用过程中还能发现问题、对性能进行优化,进行创新性的改进思路。

三、代码风格分析

 1、好的代码风格1:

“···

 ···”

分析:所有可能出现的分支情况全部使用对象属性来存取。以往我们判断分支的时候使用一大堆if/else或Switch/case语句,使得执行代码很长。更省力的方法是将这些分支添加到对象obj上,直接通过obj[branch]方式直接调用对应的分支处理即可。

2、好的代码风格2:

“···

 ···”

 分析:一个函数实现存、取、缓存数据。局部变量cache使用函数表达式方式赋值,cache函数中给cache这个函数对象添加要缓存的属性,提高可读性,消除重复代码,进行了抽象。

3、不好的代码风格1:

“···

 

 ···”

分析:这里的Switch语句,不仅包括Switch相关的语句,也包括多层if...else的语句,很多时候,switch语句的问题就在于重复,如果你为它添加一个新的case语句,就必须找到所有的switch语句并且修改它们。

4、不好的代码风格2:

“···

 

 ···”

分析:一个类做太多事情,维护了太多功能,可读性变差,性能也会下降



posted @ 2021-09-16 21:48  Yzqs。  阅读(264)  评论(0编辑  收藏  举报