在线客服
扫描二维码
下载博学谷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的发展吧!
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
学会计好找工作吗?女生学会计专业好不好?
学会计好找工作吗?女生学会计专业好不好?会计专业被俗称为“万金油专业”,社会需求量大供求关系有影响。任何公司企业包括我们的生活都与金钱息息相关。而会计专业则是以核算监督为要点的经济管理工作。
6672
2019-08-12 15:18:55
Android应用性能优化思路讲解
想要提高APP产品的质量,最根本的方法就是对Android应用性能进行优化。那么,作为APP开发者,应该如何优化Android应用性能呢?一般来讲,我们应该从手机电量优化、界面卡顿优化、内存优化和网络优化四方面解决 App的性能问题。下面我们具体从以上四个方面入手,详细为大家讲解一下Android应用性能优化的思路。
3593
2020-03-17 18:11:33
IT培训机构怎么选靠谱的?
IT培训机构怎么选?为了能够更简明、更客观的小编对各大培训机构进行了数据调查,发现各个培训机构套路很深,容易被套路,怎么避免被套路?跟随小编理一理培训机构怎么选才是最正确的。市面上所谓的IT培训机构排名并不能真正的展现出他的好。
3503
2020-04-01 15:13:59
怎样挑选一所靠谱的IT学校?
现在IT行业发展繁荣,相关IT职业发展前景广阔,这让许多小伙伴都动了想去IT学校学习,以后从事IT行业的心。但是又不知该如何挑选到一个合适靠谱的IT学习?看办学实力、学校的硬件设施、学校的校风建设看教学实力、学校开设的热门、专业看学校就业情况。
3297
2020-06-17 15:58:54
新手学编程有哪些要求?准备什么?
想学编程需要具备数学的基本常识,熟悉常用的英语词汇,有一定的计算机基础。编程是创造新事物的工作需要从业者具备创造事物的能力,学好编程的捷径就是不断敲代码练习,将理论知识运用到实际的项目中学以致用。
3925
2021-04-07 14:47:16