【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.mzph.cn/news/577777.shtml

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

相关文章

WebRTC概念

定义 一个实时通信标准 通话原理 媒体协商 在WebRTC中,参与视频通讯的双方必须先交换SDP信息,获得一个都支持的编码格式 网络协商 目的:找到一条相互通讯的链路 做法:获取外网IP地址映射,通过信令服务器交换“网…

华锐三维云展平台 | VR在线展览云平台提供定制化虚拟展厅制作工具

随着科技的飞速发展,互联网技术的不断革新,广州华锐互动顺应时代需求,开发了VR在线展览云平台,用户可以在平台上自主创建属于自己的3D展厅。VR在线展览云平台正改变着传统展览行业的模式,为参展者提供更高效、更便捷、…

Hazel macOS自动化清理

Hazel是一款在Mac平台上的自动化文件管理工具,它可以帮助用户自动化处理文件,从而提高工作效率和减少重复性任务的时间和精力。以下是Hazel软件的功能特色: 强大的自动化处理功能:Hazel可以根据用户设定的规则,自动执…

Android---Kotlin 学习009

继承 在 java 里如果一个类没有被 final 关键字修饰,那么它都是可以被继承的。而在 kotlin 中,类默认都是封闭的,要让某个类开放继承,必须使用 open 关键字修饰它,否则会编译报错。此外在子类中,如果要复写…

Redis设计与实现之服务器与客户端

目录 一、服务器与客户端 1、初始化服务器 1. 初始化服务器全局状态 2. 载入配置文件 3. 创建 daemon 进程 4. 初始化服务器功能模块 5. 载入数据 6. 开始事件循环 2、 客户端连接到服务器 3、命令的请求、处理和结果返回 4、命令请求实例:SET 的执行过程 5、Redis服…

数据仓库【1】:简介

数据仓库【1】:简介 1、诞生背景1.1、数据仓库诞生原因1.2、历史数据积存1.3、企业数据分析需要 2、基本概述2.1、数据仓库(Data Warehouse,DW)2.2、数据仓库特点2.3、数据仓库 VS 数据库 3、技术实现3.1、数据仓库建设方案3.2、传…

sql_lab之sqli中的搜索型注入

搜索型注入 原理是运用模糊查询: select * from users where username like %a% 1.找到具有模糊查询的搜索框的注入点 2.构造闭合 因为模糊查询的代码是 select * from users where username like %a% 所以应该 鱼%’ -- s 判断构造闭合的函数是否正确 鱼%…

【JavaEE初阶一】线程的概念与简单创建

1. 认识线程(Thread) 1.1 关于线程 1.1.1 线程是什么 由前一节的内容可知,进程在进行频繁的创建和销毁的时候,开销比较大(主要体现在资源的申请和释放上),线程就是为了解决上述产生的问题而提…

apache禁止遍历目录

禁止Apache显示目录索引,禁止Apache显示目录结构列表,禁止Apache浏览目录,这是网上提问比较多的,其实都是一个意思。下面说下禁止禁止Apache显示目录索引的常见的3种方法。 要实现禁止Apache显示目录索引,只需将 Optio…

Jenkins的特殊操作定时自动执行任务以及测试报告调优

java -Dhudson.model.DirectoryBrowserSupport.CSP -jar Jenkins.war 测试报告 不美丽 执行上面的代码 重启jenkins 就好了

Ai企业系统源码 Ai企联系统源码 商用去授权 支持文心 星火 GPT4等等20多种接口

智思Ai系统2.4.9版本去授权(可商用)支持市面上所有版本的接口例如:文心、星火、GPT4等等20多种接口!代过审AI小程序类目!!! 安装步骤: 1、在宝塔新建个站点,php版本使用…

使用pytorch神经网络拟合计算模型

一. 内容简介 python调用百度翻译api,将中文论文翻译英文,并保留部分格式 二. 软件环境 2.1vsCode 2.2Anaconda version: conda 22.9.0 2.3数据文件 链接:https://pan.baidu.com/s/1csJOoErGyx77MW_FImVKjg?pwd1234 三.主要流程 3.…

铁山靠之——HarmonyOS组件 - 2.0

HarmonyOS学习第二章 一、HarmonyOS基础组件的使用1.1 组件介绍1.2 Text1.2.1 文本样式1.2.2 设置文本对齐方式1.2.3 设置文本超长显示1.2.4 设置文本装饰线 1.3 Image1.3.1 设置缩放类型1.3.2 加载网络图片 1.4 TextInput1.4.1 设置输入提示文本1.4.2 设置输入类型1.4.3 设置光…

王道考研计算机网络——数据链路层

码元和信号变化是一一对应的 低通:低于最高频率的可以通过 奈氏准则无噪声,香农定理有噪声 给出db,利用公式求出S/N 放到数字信道上传输就是基带信号,放到模拟信道上传输就是宽带信号 把基带信号调制成宽带信号之后,…

JSON在Java中的使用

目录 第一章、快速了解JSON1.1)JSON是什么1.2)json的语法格式①键值对、字符串、数字、布尔值、数组、对象②嵌套的格式 1.3)为什么使用JSON 第二章、发送和接收JSON格式数据2.1)postman发送JSON格式数据2.2)Java后端接…

【csapp】cachelab

文章目录 Part APart B32 * 3264 * 6461 * 67 实验全程参考大佬的博客CS:APP3e 深入理解计算机系统_3e CacheLab实验 ,感觉大佬在矩阵转置那块介绍的还是有些简略,我自己又做了点动图加以补充理解。膜拜大佬! Part A 先解决解析命令行参数的…

STM32实战之深入理解I²C通信协议

目录 IC的物理层 IC的协议层 IC特点 IC 总线时序图 软件模拟IC时序分享 例程简介 例程分享 STM32的IC外设 IIC(Inter-Integrated Circuit),也称为IC或TWI(Two-Wire Interface),是一种广泛使用的串行…

MyBatis——MyBatis的缓存

MyBatis的缓存 创建工程: 1缓存介绍 为什么使用缓存? 首次访问时,查询数据库,并将数据存储到内存中;再次访问时直接访问缓存,减少IO、硬盘读写次数、提高效率 Mybatis中的一级缓存和二级缓存?…

【SD】通过种子数 差异强度 进行 角色融合【2】

通过 对 2个种子 进行对比 生成 2张图片 风格相符合的图片 best quality,masterpiece,chibi,full body, 我们首先生成1张图 Seed: 726932558 我们再次生成一张图 Seed: 3824894478 随机种子:图一 随机种子:图二 差异强度:0.2 差异强度0.4 差…

31. Ajax

简介 AJAX 是 Asynchronous JavaScript And XML 的简称。直译为,异步的JS和XML。AJAX的实际意义是,不发生页面跳转、异步载入内容并改写页面内容的技术。AJAX也可以简单的理解为通过JS向服务器发送请求。 AJAX这门技术很早就被发明,但是直到…