鸿蒙和安卓的关系以及HarmonyNEXT解读

这篇具有很好参考价值的文章主要介绍了鸿蒙和安卓的关系以及HarmonyNEXT解读。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

安卓和鸿蒙的关系分析

想知道两者的关系 我们首先需要知道两者究竟是什么 才能对二者进行比较 从而得出结论

一,鸿蒙是什么

鸿蒙分为:HarmonyOS(19.8.9) OpenHarmony(自主研发的   开源的    微内核   系统 )

               前者是手机操作系统      后者则主要用于物联网方面(原名:LiteOS

有争议的部分为HarmonyOS也就是手机系统部分

HarmonyOS

到今天为为止(24/1/4)HarmonyOS使用的依旧是框架架构

具体示意图如下:

openharmony harmonyos next区别,harmonyos,android,华为

可以看到,HarmonyOS 是由 AOSP OpenHarmony 两部分组成的

AOSP

AOSP,全称“Android Open Source Project”,中文意为“Android 开放源代码项目”。它是由谷歌发起的,主要用于移动设备的系统。AOSP基于Linux开发,通过它可以编译出一个比较纯净的、可以用于智能设备的操作系统。

AOSP为何开源

1)由于 AOSP 的底层是 Linux,根据 GPL 协议,AOSP 必须开源。而其他使用Apache 2.0授权的部分,可以自行选择是否开源。

2)最开始谷歌和诺基亚竞争,开源有助于更多厂商使用安卓,还有助于修复安卓的一些Bug

然而,AOSP 中并不包括针对各种型号设备部件的驱动程序,如屏幕、SoC、相机等,因为这些涉及设备厂商的专利,不可能开源。因此,谷歌在 AOSP 中抽象出了一层 HAL(硬件抽象层)(所有的程序不再接触linux内核,而都是接触的java虚拟机(上方是接口)并摒弃了 Linux 原有的 LIBC 库而自行开发了 Bionic libc,成功地规避了 GPL 协议的传染,满足了各设备厂商要求驱动程序闭源的需求。

至此,我们明白了,

HarmonyOS是基于两个开源项目  AOSP (谷歌)和  OpenHarmony (华为)而开发的

二,安卓是什么

安卓分为:AOSPAndroid 

Android

Android=AOSP+GMSGMS即谷歌移动服务,即常刷的谷歌服务包。在国内无法使用GMS,所以国内的各种定制ROM都是AOSP的定制修改加上自家的云服务,比如MIUI、ColorOS等。因此,所有的ROM最终的根源就是AOSP,没有AOSP,也就没有现在的Android。

也就是说,小米,OPPO,VIVO等国内其他厂商,他们的操作系统为

AOSP+GMS+自己的修改和云服务=Android+自己的修改和云服务=魔改的Android

而HarmonyOS是

AOSP+OpenHarmony = 用OpenHarmony魔改的禁用了GMSAndroid

所以,到这里,我们可以肯定,HarmonyOS确实是安卓套壳

他也属于是一个安卓发行版,且HarmonyOS所有版本均位未开源,也不好计算有多少功能是自研

但是在今年秋季的华为开发者大会上——HarmonyNEXT出现了,也就是上图中的这一部分

openharmony harmonyos next区别,harmonyos,android,华为

三,HarmonyNEXT

——“纯血鸿蒙

HarmonyOS NEXT 在 2023 年 8 月 6 日开始面向合作企业开发者开放,2024 年第一季度面向所有开发者开放,也就是明年开始,更新后的鸿蒙,会使用全自研内核去掉了传统的 AOSP 代码支持鸿蒙内核和鸿蒙系统的应用,减少了 40% 的冗余代码,使系统的流畅度、能效、纯净安全特性大为提升

也就是说,你的 Android APK 已经不能HarmonyOS NEXT 上运行,因为系统已经不存在 AOSP 代码,甚至没有 JVM

在全新的开发框架下, HarmonyOS NEXT 会采用全新自研的 ArkTS ArkUI ,从目前看来,也就是你可能再也不能使用 Java 开发鸿蒙应用了,并且 ArkTS 是直接采用 AOT 实时编译优化,所以渲染模式可能会更接近 Flutter(谷歌) 和 Compose 的结构情况。

ArkTS

ArkTS是鸿蒙生态的应用开发语言。它在保持TypeScript(简称TS,JavaScrip的一个超集)基本语法风格的基础上,对TS的动态类型特性施加更严格的约束,引入静态类型。同时,提供了声明式UI、状态管理等相应的能力,让开发者可以以更简洁、更自然的方式开发高性能应用。
 

AOT (Alead of time,运行前编译)                                        

1)在程序运行前编译, 可以避免在运行时的编译性能消耗和内存消耗

