|
|
|
|
公众号矩阵

一壶清茶,一台笔记本来开HarmonyOS游旅之路

文章由鸿蒙社区产出,想要了解更多内容请前往:51CTO和华为官方战略合作共建的鸿蒙技术社区https://harmonyos.51cto.com

作者:云昌白晓明来源:鸿蒙社区|2021-06-11 09:33

想了解更多内容,请访问:

51CTO和华为官方战略合作共建的鸿蒙技术社区

https://harmonyos.51cto.com

科技的发展就如历史的缩影,都是因为特定的事件产生了质变的影响,鸿蒙的出现也是伴随着这样的背景诞生的。

鸿蒙是一款面向未来、面向全场景的分布式智能操作系统。

仅凭这一句话,我们是不可能对它有深刻的认识,我们会提出很多问题,我将自己初学鸿蒙时的问题罗列如下:

  • 1) 到底鸿蒙是什么?
  • 2) 全场景是指什么?
  • 3) 鸿蒙到底有哪些优势?
  • 4) 和现有的操作系统有什么区别?
  • 5) 支持哪些编程语言?

这一系列的问题也是我初学鸿蒙时提给自己的问题,但有些问题只有我们学习完成后,对鸿蒙有了全貌的了解才能回答的透彻。我始终认为学习是一个提出问题,解决问题的过程,这个过程也是对所学知识掌握最快、最深刻的,因此接下来我将带着这些问题去学习鸿蒙,并在学习过程中不断地提出其他问题并通过各种途径去解决问题。

1.1.1 鸿蒙是什么

我将操作系统分为两类,一类是独享式操作系统,另一类是共享式操作系统。从操作系统概念诞生到现在人手一台智能终端或者多个终端设备,终端设备上的系统仅仅是对该终端负责,这也就意味着设备硬件的不可变,只能提供给当前设备使用,我将该类归结为独享式操作系统。直白点就是使用自己的手机拍照,不能使用手机调用照相机的摄像头拍照,手机的摄像头对于手机是唯一的。而共享式操作系统就是我即将学习的鸿蒙(图1.1.1),它可以实现硬件的可变性,可以通过一个终端设备来使用其他终端设备硬件的能力,两个终端或多个终端之间通过授权达到共享,直白点就是我可以使用手机调用专业照相机的摄像头进行拍照。在这期间另一个终端设备把自己的高清摄像头共享给我的手机,我的手机就具备了专业摄像机的能力。

那到底什么是鸿蒙呢?鸿蒙是华为公司开发的一款基于微内核,能够实现万物互联,将人、设备、场景有机地连接起来,形成一个超级虚拟的终端互联世界,通过一个设备操控多个设备。在体验上能够像操控一个设备一样。鸿蒙实现在不同的场景中通过组合不同的终端设备,实现硬件互助、资源共享,用最合适的设备提供最佳的场景体验。

十年磨一剑,一朝试锋芒。自2012年华为开始规划自由操作系统鸿蒙到至今,已经历了十个年头。2019年8月9日正式发布鸿蒙后,遭受了很多质疑,同时也有很多忠实的开发者参与生态共建。2020年9月10日,鸿蒙2.0版本发布。在众多开发者的共建下,鸿蒙组件已经多达700+。随着2021年6月2日华为正式举办鸿蒙产品发布会(图1.1.2),鸿蒙组件已经多达1000+,相信后续会有更多的开发者和三方合作商参与鸿蒙共建。

鸿蒙的开机动画是以一个动态的“O”开始,这个“O”我认为是万物互联,无缝衔接,无感知切换的意思。以人为中心,以“1”为核心,以“8”为基础,以“N”为元素构建万物互联,实现全场景无缝衔接,无感知切换。

1.1.2 全场景是什么

鸿蒙是面向全场景的分布式操作系统,全场景到底指什么呢?

我们先来看看单一的场景,我们在早上闹钟响起时,关闭闹钟,然后打开窗帘,洗漱出门,这些步骤都是唯一的,每一项做完后才能进行下一项,不能同时进行两项操作,可以认为是单线程,这也是场景的唯一性。在这种单一的场景下,人和设备之间是相互的,并没有达到设备为人服务。

