【HarmonyOS开发】OpenHarmony如何实现⼀次开发,多端部署

OpenHarmony提供用户程序框架、Ability框架以及UI框架,能够保证开发的应用在多终端运行时保证一致性。一次开发、多端部署。 

多终端软件平台API具备一致性,确保用户程序的运行兼容性。

HarmonyOS提供了用户程序框架、Ability框架以及UI框架,支持应用开发过程中多终端的业务逻辑和界面逻辑进行复用,能够实现应用的一次开发、多端部署,提升了跨设备应用的开发效率。

一、鸿蒙实现一次开发多端部署主要依靠以下几个关键技术

1、统一的应用程序框架

    鸿蒙提供了统一的应用程序框架,开发者可以使用该框架编写应用程序。无论是在手机、平板、电视、智能手表、汽车等不同类型的设备上,开发者可以使用相同的框架和API进行开发,减少了学习成本和开发工作量。

统一应用程序包含:开发语言(ArkTs)、组件库(ArkUI)、布局系统、能力接口(设备网络存储位置多媒体通知等)

2、统一的开发工具链

    鸿蒙提供了统一的开发工具链(DevEco StudioSDK模拟器、分布式能力开发工具等),包括开发工具、调试工具、测试工具等,开发者可以通过使用这些工具来进行开发、调试和测试工作。这些工具链的统一性使得开发者可以更快速地开发和部署应用程序。

分布式能力开发工具包含:DSoftBus工具、DMS SDK、DData SDK、DSecurity SDK、DFX SDK等

3、轻量级的虚拟机(DSoftBus)

    鸿蒙采用了一种轻量级的虚拟机技术,称为分布式能力框架(Distributed Capability Framework)。该框架可以在不同类型的设备上运行应用程序,并提供统一的能力接口。开发者可以通过这些能力接口来访问设备的各种功能,如传感器、网络、存储等。虚拟机的引入使得应用程序可以在不同设备上进行部署和运行,无需针对特定设备进行修改。

鸿蒙的轻量级虚拟机技术主要面向分布式场景和多设备协同工作,而不是传统意义上的运行完整的虚拟机镜像。

4、动态适配技术

    鸿蒙引入了动态适配技术,可以根据设备的硬件能力和屏幕尺寸等特性,动态调整应用程序的界面和功能。开发者只需编写一套界面和逻辑,系统会根据设备的情况自动进行适配,以保证应用在各种设备上都能够良好运行。

鸿蒙的动态适配技术包含以下几个部分:屏幕适配、设备能力适配、网络适配等

4.1 屏幕适配

鸿蒙提供了灵活的屏幕适配能力,可以根据设备的屏幕尺寸、分辨率和屏幕比例等特性,自动调整应用程序的布局和界面元素的大小。这样可以确保应用程序在不同设备上呈现出良好的可用性和可读性。

4.2 设备能力适配

鸿蒙可以根据设备的硬件能力(如处理器、内存、传感器等)和功能支持(如摄像头、指纹识别等),动态调整应用程序的功能和性能。这样可以使应用程序能够充分利用设备的能力,并提供更优化的功能和体验。

4.3 网络适配

鸿蒙的动态适配技术还包括网络适配,可以根据设备的网络环境(如网络类型、带宽等),优化应用程序的网络请求和数据传输方式。这样可以提高应用程序在不同网络条件下的响应速度和稳定性。

二、OpenHarmony和HarmonyOS有何区别?

1、OpenHarmony

OpenHarmony是由开放原子开源基金会(OpenAtom Foundation)孵化及运营的开源项目,目标是面向全场景、全连接、全智能时代,基于开源的方式,搭建一个智能终端设备操作系统的框架和平台,促进万物互联产业的繁荣发展

  • 从Open就可以看出,他是一个开源项目,是由华为雇了一帮人,然后由这些人commit代码,最后华为把 HarmonyOS 中基础功能提取出来,打包成功一个项目叫做“Openharmony” ,把 Openharmony 捐献给了原子开源基金会。

  • OpenHarmony是由开放原子开源基金会孵化及运营的,未来华为也将持续为OpenHarmony开源项目贡献代码

  • OpenHarmony相当于Android的AOSP(Android Open Source Project)

2、HarmonyOS