2)可以在程序运行初期达到最高性能

3)可以显著的加快程序的启动

 JIT (Just-in-time,动态即时编译)

1>可以根据当前程序的运行情况生成最优的机器指令序列 

2>当程序需要支持动态链接时,只能使用JIT

3>根据进程中内存的实际情况调整代码,使内存能够更充分的利用

 优点/差异

一,微内核

  1. 可定制性高:由于微内核OS的许多功能是由相对独立的服务器软件来实现的,当开发了新的硬件和软件时,微内核OS只须在相应的服务器中增加新的功能,或再增加一个专门的服务器
  2. 便于维护:由于微内核设计成在很小的内存空间内增加移植性,提供模块化设计,使得它容易进行维护和调试。
  3. 可移植性强:在微内核结构的操作系统中,所有与特定CPU和I/O设备硬件有关的代码,均放在内核和内核下面的硬件隐藏层中,而操作系统其它绝大部分(即各种服务器)均与硬件平台无关,因而,把操作系统移植到另一个计算机硬件平台上所需作的修改是比较小的

简单来说,就是鸿蒙系统可以安装在任何设备上,在并且根据需要安装不同的功能

比如安装在华为手表上就可以只安装传感功能,联网功能,智能开关上只安装联网功能,触屏功能

二,分布式

这部分的话,华为所说的分布式目前来看好像并不是真正的分布式

真*分布式

分布式操作系统是一类操作系统,其中多台计算机组成一个逻辑上的单一系统。这些计算机可以在物理上分布在不同地点,也可以在同一地点。

简单理解为,不同设备之间可以通过网络相互合作,并且能够分配算力等资源

华为的分布式目前看来就是微内核的意思,能在不同设备上都能安装相互兼容的

三,形式化验证

形式化验证是一种对技术产品、系统或过程的描述进行数学上的验证的方法。它通过建立数学模型来描述系统的行为,然后使用形式化方法来证明或反驳系统的某些性质。

简单来说,就是OpenHarmonya这一系统很小,代码也很少,所以可以在数学上证明他没有BUG

不过形式化验证其实并没有什么用,因为在具体使用场景中还是会存在问题

但是这并不妨碍鸿蒙依旧是在安全方面确实遥遥领先

openharmony harmonyos next区别,harmonyos,android,华为

“全球权威安全机构评测结果显示,鸿蒙系统安全等级达到5和5+,这是最高级别的安全OS。”

四,实时计算

在2021年的一篇采访中王成录(“鸿蒙之父”)提到了鸿蒙的软总线延迟为10毫秒

这个速度显然还不能算是实时计算,目前为止的实时计算主要还是用在一些特定领域:航空和航天,金融医疗等,且能够实现实时计算的系统(常见的RTOS包括VxWorks、RTLinux、FreeRTOS等)都价格昂贵距离民用还很遥远,鸿蒙也在努力争取,希望能有结果

总结

经历了四年多时间,鸿蒙已经逐渐从“安卓套壳”逐渐转变为了真正的自研操作系统

他也有了一些自己的有点,但安卓也有自己的优势所在

安卓系统拥有庞大的开发者社区,使得它具有高度的可定制性和丰富的应用生态圈。此外,由于安卓系统在市场份额上占据绝对优势,它也是许多软件公司的首选平台。

不过截至2023年8月份,鸿蒙系统的升级用户已经超过5000万,华为开发者也已经超200万

希望鸿蒙能够继续发展,逐渐成为比肩安卓苹果的系统文章来源地址https://www.toymoban.com/news/detail-849699.html

