当前位置: 首页 > news >正文

HarmonyOS和OpenHarmony的区别

1.概要

  众所周知,鸿蒙是华为开发的一款分布式操作系统。因为开发系统,最重要的是集思广益,大家共同维护。为了在IOS和Android之间生存,鸿蒙的茁壮成长一定是需要开源,各方助力才能实现。
  在这种思想上,华为的鸿蒙将HarmonyOS的基础功能提取出来,创建了OpenHarmony版本开源,交付给开放原子开源基金会(OpenAtom Foundation)孵化及运营的开源项目。华为鸿蒙虽然和安卓同为 Linux基础上开发的,但是他们的设计理念和框架不同,鸿蒙使用的是微内核,安卓则是宏内核,微内核相比宏内核更加安全。
  一般而言,OpenHarmony开源鸿蒙与HarmonyOS商业鸿蒙这两者关系是相辅相成的,但是HarmonyOS作为亲儿子,能力上还是比OpenHarmony强太多。
  简单的举个例子,假设小米也成为了鸿蒙开源系统的开发贡献者,或者小米也开发了一个基于鸿蒙开源系统的类似于MIUI的手机操作系统,那么小米的地位和华为就是完全平等的。小米这个操作系统,也就和华为手机搭载的HarmonyOS 完全平等。

2.区别

  HarmonyOS商业鸿蒙是有三种UI框架开发,Java、JS、eTS,HarmonyOS 4.0后Java已被废弃,eTS成了主推语言。而OpenHarmony只能通过JS和eTS开发,不能使用Java进行开发。
  因为底层SDK的不同,所以他们的调用API也是不同的,所以可以把他们两个区别看做两个东西。
  OpenHarmony是华为贡献的HarmonyOS的基础能力,也就是说,HarmonyOS并不是全部贡献了的,只贡献了基础部分而已;HarmonyOS是在OpenHarmony基础上开发的商业系统,也就是说,OpenHarmony是免费的,大家可以在此基础上开发自己的东西,但HarmonyOS是商业的,就不一定免费了;
  在调试方面,除了模拟器无法使用,其他都是一样的,可以预览previewer,使用真机,不过搭载OpenHarmony系统的机器很少,一般都是用开发板,或者去刷系统。还有就是签名方式的不同,不过openharmony一般都可以通过自动签名设置来run项目。

2.1.OpenHarmony

  OpenHarmony是由开放原子开源基金会(OpenAtom Foundation)孵化及运营的开源项目,目标是面向全场景、全连接、全智能时代,基于开源的方式,搭建一个智能终端设备操作系统的框架和平台,促进万物互联产业的繁荣发展。
  从Open就可以看出,他是一个开源项目,是由华为雇了一帮人,然后由这些人commit代码,  最后华为把 HarmonyOS 中基础功能提取出来,打包成功一个项目叫做“Openharmony” ,把 Openharmony 捐献给了原子开源基金会。
  OpenHarmony是由开放原子开源基金会孵化及运营的,未来华为也将持续为OpenHarmony开源项目贡献代码。
  OpenHarmony相当于Android的AOSP(Android Open Source Project)。

2.2.HarmonyOS

  HarmonyOS作为新一代的智能终端操作系统,为不同设备的智能化、互联与协同提供了统一的语言,带来简洁、流畅、连续、安全可靠的全场景交互体验
  (1)HarmonyOS 是华为基于开源项目OpenHarmony 开发的面向多种全场景智能设备的商用版本。
  (2)为保护华为现有手机和平板用户的数字资产,在遵循AOSP的开源许可的基础上HarmonyOS 实现了现有Android生态应用在部分搭载该系统设备上的运行。
  (3)HarmonyOS NEXT将不再兼容android应用。

3.开发学习网址

OpenHarmony官网
HarmonyOS官网
GItee上的OpenHarmony源码,API,DEMO相关资料
GItee上的OpenHarmony-TPC源码
GItee上的HarmonyOS-TPC源码
HarmonyOS官方学堂
HarmonyOS 在线文档
鸿蒙社区
HarmonyOS开发者
软通动力HarmonyOS学院
W3C School
DevEco Studio下载地址
DevEco Studio for HarmonyOS 下载地址
DevEco Studio for OpenHarmony下载地址

http://www.lryc.cn/news/265954.html

相关文章:

  • Redis Stream消息队列之基本语法与使用方式
  • 制造行业定制软件解决方案——工业信息采集平台
  • [python]用python实现对arxml文件的操作
  • pdf 在线编辑
  • 自然语言处理(NLP):理解语言,赋能未来
  • FastAPI使用loguru时,出现重复日志打印的解决方案
  • 构建每个聚类的profile和deletion_mean特征
  • Milvus数据一致性介绍及选择方法
  • 异常处理和单元测试python
  • 蓝牙物联网在汽车领域的应用
  • 用23种设计模式打造一个cocos creator的游戏框架----(二十二)原型模式
  • paddle 55 使用Paddle Inference部署嵌入nms的PPYoloe模型(端到端fps达到52.63)
  • 自动化测试工具-Selenium:WebDriver的API/方法使用全解
  • 如何通过蓝牙串口启动智能物联网?
  • Linux---基础操作命令
  • uniapp怎么动态渲染导航栏的title?
  • 【机器学习】决策树
  • [node] Node.js的全局对象Global
  • 完整的 Meteor NPM 集成
  • 智能优化算法应用:基于骑手优化算法3D无线传感器网络(WSN)覆盖优化 - 附代码
  • 解决 MATLAB 遗传算法中 exitflg=4 的问题
  • 云卷云舒:云原生业务应用成熟度模型
  • STM32的以太网外设+PHY(LAN8720)使用详解(5):MAC及DMA配置
  • GitHub、Gitee、Gitlab共用一个SSH密钥配置
  • ClickHouse(19)ClickHouse集成Hive表引擎详细解析
  • 用C求斐波那契数列-----(C每日一编程)
  • 在Jetpack Compose中使用ExoPlayer实现直播流和音频均衡器
  • 持续集成交付CICD:Jira 远程触发 Jenkins 实现更新 GitLab 分支
  • 基于SSM的面向TCP_IP的网络互联实验平台
  • 【IDEA】try-catch自动生成中修改catch的内容