谈谈鸿蒙操作系统

一、概述鸿蒙操作系统 

开发背景:1、数字化新时代的到来需要新的操作系统;

                  2、5G物联网时代到来;

                  3、独立自主的研发操作系统是迫切的需求;

                  4、人工智能的兴起;

                  5、大数据与云计算;

                  6、网络安全威胁呈现多元化、复杂化、频发高发趋势,需要一个足够安全的系统进行保障。

需求:为了摆脱美国等西方国家的技术制裁。

开发历史: 2012年:华为中央软件研究院内部提出研发分布式操作系统的构想

                   2016年5月:消费者BG软件部正式立项研发分布式操作系统1.0版本

                   2017年5月:分布式操作系统1.0版本研发完成,开始研发2.0版本

                   2017年:消费者BG核心管理层讨论研发分布式操作系统的可行性         

                   2018年初:任正非听取消费者BG业务汇报时,认可自研分布式操作系统         

                   2018年5月:获得消费者BG投资评审委员会批准,成为BG正式项目         

                   2019年5月:分布式操作系统正式命名为“鸿蒙”

                   2019年8月:鸿蒙1.0正式对外发布,荣耀智慧屏搭载

                   2020年9月:鸿蒙2.0正式对外发布,向手表、电视、车机等内存在128KB-128MB的设备开源。

                   2020年12月:鸿蒙正式推出手机开发者Beta版本

                   2021年4月:鸿蒙预计向内存128MB- 4GB设备开源

                   2021年5月:HUAWEI HiLink、 HarmonyOS 统一升 级为HarmonyOS Connect

                   2021年6月:华为正式发布鸿蒙操作系统,预计将发布鸿蒙系统手机

                   2021年10月:鸿蒙预计向内存4GB以上设备开源

应用场景:1.智能家具,车机系统与移动设备的联动

                  2.跨平台无缝体验

                  3.全场景全链接智慧生活

发展趋势:针对于物联网生态的操作系统,构建一个完善的5G服务生态体系。

 

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

什么是创新:我认为创新就是当市场出现新的需求时,去创造新的事物来满足需求。而现在在一个万物互联的时代,就出现了鸿蒙去满足物联网这个市场的需求,尽管这个市场还没有一个完整的体系,但鸿蒙已经处于领先地位。关于鸿蒙OS使用ASOP的代码,在用户方面,目前使用ASOP系统是为了保证用户体验,如果突然更换一个不兼容安卓或逻辑迥异的系统,会造成大量的用户流失。其次,在ASOP这个项目里,任何机构和企业都有义务为开源社区贡献代码,也能够使用和下载开源代码,并基于开源项目做二次开发。所以ASOP的代码并不全是谷歌写的,华为也是ASOP的重要贡献者。

代码复用与创新的关系:在原有的代码基础上,适当的代码复用也是创新的一种方式。任何机构和企业都有义务为开源社区贡献代码,也能够使用和下载开源代码,并基于开源项目做二次开发。华为也是ASOP的重要贡献者。

 

三、代码风格分析 

好的代码风格1 :

"...

if(a>b)

{

    return c;

}

..."

分析:用括号分隔if/while/for等语句的代码块,那怕代码只有一行。

 

好的代码风格2 :

"...

 

..."

 分析:逻辑判断过多时,将每个逻辑单独放一行

好的代码风格3 :

"...

import FeatureAbility from '@ohos.ability.featureability';

//参数paramAbilityname, paramBundleName 是对应应用的abilityname,bundleName

startAbility(paramAbilityname, paramBundleName) {

   FeatureAbility.startAbility({

      bundleName: paramBundleName,

      abilityName: paramAbilityname,

      requestCode: 1,

      abilityType: "PageAbility",

      want:{

            action: "action1",

            entities: ["entity1"],

            type: "PageAbility",

            flags: 2,

            elementName: {

               deviceId : "deviceId",

               bundleName : paramBundleName,

              

               abilityName : paramAbilityname,

            },

      },

      syncOption: 1,

   }).then(data =>

      console.info("Launcher promise::then : " + JSON.stringify(data))

   ).catch(error =>

      console.info("Launcher promise::catch : " +JSON.stringify(error) )

   );

}

···"

分析:在开头对代码进行解释。运用接口,启动Ability。

 

不好的代码风格1:

"...

 

 ..."

分析:一个函数方法太长,可读性大大降低,不便于理解。

 

 

posted @ 2021-09-18 22:15  散鸽子  阅读(559)  评论(0编辑  收藏  举报