到了这里,关于鸿蒙和安卓的关系以及HarmonyNEXT解读的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [Linux]华为的系统 欧拉 鸿蒙 openEuler HarmonyOS OpenHarmony

    之前整理过《华为机器运行什么桌面系统?EulerOS openEuler LiteOS 鸿蒙 深度 UOS》,但差不多快两年了,今天再梳理下华为目前提供的主要系统: openEuler | open欧拉 定位是服务器操作系统 是基于CentOS的 Linux 发行版,开源、免费 其商业发行版由麒麟软件、统信软件等提供(如:统

    2024年02月09日
    浏览(60)
  • 华为新发布的鸿蒙与目前华为手机的鸿蒙系统有什么差异,OpenHarmony、HarmonyOS、HarmonyOS NEXT的区别详解

    最近工作中需要进行鸿蒙适配,一开始我有个疑问,今年新发布的鸿蒙系统,与目前华为手机使用的鸿蒙系统有什么差异?为什么要专门进行适配?如果大家也有类似的疑问,看完这篇就明白了。 今年华为在鸿蒙生态千帆启航仪式上正式发布了鸿蒙原生操作系统——HarmonyO

    2024年04月17日
    浏览(57)
  • HarmonyOS 鸿蒙开发DevEco Studio OpenHarmony:使用低代码进行开发

    OpenHarmony低代码开发方式,具有丰富的UI界面编辑功能,遵循JS、TS开发规范 ,通过可视化界面开发方式快速构建布局,可有效降低用户的时间成本和提升用户构建UI界面的效率。 说明 支持使用低代码进行JS/eTS页面开发,本章节以开发eTS页面为例,介绍低代码功能及使用方法。

    2024年02月19日
    浏览(60)
  • 如何将鸿蒙(harmonyOS)系统退回安卓系统?

    现如今的华为手机非常火热,大部分人也接受了华为手机的自带系统鸿蒙系统(harmonyOS),在鸿蒙系统出了之后,之后的华为手机基本都是鸿蒙系统了,之前的手机也可以升级成鸿蒙系统,但是这会显得手机很卡,有大部分会不小心自动下载了鸿蒙系统,如果有部分的朋友不

    2024年02月05日
    浏览(51)
  • 纯鸿蒙!华为HarmonyOS NEXT不再兼容安卓应用,无法安装Apk文件

            8月7日消息,近日,华为举行2023年华为开发者大会(HDC.Together)上,除了发布HarmonyOS 4、全新升级的鸿蒙开发套件外,华为还带来了HarmonyOS NEXT开发者预览版。 据了解,HarmonyOS NEXT开发者预览版8月面向合作企业开发者开放,2024年第一季度面向所有开发者开放。  

    2024年02月09日
    浏览(58)
  • 非华为机型如何体验HarmonyOS鸿蒙系统 刷写HarmonyOS鸿蒙GSI系统以及一些初步的bug修复

    最近很多视频网站有非华为机型使用HarmonyOS鸿蒙系统的演示。其实大都是刷了HarmonyOS鸿蒙系统gsi系统。体验还可以。有些刷入后bug较多。那么这些机型是如何刷写gsi?可以参考我以往帖子 安卓玩机搞机-----没有第三方包 刷写第三方各种GSI系统 体验非官方系统_gsi刷机包_安卓机

    2024年02月09日
    浏览(44)
  • ArkUI框架之声明式 UI 条件渲染&声明周期以及案例美化实战运用【OpenHarmony/HarmonyOS】

    1.1.1 用户名位数判断 实现用户名位数判断可以直接在build方法函数里进行写if语句的条件判断。 我们把用户名改到超出五位查看效果如下:

    2024年02月06日
    浏览(40)
  • IPhone、IPad、安卓手机、平板以及鸿蒙系统使用惠普无线打印教程

    演示机型:惠普M 281 fdw ,测试可行机型:惠普M277,惠普M452、惠普M283 点击右上角图标。 点击WI-FI Direct 开,(如果WI-FI Direct关闭,请打开!) 记录打印机的wifi名称(SSID)和密码。 打开IPhone、IPad、安卓手机、平板以及鸿蒙系统的设置-无线局域网或者WIFI设置,选中打印机的WIFI名

    2024年01月19日
    浏览(275)
  • 同时支持开发JavaWeb,手机APP(安卓,鸿蒙),大数据,关系型DB,NoSQL等--互联网时代的ORM 工具--Bee

    同时支持开发JavaWeb,手机APP(安卓,鸿蒙),大数据,关系型DB,NoSQL等--互联网时代的ORM 工具--Bee Bee ,一个简单,易用,功能强大(编码少、开发速度快,运行快)的 JAVA ORM 框架。 Bee简单易用 :单表操作、多表关联操作,可以不用写sql,极少语句就可以完成SQL操作; 概念简单 ,

    2024年02月11日
    浏览(55)
  • uniapp无法唤起相机的避坑之旅(安卓10以上,以及鸿蒙手机

    相机权限:都获取到了。 原因可能是安卓的原生问题,应该在安卓的manifest里添加provider provider android:name=“io.dcloud.common.util.DCloud_FileProvider” android:authorities=“${apk.applicationId}.dc.fileprovider” android:exported=“false” android:grantUriPermissions=“true” meta-data android:name=“android.support.

    2024年04月13日
    浏览(78)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包