HarmonyOS作为新一代的智能终端操作系统,为不同设备的智能化、互联与协同提供了统一的语言,带来简洁、流畅、连续、安全可靠的全场景交互体验

  • HarmonyOS 2是华为基于开源项目OpenHarmony 2.0开发的面向多种全场景智能设备的商用版本

  • 为保护华为现有手机和平板用户的数字资产,在遵循AOSP的开源许可的基础上HarmonyOS 2实现了现有Android生态应用在部分搭载该系统设备上的运行

三、如何创建OpenHarmony工程?

1、新建一个空的Ability

2、修改entry中的build-profile.json5文件的runtimeOS的类型为OpenHarmony

3、刷新依赖即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/300439.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大数据Doris(四十一):物化视图简单介绍

文章目录 物化视图简单介绍 一、适用场景

【AI】阿里云免费GPU服务资源领取方法

首先,直接点击链接:阿里云免费试用 也可以复制链接到浏览器进行跳转:https://free.aliyun.com?userCodernbj0c1o 页面如下所示:这里的免费试用期限是3个月,给的资源点够我们试用V100 16G显存服务器300个小时&#xff…

【MySQL】数据库之存储引擎

目录 一、什么是存储引擎 MySQL 整个查询执行过程,即MySQL的工作原理? 二、MyISAM 与 InnoDB 的区别? 三、如何查看当前表的存储引擎? 1.查看当前的存储引擎 2.查看数据库支持哪些存储引擎 四、如何设置存储引擎?…

php 不加后缀访问

实现不带后缀访问php文件的方法:首先在htaccess文件中加入内容“RewriteRule ^(api/token) token.php [L]”;然后通过根目录下的“token.php”来接受“api/token”;最后修改配置文件。 考虑的做法有: HTTP重写技术,让…

设计模式原则

1.单一职责 在设计类的时候尽可能的让类的功能单一,而不是多种功能的集合 2.开放封闭原则 对于扩展时开放的,对于修改时封闭的,方便后期维护 3.依赖倒转原则 高层模块不应该依赖底层模块,两个都依赖抽象类。 里氏替换原则&am…

几种串口扩展电路

一、IIC串口扩展电路 LCT200 是一款可以通过 I2C 接口通讯,拓展 2 路独立串口的通讯芯片,同时也支持通过 2 路串口读写 I2C 接口的数据。LCT200 的封装为 TSSOP-20。 主要功能:⚫ 通过对 I2C 接口读写实现拓展 2 路独立串口功能 ⚫ 通过读写…

mybatis缓存详解,一级缓存和二级缓存举例讲解

文章目录 mybatis缓存详解,一级缓存和二级缓存举例讲解1、一级缓存1.1、同一个sqlsession对象的不同mapper对象之间的缓存使用debug运行查看cache缓存 1.2、不同sqlsession对象下的不同mapper对象的缓存使用debug运行查看cache缓存 1.3、同一个sqlsession对象下一级…

将elementUI,NaiveUI的progress环形进度条设置为渐变色

需求 :进度条要有一个渐变效果。效果图: NaiveUI和elementUI的官方progress组件都是只能设置一种颜色,不符合需求所以改一下。 其实NaiveUI和elementUI设置进度条的实现方式基本一样都是使用svg渲染出两个path,第一个是底色&…

概率论中的 50 个具有挑战性的问题 [第 6 部分]:Chuck-a-Luck

一、说明 我最近对与概率有关的问题产生了兴趣。我偶然读到了弗雷德里克莫斯特勒(Frederick Mosteller)的《概率论中的五十个具有挑战性的问题与解决方案》)一书。我认为创建一个系列来讨论这些可能作为面试问题出现的迷人问题会很有趣。每篇…

zookeeper基本使用

目录 环境搭建 单机版搭建 集群版搭建 基本语法使用 可视化客户端 数据结构 节点分类 1. 持久节点 2. 临时节点 3. 有序节点 4. 容器节点 5. TTL节点 节点状态 监听机制 watch监听 永久性watch 应用场景 1. 实现分布式锁 2. 乐观锁更新数据 应用场景总结 选…

小程序面试题 | 18.精选小程序面试题

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

支付宝、学习强国小程序input、textarea数据双向绑定

前言 和 vue 的绑定有些区别,需要注意。直接 value"{{inputValue}}" 是无法双向绑定的。 正确思路 文档说的比较详细,不过没有组合使用的案例,需要自行理解。这里正确的方法是先用 value 绑定数据,再使用 onInput 事件…