【FFH】关于鸿蒙的一些事 原创
Hagon
发布于 2022-1-26 11:22
浏览
1收藏
引言
最近看了朱有鹏老师对鸿蒙的科普(链接在最底部),看下来感觉对一个开发者来说是非常有必要了解的,下面我总结了一部分内容,作为学习笔记,也欢迎与大家一起讨论。
什么是鸿蒙
平时我们谈到的鸿蒙,其实包括了两个东西,一个是OpenHarmony
,一个是HarmonyOS
。
OpenHarmony和HarmonyOS的区别
- OpenHarmony是由
开放原子开源基金会
孵化及运营的开源项目,OpenHarmony不是华为的,华为只是OpenHarmony项目的主要贡献者和使用者。华为向OpenHarmony项目贡献了大量代码,未来也将持续为OpenHarmony开源项目贡献代码。 - HarmonyOS 是华为
基于开源项目OpenHarmony
开发的面向多种全场景智能设备的商用版本
(不开源)。类比一下安卓的开源项目,不同手机品牌可以拿安卓这个开源项目进行定制,比如小米有自己的MIUI,华为有自己的EMUI系统。所以OpenHarmony就类似Android,HarmonyOS就类似EMUI。
下面我们主要来了解一下HarmonyOS。
HarmonyOS 是什么?
-
HarmonyOS是一款
智能硬件
的操作系统。类比一下,Windows是桌面电脑的操作系统,ios,Android是手机的操作系统。这里有明显的区别,智能硬件是一类产品,而手机和电脑是一种产品。 -
HarmonyOS是一个
完整的操作系统
,不是一个内核。比如Linux就是一个kernal,而安卓和苹果系统就是一个完整的操作系统。 -
HarmonyOS还包括相关的IDE,认证体系,生态系统等周边元素。一个完整的操作系统其实包括了一个完整的运行生态。为保护华为现有手机和平板用户的数字资产,在遵循AOSP协议的开源许可的基础上HarmonyOS 实现了现有Android生态应用在部分搭载该系统设备上的运行。
HarmonyOS想做的事
为了做硬件
的智能化改造
。
- 实现硬件之间的
“智能联动”
。 - 成为AIoT OS的
先驱
和主流OS生态
。
其次,利用多种分布式技术
相与安卓和苹果三分智能手机天下。
HarmonyOS最大的创新点
- 最大的特点是
面向场景式
编程,而不是传统的面向设备
的编程。比如现在开发一个安卓的APP,我们可以确切的知道这个APP肯定式运行在安卓手机上的,而不是电视上,这就是面向设备编程。那什么是面向场景编程?比如现在我们要开发一个聊天交流的APP,聊天交流就是一个场景,在这个聊天过程中,我们可能坐在客厅,这时候我们可能会希望视频聊天界面是在电视上,又比如在办公室里,我们就会希望视频聊天界面在电脑上,当我们中途想要去上一个厕所,我们就希望聊天界面流转到手机上。这整个过程应用的场景没变,但是设备在不断变化,这就是面向场景式编程。 对应用开发者而言:
HarmonyOS的创新是采用了多种分布式技术,使应用开发与不同终端设备的形态差异无关
,从而让开发者能够聚焦上层业务逻辑
,更加便捷、高效地开发应用。
Harmony分布式操作系统的特点
- 面向场景,场景中往往包含多个离散分布的设备,就像我刚刚举的聊天的例子。
- 一次开发多端部署,应用开发的时候就考虑到了场景的多个设备,一次开发:指的是一个团队就把多个设备的适配开发好了。多端部署:最后形成一个APP,这个APP包含了所有设备的页面以及相关功能,可以部署到不同设备上。
- 有
流转
和多端协同
功能,流转:比如刚刚的聊天软件例子,在客厅到厕所发生地点转换的时候,聊天界面从电视自动切换到手机就是一个流转。多端协同:在客厅时,戴着鸿蒙系统的耳机,这时你不想被别人听见你的谈话内容,这时候就是电视显示聊天界面,但是不调用电视的功放外设,而调用耳机,使声音来自耳机。
超级虚拟终端
- HarmonyOS可以通过
“物理层通过WIFI + 系统层通过软总线 + 应用层通过app”
将场景中多个独立的终端连接起来,实现互相调用、智能联动。刚刚的聊天软件例子,在实现不同设备的流程过程中,其实依靠的就是一个超级虚拟终端。 - 场景中智能联动的多个独立终端,构成了
虚拟的、逻辑上
的“HarmonyOS超级终端”
HarmonyOS的南向和北向
- HarmonyOS应用开发叫北向,HarmonyOS设备内部嵌入式开发叫南向
- 北向是
纯软件开发
,一般用java、js等语言,注重业务逻辑
,目标是实现应用功能,满足客户需求 - 南向是软硬件结合的
嵌入式开发
,一般用C、C++,注重硬件操作和能力封装
,目标是提供北向API的内部实现
hap和app
在HarmonyOS中,app和Android的定义还是有区别。
- Harmony的app是
面向场景
的,对应的是一个场景,Android的app是面向设备
的,对应的是手机等设备。 - app对应场景和整体超级终端,而hap对应设备和个体终端
- app中包含1个或多个hap
- HarmonyOS应用开发者最终产出是app
- 单个HarmonyOS设备中可运行的代码单位是hap
本博客根据朱有鹏老师的课程总结:
©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
已于2022-1-26 19:42:27修改
赞
6
收藏 1
回复
相关推荐
总结:
鸿蒙分两部分:openharmony和HarmonyOs;
HarmonyOs是一个操作系统,基于微内核,Linux内核,Lite Os内核,未来逐步实现完全基于鸿蒙微内核,操作系统不等于内核;
HarmonyOs面向场景编程,一次开发多端部署;
HarmonyOs的主要目标从一开始就是IoT,开发分南向北向,代码运行单位为hap与传统的app不同