在线客服
扫描二维码
下载博学谷APP扫描二维码
关注博学谷微信公众号
鸿蒙OS最近突然火了,相信不少人对这个操作系统还知之甚少。其实它是华为早在2012年就开发出来的,本文就来为大家科普一下,鸿蒙OS是什么,它是怎样实现跨平台的?
一、鸿蒙OS是什么?
1、鸿蒙OS的概念。
鸿蒙(英语:Harmony OS,开发代号Ark)是华为自2012年开发的一款全新的、基于微内核的、面向全场景的、分布式操作系统。2019年8月9日华为开发者大会上,华为消费者业务CEO余承东正式宣布发布自有操作系统鸿蒙,内核为Linux内核、鸿蒙微内核和LiteOS。未来将摆脱Linux内核和LiteOS,只有鸿蒙微内核。
2、鸿蒙OS的四大技术特性。
分布式架构首次用于终端OS,实现跨终端无缝协同体验
确定时延引擎和高性能IPC技术实现系统天生流畅
基于微内核架构重塑终端设备可信安全
通过统一IDE支撑一次开发,多端部署,实现跨终端生态共享
3、鸿蒙OS的应用。
鸿蒙OS将作为华为迎接全场景体验时代到来的产物,发挥其轻量化、小巧、功能强大的优势,率先应用在智能手表、智慧屏、车载设备、智能音箱等智能终端上,着力构建一个跨终端的融合共享生态,重塑安全可靠的运行环境,为消费者打造全场景智慧生活新体验。
二、鸿蒙OS是怎样实现跨平台的?
1、什么是跨平台?
在以前,平台基本等于操作系统。所以,传统意义上的跨平台即不依赖于操作系统,也不依赖硬件环境。一个操作系统下开发的应用,放到另一个操作系统下依然可以运行。
但是随着科技的发展,平台基本等于操作系统已经不成立了,就像华为推出的鸿蒙OS,他可以支持到多种多样的设备,如手机、手表、电脑、汽车、智能家居设备等。所以,今天我们谈的跨平台,指的是跨设备。即平台基本等于设备。所以,华为希望鸿蒙OS可以运行在各种各样的设备上,所以,鸿蒙OS必然需要具备跨平台的能力。
而且,鸿蒙想要做的不仅仅是操作系统可以跨平台,更重要的是要让用户和开发者真正的感受到跨平台。所以,跨平台操作系统鸿蒙的目的是:使开发者能够聚焦自身业务逻辑,像开发同一终端一样开发跨终端分布式应用,也使最终消费者享受到强大的跨终端业务协同能力为各使用场景带来的无缝体验。
2、Java实现跨平台。
提到鸿蒙OS实现跨平台就不得不提Java是如何实现跨平台的。Java对于跨平台的支持,就像对安全性和网络移动性的支持一样,是分布在整个Java体系结构中的。其中扮演者重要的角色的有Java语言规范、Class文件、Java虚拟机(JVM)等。
首先,在Java语言规范中,规定了Java语言中基本数据类型的取值范围和行为。其次,所有Java文件要编译成统一的Class文件。最后,通过Java虚拟机将Class文件转成对应平台的二进制文件。Java的平台无关性是建立在Java虚拟机的平台有关性基础之上的,是因为Java虚拟机屏蔽了底层操作系统和硬件的差异。想要运行一段Java代码,要经过多个步骤,将Java源代码转换成机器可以执行的机器代码,这个过程主要由虚拟机来完成。在著名的HotSpot虚拟机中,主要有解释执行和即时编译两种形式:
解释执行
逐条将字节码翻译成机器码并执行即时编译(Just-in-time ,JIT)将一个方法中包含的所有字节码编译成机器码后再执行。HotSpot 默认采用混合模式,综合了解释执行和即时编译两者的优点。它会先解释执行字节码,而后将其中反复执行的热点代码(热点检测),以方法为单位进行即时编译。
3、鸿蒙实现跨平台
在鸿蒙OS架构中,方舟编译器和多终端开发IDE扮演着重要的位置。跨平台有一个最大的挑战,那就是各个平台的适配问题,尤其是目前各种设备类型越来越多,如何将同一个应用,在手机、手表、汽车、电视上面都可以适配的展示呢?这就是多终端开发IDE所做的事情。
使用华为提供的多终端IDE,多语言统一编译,分布式架构Kit提供屏幕布局控件以及交互的自动适配,支持控件拖拽,面向预览的可视化编程,从而使开发者可以基于同一工程高效构建多端自动运行App,实现真正的一次开发,多端部署,在跨设备之间实现共享生态。在IDE里面可以通过图形化界面拖拽控件,并且IDE可以帮助自动适配各种终端设备。
而鸿蒙OS使用的方舟编译器,可以将高级语言(Java)直接变成机器码,从而绕过了虚拟机。并且这个编译过程并不是在用户的手机上完成的,而是在应用开发阶段就完成了。另外,就像JVM其实也是支持多种语言一样,华为表示,方舟编译器未来也会支持更过的开发语言。换句话说,其他语言的开发者,日后也能开发基于鸿蒙OS的应用。
看到这相信大家已经理解了鸿蒙OS是什么,对它是怎样实现跨平台也有了大致的了解。让我们共同期待未来鸿蒙OS的发展吧!
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
Linux5.6五大功能升级更新介绍
最近,Linux将要发行新的版本,不得不说,这是一个振奋人心的好消息。相信大家都会好奇,Linux5.6版本能给我们带来怎样崭新的体验?本文就来带大家好好了解下Linux5.6 版本中升的五大最新功能,看看这次版本的更新换代能为我们带来哪些确确实实的好处,感兴趣的朋友现在赶紧和小编一起一睹为快吧!
4745
2020-02-10 21:13:56
自学编程入门有哪些困难?
许多人是0基础,想要自学编程入门,在学期前期就会遇到许多的困难和迷茫。例如不知道从什么语言开始,也不清楚自己的目标是什么,对于毫无基础的初学者来着,无疑是非常困难的。
4683
2020-05-28 15:55:37
自学IT编程怎么找编程资料?
自学IT编程怎么找编程资料?选择做程序员就需要一颗保持学习的心,因为技术更新快、需求变化快等原因,所以得时刻保持学习才能不被淘汰。正因为如此,程序员一般都要有一些自学能力,说到自学,就出现了“如何找到自己想要的编程资源”的问题了,接下来我们就一起去了解了解吧。
5435
2020-06-17 15:52:20
TIOBE 9月编程语言排名!它终于出圈了
Hello!大家好呀~TIOBE 官方最新发布了 9 月的编程语言榜单,快来跟小谷一起来看看本月榜单中有哪些最新变化吧!
3735
2021-09-14 17:53:58
程序员如何写出简洁清晰标准的代码?
简洁的代码不仅能让阅读者方便理解程序的意图,还能方便维护与迭代,规避冗长且臃肿的代码给人一种乱糟糟的感觉。简洁的代码在维护上花费更少的时间,更易于被阅读和领会,花费更少的时间去弄清楚实际问题进而为修复、修改、以及扩展等操作留下更多的时间;更清晰地交流想法,程序开发离不开协作而简洁的代码往往可以减少项目成员之间可能产生歧义。从长远来看犯更少的错误更快地解决问题。
3668
2022-03-10 15:54:44