鸿蒙支持轻松调用设备组合中的不同硬件能力、支持多设备无缝协同,这种情况下,我们的场景将不再是唯一的,同时场景间也可以无缝切换。

全场景在这里是以人们日常起居生活为中心,围绕人们的衣食住行等需求做出全天候的服务响应。鸿蒙利用组网的方式将场景需要的设备进行互联,造就新硬件、新交互、新服务,让设备始终是以人为中心。

鸿蒙利用分布式技术,通过1+8+N(图1.1.3)的方式让设备为人提供不同需求下的解决方案,真正达到了“一机在手,天下我有”的高境界。比如夏天下班时,打开车和家里的空调系统,同时打开智能厨房设备进行烹饪,这个场景下我们通过手机实现了多设备的操作,多场景的互联。

1.1.3 鸿蒙有哪些优势

在了解鸿蒙特性之前,我们先来看看鸿蒙的技术架构(图1.1.4)。根据华为鸿蒙提供的技术架构图,可以看出其遵从分层设计,从下向上依次为:内核层、系统服务层、框架层和应用层,每层又包括多个子系统。

作为北向应用开发者,鸿蒙采用多种分布式技术,开发者不再需要关注终端设备的形态差异,只需要聚焦上层业务逻辑即可,在整个技术架构中我们只需要关注的是框架层即可。框架层为鸿蒙应用开发提供了Java/C/C++/JS等多语言的用户程序框架和Ability框架,两种UI框架(包括适用于Java语言的Java UI框架、适用于JS语言的JS UI框架),以及各种软硬件服务对外开放的多语言框架API。而本书以Java UI框架为例展开阐述,其UI界面构建方式会以Java代码和XML代码两种形式展示。

从框架层的解释我们也可以看出鸿蒙提供了支持多种开发语言的API供开发者进行应用开发,其支持的开发语言包括Java、XML、C/C++、JS、CSS以及HML,都是主流的编程语言,对于开发者而言可以很大程度降低学习成本。

鸿蒙有三大特性,也是其他系统所不具备的:

1)硬件互助,资源共享。通过系统服务层中的分布式软总线、分布式数据管理、分布式任务调度、分布式设备虚拟化来保证多种设备之间硬件互助、资源共享能力的正常使用。

2)一次开发,多端部署。鸿蒙提供了用户程序框架、Ability框架以及UI框架。并提供了多种控件,以及在多终端显示不同的UI效果。开发者通过修改少量的代码,实现应用程序在多终端上的安装。

3)统一OS,弹性部署。鸿蒙是组件化设计方法,可以根据硬件资源来按需弹性部署。

习题:

1)HarmonyOS是一款_______________、_______________的智能分布式操作系统。

2)HarmonyOS开发支持的语言包含_____________________________________________。

3)HarmonyOS技术特性__________________________________________________________。

4)HarmonyOS技术架构遵从_______________设计,从下到上依次为_____________________________________________。

5)框架层为HarmonyOS应用开发提供了几种UI框架?

想了解更多内容,请访问:

51CTO和华为官方战略合作共建的鸿蒙技术社区

https://harmonyos.51cto.com

【编辑推荐】

  1. 鸿蒙官方战略合作共建——HarmonyOS技术社区
  2. 华为架构师解读:HarmonyOS低时延高可靠消息传输原理
  3. 鸿蒙系统的网络请求框架—蒹葭
  4. HarmonyOS 2.0鸿蒙第二期开发者Beta公测申请指南
  5. DevEco Device Tool 2.1 Beta1在Hi3861开发板上可视化分析的体验
  6. 鸿蒙轻内核M核源码分析系列八 静态内存MemoryBox
【责任编辑:jianghua TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

带你轻松入门 RabbitMQ

带你轻松入门 RabbitMQ

轻松入门RabbitMQ
共4章 | loong576

12人订阅学习

数据湖与数据仓库的分析实践攻略

数据湖与数据仓库的分析实践攻略

助力现代化数据管理:数据湖与数据仓库的分析实践攻略
共3章 | 创世达人

9人订阅学习

云原生架构实践

云原生架构实践

新技术引领移动互联网进入急速赛道
共3章 | KaliArch

40人订阅学习

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO官微