十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
华为6月2日正式发布的鸿蒙系统无疑占据了最近热点话题的C位,虽然不全是赞美的声音,但这种努力打破美国垄断,挑战谷歌、苹果在移动操作系统上垄断地位的尝试必将成为中国 科技 史上的里程碑事件。
创新互联专注于内乡企业网站建设,响应式网站,成都商城网站开发。内乡网站建设公司,为内乡等地区提供建站服务。全流程按需规划网站,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务
本期的智能内参,我们推荐兴业证券的报告《华为鸿蒙深度研究》, 从鸿蒙系统的产生背景、开源技术细节和产业链生态圈全面解析鸿蒙系统。
原标题:
《华为鸿蒙深度研究》
作者: 未注明
鸿蒙产生的时代背景,总体来说有六个:
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名的苹果、谷歌和微软,他们共同特点就是都具备操作系统。鸿蒙的推出,长远来看决定了能否在异构计算时代中取得第四张操作系统入场券的关键。
Intent
Intent是对象之间传递信息的载体。当一个Ability需要启动另一个Ability时,或者一个AbilitySlice需要导航到另一个AbilitySlice时,可以通过Intent指定启动的目标同时携带相关数据。Intent的构成元素包括Operation与Parameters。
Intent的构成元素
Operation
Action: 表示动作,通常使用系统预置Action,应用也可以自定义Action。例如IntentConstants.ACTION_HOME表示返回桌面动作。
Entity:表示类别,通常使用系统预置Entity,应用也可以自定义Entity。例如Intent.ENTITY_HOME表示在桌面显示图标。
Uri:表示Uri描述。如果在Intent中指定了Uri,则Intent将匹配指定的Uri信息,包括scheme, schemeSpecificPart, authority和path信息。
Flags:表示处理Intent的方式。例如Intent.FLAG_ABILITY_CONTINUATION标记在本地的一个Ability是否可以迁移到远端设备继续运行。
BundleName:表示包描述。如果在Intent中同时指定了BundleName和AbilityName,则Intent可以直接匹配到指定的Ability。
AbilityName: 表示待启动的Ability名称。如果在Intent中同时指定了BundleName和AbilityName,则Intent可以直接匹配到指定的Ability。
DeviceId: 表示运行指定Ability的设备ID。
当Intent用于发起请求时,根据指定元素的不同,分为两种类型:
如果同时指定了BundleName与AbilityName,则根据Ability的全称(例如,“com.demoapp.FooAbility”)来直接启动应用。
如果未同时指定BundleName和AbilityName,则根据Operation中的其他属性来启动应用。
不可否认,目前华为鸿蒙已经是全球第三大智能手机操作系统了,手机用户已经超过了2.2亿,足以与安卓、iOS相抗衡了。
想阿里曾经的YunOS失败了,三星的Tizen也失败了,微软的windows Phone也失败了,鸿蒙能够成功,不得不说华为真厉害。
那么发展了2亿多用户之后,华为鸿蒙系统还有没有什么缺点或者困难,将影响到鸿蒙的发展?我觉得还是有的,那就是生态不行,才几百个原生的APP,必须依赖安卓。
对于一款操作系统而言,最重要的就是生态,毕竟现在手机不只是一个通讯工具,而是一台移动互联网终端。
而所谓的移动互联网终端,则是由各种APP实现的,社交有微信,短视频有爱优腾、抖音等,支付有微信、支付宝等……要是没有这些,估计也没什么人会用了。
目前苹果的Appstore上有几百万的APP,而安卓也有几百万APP,也许很多人表示,大家用不到这么多,但全球几十亿人,总会有些人需要不同的APP,这些APP集合起来,就几百万了。
而目前鸿蒙系统下的原生APP有多少?之前有机构统计了下,才几百个,也就是说或许只有安卓、iOS万分之一。而鸿蒙是通过兼容安卓APP来体验生态的完整性的,可以说一定程度上还是依赖安卓。
虽然谷歌没有权限,也不会禁止鸿蒙使用安卓生态,但不得不说,其实这也是鸿蒙目前最大的短板,那就是没有吸引到足够的开发者,来开发原生的鸿蒙APP,这也是一个操作系统成功不成功的最直接的体现。
而如果没有足够的原生APP,那么鸿蒙就不得不一直兼容安卓来完善生态,无法摆脱对安卓的依赖,这就是一个隐患,也是当前最大的问题。
只有鸿蒙彻底的不需要依赖安卓,有了属于自己独有的完整的生态,那样才算是真正的抗衡安卓、iOS,你觉得呢?
参考 鸿蒙官方文档(点击传送门) ,做一下流程梳理简化,及踩坑记录
华为将真机调试分成物理真机和远程真机。这里说的都是物理真机(手机、平板)。鸿蒙真机调试巨复杂,不像Android那么容易方便。
贴一下官方的调试流程图:
总结一下:
上面这个流程可以忽略,没讲到重点。真机调试是需要在 AppGallery Connect 中创建应用的,调试应用需要的cer和p7b文件是从这里生成的。
先决条件:
1. 鸿蒙手机通过USB连接电脑,并开启USB调试。
2. 一个华为开发者账号,实名认证
3. APP开发工具DevEco-Studio
关键流程:
1. Studio创建应用
2. 如果未登录过,File Project Structure Project Signing Configs签名配置页,点击“Sign In”
3. AppGallery创建应用(包名和Studio创建的一样)
4. 官方文档到这在签名配置页就点Try Again可以自动签名,我试了不行,以下全是手动
5. Studio中Build Generate key and CSR 生成p12和csr文件
6. 获取手机udid,命令行hdc shell bm get -udid(下一步设备管理要用)
7. AppGallery主页 用户与访问 左侧设备管理添加udid的设备(生成p7b时要用)
8. AppGallery主页 用户与访问 左侧证书管理生成cer文件(生成p7b和签名配置要用)
9. AppGallery主页 我的项目 左侧HarmonyOS应用 HAP provision profile,生成p7b文件
10. 最后在签名配置页配好 p12、p7b、cer等参数,运行鸿蒙应用到真机就行了