鸿蒙系统全面解析,诞生背景、技术细节生态圈一文看懂 | 智东西内参
华为6月2日正式发布的鸿蒙系统无疑占据了最近热点话题的C位,虽然不全是赞美的声音,但这种努力打破美国垄断,挑战谷歌、苹果在移动操作系统上垄断地位的尝试必将成为中国 科技 史上的里程碑事件。
成都创新互联专注为客户提供全方位的互联网综合服务,包含不限于成都网站建设、成都网站设计、大田网络推广、微信平台小程序开发、大田网络营销、大田企业策划、大田品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联为所有大学生创业者提供大田建站搭建服务,24小时服务热线:18982081108,官方网址:www.cdcxhl.com
本期的智能内参,我们推荐兴业证券的报告《华为鸿蒙深度研究》, 从鸿蒙系统的产生背景、开源技术细节和产业链生态圈全面解析鸿蒙系统。
原标题:
《华为鸿蒙深度研究》
作者: 未注明
鸿蒙产生的时代背景,总体来说有六个:
1、数字化的时代背景:数字化新时代的到来需要新的操作系统;
2、IoT 与 5G:5G物联网时代的到来对操作系统提出了新的要求;
3、中国面临“卡脖子”的挑战:独立自主的研发操作系统是迫切的需求;
4、人工智能的兴起:AIoT场景天然要求多设备智能协同,需要一个适用于各类型机器的操作系统;
5、大数据与云计算:TB、PB级的大数据需要一个能够提供多机互联的操作系统;
6、全球信息安全面临挑战:网络安全威胁呈现多元化、复杂化、频发高发趋势,需要一个足够安全的系统进行保障。
到鸿蒙的出现,操作系统已经经历了四代:分别是Unix、Windows/Mac/Linux、iOS/Android和鸿蒙/Fuchsia。
Fuchsia是由Google自主开发的基于Zircon微内核的开源系统,它可以运行在手机、电脑、智能家电等硬件产品上。
谷歌公司对Fuchsia的预期发展是让它取代Android和 Chrome OS ,统一两者成为一个操作系统。
和安卓相比,鸿蒙与安卓都是基于Linux开发,安卓是基于宏内核结构设计,而鸿蒙是基于微内核结构设计。鸿蒙系统使用C和C++编写,不需要虚拟机这一中间过程,因此运行效率更高。
和iOS相比,iOS和鸿蒙都是致力于万物互联的操作系统,iOS底层是基于Unix的,并且是闭源的,鸿蒙是基于Lmux的, 是开源的。
全球操作系统格局
2012年,华为出于对谷歌如果对其断供就会难以维持生产的顾忌,开始布局自有分布式操作系统。
2019年5月15日,华为被列入了所谓“实体清单”,谷歌Android 服务GMS对华为禁供。
5G迅猛发展,物联网时代来临,多年前的布局使华为抓住了最佳的发展时期。
鸿蒙发展 历史
总体来说,鸿蒙的技术现阶段优势在于开放,但劣势是生态。系统在分布式部署、时延和流畅性等方面具有优势,但最大短板生态。
构建一个成熟的生态是鸿蒙能否生存下去并取得胜利的关键所在。
技术上,鸿蒙系统使用微内核架构。内核是操作系统内最基础的构件,因此内核的设计对于操作系统的外部特性也有着至关重要的影响。
常见内核结构可以分为宏内核、微内核、混合内核、外内核等。
微内核是较新内核结构,但是它拥有着众多宏内核不具有的优良特性,吸引了很多研究者。
微内核与宏内核对比
微内核架构包含两类组件:核心系统和插件模块。核心系统负责通用功能,不因为业务的变化而变化。
插件模块负责实现具体的业务,可以根据业务的变化而改动和扩展。
微内核架构模式可以将其他应用程序的功能作为插件添加到核心应用程序,从而提供应用的可扩展性、功能分离性和独立性。
微内核架构通常具有以下特征:整体敏捷度高、易部署、可测性高、功能表现优秀、可扩展性强和不易开发。
鸿蒙系统设计
鸿蒙架构的另一个很大优势是依靠分布式软总线、分布式设备虚拟化、分布式数据管理、分布式任务调度等技术,可以实现多种类、多数量的设备之间硬件的互助和资源共享。
分布式数据管理
分布式软总线
分布式设备虚拟化
鸿蒙系统设计初衷是为满足全场景智慧体验的高标准链接要求,可适配手机、平板、电视、智能 汽车 、可穿戴设备等广泛的终端设备, 将在未来万物互联的智能 社会 中打造下一代操作系统。
鸿蒙当前和未来架构
在技术特性上,鸿蒙有着 一次开发,多端部署 的特点。
在鸿蒙OS的框架层提供了用户程序框架、Ability框架和UI框架。它们可以支持多终端设备业务逻辑和界面逻辑的复用,这样应用跨设备的开发效率也就得到了提框架层升。
另一个特点是 统一OS,弹性部署 。鸿蒙os通过组件化和小型化的设计方法,使得针对各种类型的设备可以按需求选择合适的部署方案。
鸿蒙支持多种组件配置方案:1、支持各组件的选择,组件并不是必须被部署,可以按照需要选择合适的部件;
2、支持组件内功能集的配置,可以按照需求选择性的给组件配置功能集;
3、支持组件内功能集的配置,可以按照需求选择性的给组件配置功能集。
除了微内核,鸿蒙的另一大卖点是方舟编译器。方舟编译器可以方便安卓APP移植到鸿蒙系统。
方舟编译器是华为自主研发的编译器平台,它将以前边解释边执行的低效运行方式转变为将Java、C、C++等代码一次编译成机器码的高效运行方式,同时也实现了多语言的统一。
华为官方数据表明,方舟编译器能提升24%的操作系统流畅度、44%的系统响应能力和60%的三方应用操作流畅度。
华为当前的业务可分为四大领域:消费者业务、运营商业务、企业业务和云服务四大业务领域相互协同、共同发展,拼接成华为生态战略布局版图。
华为生态
鸿蒙系统的生态可以概括为1+8+N。1+8+N战略的核心是1 , 即智能手机。智能手机作为鸿蒙生态的核心部分,凭借华为海思自研的麒麟芯片,为其他设备终端提供相应的通信支撑。
正是因为万物互联的场景中手机的重要性,华为始终以全球手机市场第一作为目标。
8是指 PC、平板、智慧屏、音箱、眼镜、手表、车机、耳机 ,这8项将由华为公司亲自研发和参与市场,并且会追求市场领先地位。
N是 摄像头、扫地机、智能秤等外围智能硬件 ,涵盖移动办公、智能家居、运动 健康 、影音 娱乐 、智慧出行五大场景模式。
这些领域是与鸿蒙生态的合作伙伴进行共同开发,在合作过程中,鸿蒙生态将会提供HiLink协议标准,HiAI组件,Lite OS等技术平台,同时将鸿蒙操作系统开源。
2019年8月,全球第一款搭载华为鸿蒙系统的荣耀智慧屏正式发布。
荣耀智慧屏作为当时首个搭载鸿蒙系统的终端产品,突破了传统电视的概念,搭载有鸿鹄818智慧芯片等三颗华为自研芯片和升降式AI摄像头,内置华为系统级视频通话功能,开创了大屏和手机的新交互方式,除了可联控智能家居,还能实现智慧双投、魔法闪投、魔法控屏等功能。
鸿蒙OS + 智慧屏
2021年4月,华为的鸿蒙OS智能座舱正式发布。
鸿蒙OS车机操作系统是面向车的操作系统,与手机同平台。鸿蒙OS智能座舱搭载有一芯多屏、多用户并发、运行时确定性保障、分布式外设、车载网络、多部件等多种应用,提供差异化启动恢复、极速启动、多用户切换、声场控制、多部件协同等功能。
鸿蒙OS智能座船可以及时升级应用,基于其HMS-Automotive平台,开发者能够提供更好的服务与应用体验,实现人、车、家的全场景协同。
鸿蒙OS + 智能座舱
同时面向车载场景增量还开发有HOS-A子系统,可实现账号、多模输入、用户程序框架、元能力框架、多媒体、公共通信、车机业务启动恢复等功能,使得自动驾驶、导航、视频、音乐和通话等业务能够在智能座舱和其他设备之间实现无缝切换,让智能驾驶变得简单、有趣、享受。
发布会现场透露,目前智能驾驶生态平台已获得30+硬件生态、50+应用生态合作伙伴支持,未来鸿蒙OS将继续加大与 汽车 及应用领域的开放与合作力度,与产业链一起打造智能驾驶的极致体验。
2020年7月,华为消费者业务CEO余承东,与美的集团董事长方洪波正式签署《战略合作框架协议》,双方在智慧家居领域达成“全方位战略合作关系” 。
2021年4月,作为首批支持鸿蒙系统的家电产品,美的家用智能蒸烤箱S5mini正 式上市,该智能蒸箱搭载了华为鸿蒙系统,同时搭配了鸿蒙系统的一碰连特性,可以快速完成配网。
配网成功后,手机会自动跳转到鸿蒙系统内置的轻量化产品页面,用户可以在页面中获取跟产品搭配的定制食谱,根据菜谱准备食材,即可一键启动机器、机器自动烹饪。
智东西 认为,数字商业的终极竞争,归根到底就是操作系统的竞争,全球市值前3名的苹果、谷歌和微软,他们共同特点就是都具备操作系统。鸿蒙的推出,长远来看决定了能否在异构计算时代中取得第四张操作系统入场券的关键。
「鸿蒙开发 3」华为鸿蒙应用开发的低代码(Super Visual)开发方式
开发前可以了解下鸿蒙: [鸿蒙开发 序]华为鸿蒙操作系统(HarmonyOS)简介及开发环境搭建
开发前的准备:「鸿蒙开发 1」华为鸿蒙应用集成开发环境DevEco Studio安装和设置
了解鸿蒙应用开发的基本开发流程:「鸿蒙开发 2」第一个华为鸿蒙(HarmonyOS)应用程序(App)
本章目标:
1 了解华为鸿蒙应用开发的可视化(低代码)方式
2 通过构建一个简单的具有页面跳转功能的应用
低代码开发方式,即通过可视化界面开发方式快速构建布局、编辑UI界面,可有效降低用户的上手成本并提升用户构建UI界面的效率。
1 打开DevEco Studio,创建一个新工程,选择支持Phone / Tablet / Wearable(手机 / 平板 / s可穿戴)的模板,我们在此直接选择Empty Ability
Project name工程名称填SuperVisual
Development mode开发方式选择Super Visual
其它的可以使用默认设置,点击完成,进入编辑界面
1 在Project(项目)窗口,删除工程运行默认的入口文件夹:“entry src main js default pages index”文件夹
2 在Project窗口,选择工程中的“entry src main js default pages”,单击鼠标右键,选择“New JS Visual”
JS visual name填first,点击完成,进入编辑界面
创建完成后,可以看到“entry src main supervisual default pages page page.visual”的文件目录结构
3 第一个页面内有一个容器、文本和一个按钮,通过Div、Text和Button组件来实现
(1)分别选中first.visual画面中的Text、Div组件,单击鼠标右键,选择Delete删除
(2)选中UI Control中的Div组件,将其拖至画布
点击右侧属性样式栏中的通用样式图标(General),设置Div组件的高度Height为100%,使其占满屏幕
点击右侧属性样式栏中的样式图标(Flex),设置Div组件的FlexDirection样式为column,使Div的主轴垂直;设置Div组件的JustifyContent样式为center,使得其子组件在主轴上居中显示;设置Div组件的AlignItems样式为center,使得其子组件在交叉轴上居中显示
(3)选中UI Control中的Text组件,将其拖至Div组件的中央区域
点击右侧属性样式栏中的属性图标(Properties),设置Text组件的Content属性为 “ Hello World ”
点击右侧属性样式栏中的通用样式图标(General),设置Text组件的宽(width)为100%,高(height)为100px
点击右侧属性样式栏中的样式图标(Feature),设置组件的FontSize样式为60px,使得其文字放大;设置组件的TextAlign样式为center,使得组件文字居中显示
(4)选中UI Control中的Button组件,将其拖至Text组件下面
点击右侧属性样式栏中的属性图标(Properties),设置Button组件的Value属性为 “ Next ”,
点击右侧属性样式栏中的通用样式图标(General),设置按的宽(width)为40%,高(height)为60px
点击右侧属性样式栏中的样式图标(Feature),设置组件的FontSize样式为40px
至此,第一个页面创建完成
我们可以在预览窗口中看效果,点击右侧边栏的Preview打开预览窗口
1 在Project窗口,选择工程中的“entry src main js default pages”,单击鼠标右键,选择“New JS Visual”
Visual配置界面,JS visual name填second,回车(Enter键)或者点击完成,进入编辑界面
2 第二个页面中有一个容器和文本,通过Div、Text组件实现,现在编辑器已经为我们创建好了,我们就来修改下它们的属性(你也可以删除原有的自己创建,具体步骤参考本章第二节“二 创建第一个页面”)。
选中Text组件,点击右侧属性样式栏中的属性图标(Properties),设置Text组件的Content属性为 “ Hi,I'm always here. ”
点击右侧属性样式栏中的通用图标(General),设置组件的宽(width)为100%,高为60px
点击右侧属性样式栏中的样式图标(Feature),设置组件的FontSize样式为36px,TextAlign样式为center
这样我们的第二个页面创建成功了
1 在Project窗口,打开工程中的“entry src main js default pages first first.js”, 导入router模块,页面路由router根据页面的uri来找到目标页面,从而实现跳转。示例代码如下:
2 打开或者切换到first.visual页面,选中画布上的Button组件,点击右侧属性样式栏中的事件图标(Events),鼠标点击Click事件的输入框,选择launch事件
3 在预览窗口中查看项目效果,点击Next按钮后发现我们的页面成功跳转了。
到此,本章的目标就完成了。
鸿蒙发布会上所说的pc端鸿蒙分布式插件该怎么弄?
安装最新版的电脑管家就可以了,自带的。
本次发布鸿蒙,系统版本是鸿蒙1.0,其实对于内核来讲,鸿蒙内核已经更新到了2.0版本,余承东表示华为已经为此准备了两年,微内核在性能上相比安卓、Linux、苹果代码利用率大大提升,进程间通信效率提升5倍。
目前,鸿蒙内核除了鸿蒙微内核之外,还包含了Linux和LiteOS,以求对于多个系统完成完美兼容,随着后期生态的建立逐渐转向微内核。同时华为还推出面向多终端开发的IDE,可以大幅度提升开发者的开发效率,建立良好的开发环境。
鸿蒙分布式插件的意义:
分布式架构的选择使得鸿蒙OS可以实现模块化解耦,在不同设备间可以实现互联,打通了PC、平板、汽车、音响、可穿戴设备等等多种设备之间的连接,可以实现不同设备间的协同调用,比如,PC无法拍照的时候可以直接调用手机摄像头进行操作。
余承东表示,这是一种“1+8+N”的用户无缝体验。1是指华为手机,8是8款华为产品,包括了电脑、平板、智能手表等,N则是华为下游生态伙伴的产品,鸿蒙可以更好地建立起这种开放生态。
2021-01-25鸿蒙开发(五)
Ability
Ability是应用所具备能力的抽象
2.onActive()
Page会在进入INACTIVE状态后来到前台,然后系统调用此回调。Page在此之后进入ACTIVE状态,该状态是应用与用户交互的状态。Page将保持在此状态,除非某类事件发生导致Page失去焦点,比如用户点击返回键或导航到其他Page。当此类事件发生时,会触发Page回到INACTIVE状态,系统将调用onInactive()回调。此后,Page可能重新回到ACTIVE状态,系统将再次调用onActive()回调。因此,开发者通常需要成对实现onActive()和onInactive(),并在onActive()中获取在onInactive()中被释放的资源。
3.onInactive()
当Page失去焦点时,系统将调用此回调,此后Page进入INACTIVE状态。开发者可以在此回调中实现Page失去焦点时应表现的恰当行为。
4.onBackground()
如果Page不再对用户可见,系统将调用此回调通知开发者用户进行相应的资源释放,此后Page进入BACKGROUND状态。开发者应该在此回调中释放Page不可见时无用的资源,或在此回调中执行较为耗时的状态保存操作。
5.onForeground()
处于BACKGROUND状态的Page仍然驻留在内存中,当重新回到前台时(比如用户重新导航到此Page),系统将先调用onForeground()回调通知开发者,而后Page的生命周期状态回到INACTIVE状态。开发者应当在此回调中重新申请在onBackground()中释放的资源,最后Page的生命周期状态进一步回到ACTIVE状态,系统将通过onActive()回调通知开发者用户。
6.onStop()
系统将要销毁Page时,将会触发此回调函数,通知用户进行系统资源的释放。销毁Page的可能原因包括以下几个方面:
用户通过系统管理能力关闭指定Page,例如使用任务管理器关闭Page。
用户行为触发Page的terminateAbility()方法调用,例如使用应用的退出功能。
配置变更导致系统暂时销毁Page并重建。
系统出于资源管理目的,自动触发对处于BACKGROUND状态Page的销毁。
AbilitySlice生命周期
AbilitySlice生命周期回调与Page的相应回调类似,因此不再赘述。由于AbilitySlice承载具体的页面,开发者必须重写AbilitySlice的onStart()回调,并在此方法中通过setUIContent()方法设置页面。
Page与AbilitySlice生命周期关联
当AbilitySlice处于前台且具有焦点时,其生命周期状态随着所属Page的生命周期状态的变化而变化。当一个Page拥有多个AbilitySlice时,例如:MyAbility下有FooAbilitySlice和BarAbilitySlice,当前FooAbilitySlice处于前台并获得焦点,并即将导航到BarAbilitySlice,在此期间的生命周期状态变化顺序为:
对应两个slice的生命周期方法回调顺序为:
FooAbilitySlice.onInactive() -- BarAbilitySlice.onStart() -- BarAbilitySlice.onActive() -- FooAbilitySlice.onBackground()
在整个流程中,MyAbility始终处于ACTIVE状态。但是,当Page被系统销毁时,其所有已实例化的AbilitySlice将联动销毁,而不仅是处于前台的AbilitySlice。
鸿蒙系统有什么特别之处 鸿蒙系统有什么功能
1、鸿蒙系统有什么特别之处:
据华为消费者业务CEO余承东介绍,随着全场景智慧时代的到来,华为认为,需要进一步提升操作系统的跨平台能力,包括支持全场景、跨多设备和平台的能力以及应对低时延、高安全性挑战的能力,因此逐渐形成了鸿蒙OS的雏形,可以说鸿蒙OS的出发点和Android、iOS都不一样,是一款全新的基于微内核的面向全场景的分布式操作系统,能够同时满足全场景流畅体验、架构级可信安全、跨终端无缝协同以及一次开发多终端部署的要求,鸿蒙应未来而生。
2、鸿蒙系统有什么功能:
(1)全新的手机 UI 控件,新增 50+UI 控件,供开发者开发手机 HarmonyOS 应用,统一多设备 UI 交互体验。
(2) 应用框架支持手机,支持 HarmonyOS 应用在多设备上快速迁移、接续、流转、无安装加载。
(3)提供 Windows 及 Mac 平台开发编译工具链体验,方便开发者快速开发 HarmonyOS 应用。
(4)为手机开发者提供 40 + 个 Sample Code,方便开发者快速了解适应 HarmonyOS 接口及开发方式。
(5)开放多模态感知等分布式能力接口,支持感知用户多种的移动状态。
(6)提供标准化的输入法框架及能力,开发者可开发多种输入方式及功能。
(7)提供标准化的电话系统接口能力。
(8)提供完善的无障碍开发框架,开发者可以方便的开发无障碍应用。
(9)提供标准化的分布式数据管理能力,开发者可以调用标准化的分布式 DB 接口,实现数据在设备间实时同步。
(10)增强账号系统能力,可将无账号设备纳入到 HarmonyOS 分布式系统中。
本文名称:鸿蒙ui插件开发,鸿蒙开发组件
标题来源:http://scyingshan.cn/article/dsgeesp.html