鸿蒙生态应用
鸿蒙生态应用开辟核心概念HarmonyOS 应用:使用 HarmonyOS SDK 开辟的应用程序,能够在华为终端设备
(如:手机、平板等)上运行,其有两种形态:
⚫ 传统方式的须要安装的 App。
⚫ 轻量级,具备免安装,到处可即,服务直达,自由流转等关键特性的元服务。
HarmonyOS 元服务:元服务是 HarmonyOS 面向万物互联期间提供的一种轻量级
应用程序形态。它基于 HarmonyOS 平台开放能力开辟,打包为 App Pack 形态,运行
在 HarmonyOS 操作体系,拥有一张或者多张全能卡片,由 HarmonyOS 应用程序框架
管理,具备到处可及、服务直达、跨设备等核心特性。
全能卡片:HarmonyOS 体系界说的一种界面展示形式,它是 HarmonyOS 元服务
的一个组成部分,将重要信息或操作前置到卡片,以达到服务直达,减少操作层级的目
的。全能卡片常用于嵌入到其他体系应用(桌面/负一屏)中作为其界面的一部分表现,
并支持点击拉起元服务。HarmonyOS 元服务必须实现全能卡片。
HarmonyOS 应用与元服务基于同一个鸿蒙体系技术栈开辟,同属一个鸿蒙生态。
开辟者通过业务解耦将应用分解为多少元服务独立开辟,按需根据场景组合成复杂应用。
在万物智联期间重要机遇期,鸿蒙体系结合移动生态发展的趋势,提出了三大技术理念: 一次开辟,多端摆设;可分可合,自由流转;同一生态,原生智能。
https://i-blog.csdnimg.cn/direct/4c752cf8b6cb4b86932ba8cbabd05d8d.png
HUAWEI DevEco Studio 提供的核心能力如下图所示
https://i-blog.csdnimg.cn/direct/248bfc3fda874fb1864880a5c46209f6.png
分布式调试交互图
https://i-blog.csdnimg.cn/direct/66d84d1a3ffc41809de59f99839f7bb2.png
多设备团结分析
https://i-blog.csdnimg.cn/direct/5a31daae9b0e42e1867e9e2a48c108ea.png
缩放交互的规则
https://i-blog.csdnimg.cn/direct/ab4fb3e4c95a4315a5cecbc5fd95984f.png
多设备按需分发的两种模式
https://i-blog.csdnimg.cn/direct/1f37c218566a46eaa2d09792596e374e.png
模式 1:应用或服务的 UI 自适应不同尺寸的设备屏幕,并且在不同设备的功能相同,可以实现多设备共享一个 HAP 包。这种场景下建议开辟者通过一个模块来开辟,并配置该模块支持多设备,然后再编译构建生成一个 HAP,分发到不同范例的设备上
运行。
模式 2:应用或服务的 UI、功能在不同设备间存在差异,无法实现 HAP 包多设备归一。可根据实际情况设置不同模块适用的设备范例,编译构建多个 HAP 包,一起上架。HUAWEI AppGallery Connect 会自动提取 HAP 中的设备范例的配置信息,为对应的设备自动分发正确的 HAP 包组合
多入口按需分发
**https://i-blog.csdnimg.cn/direct/d460075593554a9aaf7e717c05d043fc.png
两种打包上架模式**
https://i-blog.csdnimg.cn/direct/8fb8b5e7db324ccea5f039e99f530b93.png
⚫ 模式一:打包成多个App Pack,不同App Pack的包名是不一样的,每个App Pack都须要单独上架。在运行态,应用和服务的生命周期完全独立。
⚫ 模式二:打包成一个 App Pack,App Pack 里面的 HAP 包名相同,同一上架。在运行态,应用生命周期完全共享。
原生智能 AI 能力分层开放框架
https://i-blog.csdnimg.cn/direct/d6586af4fadf4ef1a075b3c53f8b232b.png
意图框架提供了 HarmonyOS 体系级的意图尺度体系,通过多维体系感知、大模子等能力构建全局意图范式,实现对用户显性与潜在意图的理解,并及时、准确地将用户需求通报给生态伙伴,匹共同时宜的服务,为用户提供多模态、场景化进阶场景体验。
鸿蒙生态应用开辟能力全景图
https://i-blog.csdnimg.cn/direct/49921c6a9cbd45f68e78001f68cb13c3.png
赋能套件全景图
https://i-blog.csdnimg.cn/direct/9e7e471b76744ff699fb779903110215.png
鸿蒙开辟套件全景图
https://i-blog.csdnimg.cn/direct/7d44a0c20413420eb36edc937d3b91c2.png
开辟套件全景图
https://i-blog.csdnimg.cn/direct/7bb421db190e4a81aded419874e5d44b.png
典范测试工具能力简介
https://i-blog.csdnimg.cn/direct/32896217870f4b92a9355dab781fc1d9.png
https://i-blog.csdnimg.cn/direct/dfa5eee8f9d5452398508779388ac488.png
https://i-blog.csdnimg.cn/direct/e1dceea9083243b788ef21c8a5c40776.png
鸿蒙生态三方库管理
https://i-blog.csdnimg.cn/direct/285645ffa55249baa91f65658c5965ce.png
开辟者通过如下方式即可方便快捷的使用三方库:
[*]应用开辟者登录鸿蒙生态中心仓,通过分类和关键字搜索须要的三方库信息;
[*]应用开辟者在应用开辟时,通过 OHPM 包管理工具,将搜索到的三方库引入到应用依靠清单中。
ArkUI 框架
https://i-blog.csdnimg.cn/direct/829b47f164c640e3a3298461d8ca8a09.png
ArkUI 框架提供给开辟者两种开辟方式:基于 ArkTS 的声明式开辟范式和基于 JS 扩展的类 Web 开辟范式。声明式开辟范式更加简洁高效,类 Web 开辟范式对 Web 及前端开辟
者更友好。
状态管理
https://i-blog.csdnimg.cn/direct/67582f5526e6411cbabbc3594897af29.png
状态管理从生效范围的维度可以分为应用范围和组件范围。应用范围的数据是以AppStorage 为中心举行管理,根据不同的使用场景分为提供体系环境数据管理的Environment,提供长期化存储支持的 Persistent Storage。组件范围的数据通过装饰器的
方式提供管理机制,称为状态变量装饰器:
⚫ @State:组件拥有的状态属性,当@State 装饰的变量更改时,组件会重新渲染更新 UI。
⚫ @Link:组件依靠于其父组件拥有的某些状态属性,当任何一个组件中的数据更新时,另一个组件的状态都会更新,父子组件重新渲染。
⚫ @Prop:雷同@Link,但子组件所做的更改不会同步到父组件上,属于单向通报。
⚫ @Provide:作为数据的提供方,可以更新其子孙节点的数据,并触发页面渲染。
⚫ @Consume:在感知到@Provide 数据更新后,会触发当前自界说组件的重新渲染同时为了使应用数据变革能够触发组件的更新,基于 AppStorage 还提供了两个状态变量装饰器:
⚫ @StorageLink 装饰器:组件通过使用@StorageLink(key)装饰的状态变量,与AppStorage 建立双向数据绑定,key 为 AppStorage 中的属性键值。当创建包含@StorageLink 的状态变量的组件时,该状态变量的值将使用 AppStorage 中的值
举行初始化。在 UI 组件中对@StorageLink 的状态变量所做的更改将同步到AppStorage ,并从 AppStorage 同步到任何其他绑定实例中,如PersistentStorage 或其他绑定的 UI 组件。
⚫ @StorageProp 装饰器:组件通过使用@StorageProp(key)装饰的状态变量,将与AppStorage 建立单向数据绑定,key 标识 AppStorage 中的属性键值。当创建包含@StoageProp 的状态变量的组件时,该状态变量的值将使用 AppStorage 中的
值举行初始化。AppStorage 中的属性值的更改会导致绑定的 UI 组件举行状态更新。
类 Web 开辟范式
https://i-blog.csdnimg.cn/direct/3758c359355e438295b3706315993d44.png
类 Web 范式实现层面可以进一步摆设到轻量化的设备上。通过轻量化设计的思路,将JS Framework 下沉到 C++层,以减小 JS 的内存占用,使用 C++举行更为严格的内存分配
管理,并采用更为轻量的 JS 引擎,UI 部分采用轻量的 UIKit 并结合轻量图形引擎最终实现百 K 级别设备的支持,从而在轻化设备上可实行的应用,也可以在硬件规格更高的设备上实行,而无需重新开辟。这也就是采用类 Web 开辟范式的优势所在,采用同一的开辟范式,开辟者无需关心详细运行时的前端框架JS 引擎与后端 UI 组件,体系会根据运行平台不同,采用最佳的模块,保障应用在不同平台都可具有最佳的运行性能
可视可说框架
https://i-blog.csdnimg.cn/direct/129d6a8c85474c428581370bcffd718c.png
可视可说框架提供“体系级”和“应用级”两种实现方式。此中,“体系级”无需应用适配自动支持尺度控件文本的语音操控功能;“应用级”接入方式允许开辟者对控件场景、角标、别名、个性化播报等元素举行适配,从而提供最佳的用户体验。应用级和体系级两种实现是互补关系,应用级优化用户体验,体系级包管覆盖率。
单次语音交互生命周期
https://i-blog.csdnimg.cn/direct/dd32e783e71445f5a4bd882b3a273cab.png
视可说分为信息获取和识别实行,信息获取模块基于界面变革用户监听界面变革获取信息热词,识别实行模块将信息热词通报到语音体系举行 AI 识别。
Stage 模子相干概念
https://i-blog.csdnimg.cn/direct/29a86541a00049b394d1ac2aea2d9d90.png
C API 接口组成
https://i-blog.csdnimg.cn/direct/52ffed6c3e284899bfa5ac8359f9856b.png
https://i-blog.csdnimg.cn/direct/47b6abc0a5254bbcb718cfedd70e614d.png
普通 JS 运行时与方舟编译运行时比对图
https://i-blog.csdnimg.cn/direct/077d8b3abe014d8880fb10cdb296737a.png
编译流水线
https://i-blog.csdnimg.cn/direct/a890cb1ff3c8433e92ce31c22c83e8cf.png
前端流水线在发起编译时,举行工程参数分析,依靠分析,语法校验,语法转换,代码编译等各个编译动作的编排。前端编译器负责编译流水线中源代码编译,提供对应的触发接口给编译流水线。
前端编译器架构
https://i-blog.csdnimg.cn/direct/8a82c22778014dbeb9374b5cd24b3242.png
前端编译器是根据输入的 ArkTS 源码,举行词法,语法分析、转换、编译、输出字节码文件;在这个过程中会提代替码中标注的范例信息,举行范例检查,范例绑定,最终作为元数据生成到字节码 ABC 文件中。
⚫ 解析:前端编译器读取 ArkTS 源码,进行词法,语法解析,输出抽象语法树(AST)
⚫ 转换:前端编译器识别语法糖,转换成基础语法
⚫ 编译:根据抽象语法树,生成对应的中间表示(IR)
⚫ 输出:收集 IR,字符资源,常量,等各种元素,按照 ABC 文件格式生成字节码文件
⚫ 优化:读取 ABC 文件中的字节码信息,生成 IR 表示,进行优化处理,重新生成更优的字节码文件
界面预览
https://i-blog.csdnimg.cn/direct/599fef24ae9c464d8ed2a3d0b55c2944.png
在开辟过程中,开辟者需频繁修改界面代码,检察对应的出现效果,确保开辟与实现目的一致。传统的开辟模式下,开辟者每次修改代码后,实行编译构建,并推送应用到设备上新运行,才华检察到界面的出现效果,整个过程冗长,产生极大的时间浪费。HUAWEI DevEco Studio 提供了界面预览能力,使开辟者更方便快速地调测应用界面,大幅提拔界面开辟效率
端云一体化开辟全景图
https://i-blog.csdnimg.cn/direct/a7fcbce5d32e4ee281591cc1e223e9f9.png
端云一体化开辟:支持端侧代码和云侧代码的协同开辟,同一管理端侧和云侧代码目录,举行端云代码的端到端开辟、调试和摆设。
端云一体化组件:内置完备的云侧逻辑,开辟者在集成 UI 组件的同时即可自动实现云侧逻辑,快速实现特定场景的功能。
鸿蒙生态应用、元服务分层测试模子
https://i-blog.csdnimg.cn/direct/e9cb6c0b3595481497d639c349d88480.png
[*] 单元测试是函数级别的验证。函数是产品开辟实现的最基本单元,单元测试通过验证产品代码的函数输入输出,最终包管整个产品的质量
单元测试框架
https://i-blog.csdnimg.cn/direct/831d059680ae418895ee1b1ebabdb79b.png
UI 测试框架
https://i-blog.csdnimg.cn/direct/a6dc6a2ae8164a0482ae3f09fe39e08e.png
SmartPerf 重要结构
https://i-blog.csdnimg.cn/direct/c9f3c5d1ca6f4fb282c998c223ac1c23.png
wukong 功能全景图
https://i-blog.csdnimg.cn/direct/30409482b4494d52ba34b287f3798421.png
⚫ 下令行分析:支持下令行获取参数并分析下令行参数。
⚫ 运行环境管理:根据下令行初始化 wukong 整体运行环境。
⚫ 体系接口管理:检查并获取指定的 mgr,注册 controller 和 dfx 的 faultlog 的回调函数。
⚫ 随机变乱生成:通过 random 函数生成指定种子数的随机序列,生成变乱。
⚫ 变乱注入:根据支持的变乱范例向体系注入变乱,依靠窗口、多模、安全等子体系。
⚫ 异常捕捉处理:通过 DFX 子体系获取运行中的异常信息。
⚫ 报告生成:生存运行时的异常信息并记录实行日记,生成报告。
⚫ HDC 下令行:依靠 hdc 将下令下发至设备端,支持 exec 和 special 两类下令集。
分布式录制架构原理
https://i-blog.csdnimg.cn/direct/cb70580b165b4517aea3881ea00f55a4.png
提供基于开辟者对设备操作序列的监听,识别所操作的控件,转换生成测试脚本的能力,支持多设备分布式场景自动化脚本录制
⚫ 变乱监听:监控设备操作状态,抓取设备操作变乱流,同步到主控 PC。
⚫ 变乱识别&智能定位:多个设备通过 USB 同步时钟,按时间序次处理监听到的设备变乱,根据变乱的坐标等信息结合当前设备表现页面的结构智能识别还原真实的操作,生成对应的 DSL 操作描述。
⚫ 生成脚本:分析 DSL 描述,生成对应脚本,通过自主编辑增加检查点,就形成了完备的脚本。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]