登录社区云,与社区用户共同成长
邀请您加入社区
《HarmonyOS第一课之首席专家讲鸿蒙》之HarmonyOS 应用开发理念与关键技术深入学习心得课程剖析 一.背景 随着鸿蒙生态的持续拓展与开发者数量的快速增长,HarmonyOS 已经不再是一个单纯的“移动操作系统”,而是面向万物互联的分布式操作平台。本节课《HarmonyOS 应用开发理念与关键技术》由华为首席架构师主讲,从操作系统底层架构到生态应用框架,再到分布式协同与智能化开放,完
《HarmonyOS第一课之首席专家讲鸿蒙》之HarmonyOS Intelligence与AI能力开放深入学习有感 一.背景 撰写本篇文章的初衷,源于对当下智能终端操作系统生态演进的深入思考。随着物联网(IoT)、人工智能(AI)及5G技术的快速发展,传统单设备操作系统已难以满足多设备协同、跨平台流转与安全互联的复杂需求。作为新一代分布式操作系统代表,HarmonyOS(鸿蒙系统)凭借其独特
在数字经济深度发展与万物互联加速渗透的当下,操作系统作为信息技术产业的“根”技术,其安全性直接关系到数字基础设施的稳定运行与用户数据的隐私保障。HarmonyOS(鸿蒙系统)作为面向全场景智慧时代的分布式操作系统,自诞生以来便以“安全”为核心设计理念,构建起一套适应多设备、多场景的纵深安全防护体系。《首席专家讲鸿蒙》系列课程中,“HarmonyOS安全架构设计”专题凭借首席专家的权威解读与深度剖析
在参与《首席专家讲鸿蒙》课程学习之前,HarmonyOS性能优化开发于我而言,犹如一座神秘且充满挑战的技术高峰,虽心向往之,却难以窥其全貌。而当我有幸成为参与该课程学习的开发者,跟随华为首席架构师团队的指引,开启这场深度探索之旅后,才真正踏入了这座技术殿堂的大门。 课程围绕分布式架构优化、声明式UI性能调优、多端协同内存管理等核心技术展开,以架构设计者的独特视角,为我们层层揭开鸿蒙底层原理的神秘面
一.背景 在当下的智能终端时代,用户体验已成为系统竞争的核心要素。如何在多设备、多形态的终端上实现统一、流畅且高效的界面交互,是每一个操作系统必须解决的关键问题。传统UI框架往往以设备为中心,界面开发依赖具体平台和屏幕特性,导致开发者在多端适配时面临巨大的重复工作量与性能瓶颈。 HarmonyOS 的ArkUI 正是在这一时代背景下应运而生。作为鸿蒙系统的统一界面开发框架,ArkUI 以 “一次
一.背景 本节课我们观看剖析《HarmonyOS第一课之首席专家讲鸿蒙》的第二节:【HarmonyOS操作系统原理和关键技术】。 本节课的概览如下: HarmonyOS,旨在解决传统终端操作系统局限性,为万物互联时代打造,目标是打破生态壁垒,通过分布式软总线、数据管理与硬件协同,实现设备间无缝连接,提供流畅、安全的用户体验,同时促进新商业场景开发。该系统强调AI、UI交互与设备兼容性创新,其设计
在数字化转型浪潮席卷全球的今天,我们正步入一个万物互联的智能世界。华为推出的HarmonyOS,并非仅仅是又一个手机操作系统,而是面向全场景智慧生活的基石。为了深入理解其背后的思想,我系统学习了《首席专家讲鸿蒙》系列课程,这不仅是一次技术认知的刷新,更是一次设计思维的升华。 课程直达链接: https://developer.huawei.com/consumer/cn/training/cou
一.背景 随着万物智联时代的到来,操作系统的重要性愈发凸显。在参加《HarmonyOS第一课之首席专家讲鸿蒙》系列课程的体验过程中,我对HarmonyOS(以下简称HarmonyOS)的设计理念、技术架构以及面向开发者的价值有了系统而深入的理解。以下是我对第一节课程内容的测评与个人感受。 本节课的概览如下: 回顾操作系统的演进历史,探讨面向万物智联时代的新机遇与新挑战,并介绍HarmonyOS的7
最初报名《首席专家讲鸿蒙》这门课程时,我对 HarmonyOS 的认知还停留在 “一款新的手机操作系统”,甚至隐隐疑惑:在 iOS 和安卓已经占据市场多年的情况下,鸿蒙的核心价值究竟在哪里?直到跟着首席专家的思路从设计理念到核心技术层层拆解,我才逐渐意识到它背后 “重构人 - 设备 - 场景关系” 的宏大野心 —— 这种从 “单点认知” 到 “生态视野” 的颠覆,成了我整个学习过程中最强烈的感受之
近期,我系统学习了首席专家主讲的“HarmonyOS应用开发理念与关键技术”课程,课程内容深入浅出、逻辑清晰,从HarmonyOS的本质定义到生态开发的核心要点,再到关键技术支撑,全面构建了我对鸿蒙生态的认知框架。以下是对课程主体内容的梳理以及学习后的深刻感悟。 课程内容分为四部分:HarmonyOS是什么、鸿蒙应用开发的关键概念、鸿蒙应用开发的核心理念、OS平台关键技术 课程直达链接: http
页面路由指在应用程序中实现不同页面之间的跳转和数据传递。HarmonyOS提供了Router模块,通过不同的url地址,可以方便地进行页面路由,轻松地访问不同的页面。本文将从页面跳转、页面返回两个方面介绍Router模块提供的功能。
在鸿蒙(HarmonyOS)开发中,context、uiContext、UIAbilityContext是三个与上下文相关的概念,它们在不同的场景下有不同的用途和获取方式。 这三个context都继承自BaseContext.context适用于获取应用的全局信息,而uicontext主要用于UI组件的上下文获取。 1.Context: 定义:Context表示当前Ability的上下文对象,提供
1. 前置学习文档 【HarmonyOS NEXT】ArkTs数据类型解析与使用(https://juejin.cn/spost/7448894500348608522) 2. 前言 在原生JavaScript中只有函数和类的实现,为了更好的面向对象编程,TypeScript 引入了接口、泛型、装饰器等特性。ArkTS也继承了这些特性。 3.函数 3.1 函数声明 函数声明引入一个函数,包含其
1. 背景 为什么设计ArkTS? 1 其它语言有版权【Java?Kotlin?】以及历史问题【Java内存?】 2 生态,可复用前端生态的三方库,兼容JS/TS语言生态 ArkTs解决了JS/TS中的哪些问题? 1 程序健壮性:JS是动态类型【运行期间才去做数据类型检查,且类型可以随便改变】,不利于程序的健壮性。 2 性能问题:TS虽然是静态类型,但是它的类型检查可配置可关闭,而且编译后类型信息
引言: 在数字化时代,操作系统的创新是提升用户体验和开发效率的关键。HarmonyOS NEXT作为华为推出的新一代操作系统,以其分布式架构和强大的开发工具,正在改变开发者的工作方式。本文将深入探讨在HarmonyOS NEXT开发过程中使用的关键技术、框架或工具,以及这些技术如何帮助提高开发效率、优化用户体验,并解决特定问题。 一、关键技术与工具介绍 Ark Compiler Ark Compi
在这个信息爆炸的时代,技术的每一次革新都能带来翻天覆地的变化。HarmonyOS NEXT作为华为推出的新一代操作系统,以其革命性的分布式架构和全场景智能体验,为开发者打开了一扇通往未来的大门。本文将详细叙述我成为HarmonyOS NEXT开发者的成长故事,包括我的动机、挑战、收获以及对未来的展望。 回头看,轻舟已过万重山 引
场景介绍 在弱网环境下,系统发起多网迁移(WiFi<->蜂窝,主卡<->副卡等)的过程中,给应用提供连接迁移开始和完成通知,应用根据连接迁移通知的建议进行重建,快速恢复业务,给用户带来平滑、高速、低时延的上网体验。 接口说明 接口名描述on(type: 'handoverChange', callback: Callback): void订阅连接迁移。o
场景介绍 当应用传输体验发生变化时,应用将传输体验和传输的业务类型信息通过实时反馈接口传输给系统网络业务模块,系统网络业务模块进行精细化调度,实现网络加速。 例如:视频类App播放过程中卡顿,将卡顿信息上报后,Network Boost Kit将信息反馈给系统网络加速模块,该模块会记录播放卡顿信息,并根据当前网络情况,启用网络加速能力。 接口说明 接口名描述reportQoe(appQoe: Ap
场景介绍 应用在订阅网络场景识别后,系统在网络场景实时信息或预测信息发生变化后回调给应用,回调的网络场景信息包括数据传输的链路类型、网络场景类型、数传策略建议、弱信号信息等。 接口说明 接口名描述on(type: 'netSceneChange', callback: Callback<Array>): void订阅网络场景信息状态变化。off(type: 
场景介绍 应用在订阅网络质量Qos评估后,系统按照一定的周期或Qos变化后回调给应用。回调的Qos信息包括数据传输的链路类型、上下行空口实时带宽、上下行空口实时速率、RTT时延等。 接口说明 接口名描述on(type: 'netQosChange', callback: Callback<Array>): void订阅Qos信息状态变化。off(type: 
Network Boost Kit(网络加速服务)提供网络加速能力以及网络感知、网络质量预测等能力,通过软、硬、芯、端、管、云等全方位的协同解决方案实现网络资源的调优和加速,从而构筑更可靠、更流畅、更高速的上网体验。 申请权限 场景概述 应用在使用Network Boost Kit能力前需要检查是否已经获取对应权限。如未获得授权,需要声明对应权限。 Network Boost Kit所需权限有:
简介 流量管理提供了基于物理网络的数据流量统计能力,支持基于网卡/UID 的流量统计。 流量管理主要实现功能有: 支持基于网卡/UID 的实时流量统计。 支持基于网卡/UID 的历史流量统计。 支持基于网卡/UID 的流量变化订阅。 说明 为了保证应用的运行效率,大部分 API 调用都是异步的,对于异步调用的 API 均提供了 callback 和 Promise 两种方式,以下示例均采用 pro
场景介绍 NetConnection模块提供了常用网络信息查询的能力。 接口说明 接口名描述OH_NetConn_HasDefaultNet(int32_t *hasDefaultNet)检查默认数据网络是否被激活,判断设备是否有网络连接,以便在应用程序中采取相应的措施。OH_NetConn_GetDefaultNet(NetConn_NetHandle *netHandle)获得默认激活的数据网
简介 网络连接管理提供管理网络一些基础能力,包括WiFi/蜂窝/Ethernet等多网络连接优先级管理、网络质量评估、订阅默认/指定网络连接状态变化、查询网络连接信息、DNS解析等功能。 说明 为了保证应用的运行效率,大部分API调用都是异步的,对于异步调用的API均提供了callback和Promise两种方式,以下示例均采用promise函数。 基本概念 网络生产者:数据网络的提供方,比如W
简介 MDNS即多播DNS(Multicast DNS),提供局域网内的本地服务添加、移除、发现、解析等能力。 本地服务:局域网内服务的提供方,比如打印机、扫描器等。 MDNS管理的典型场景有: 管理本地服务,通过对本地服务的创建,删除和解析等,管理本地服务。 发现本地服务,通过DiscoveryService对象,对指定类型的本地服务状态变化进行监听。 说明 为了保证应用的运行效率,大部分API
简介 Socket 连接主要是通过 Socket 进行数据传输,支持 TCP/UDP/Multicast/TLS 协议。 基本概念 Socket:套接字,就是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象。 TCP:传输控制协议(Transmission Control Protocol)。是一种面向连接的、可靠的、基于字节流的传输层通信协议。 UDP:用户数据报协议(User Data
场景介绍 使用WebSocket建立服务器与客户端的双向连接,需要先通过createWebSocket()方法创建WebSocket对象,然后通过connect()方法连接到服务器。当连接成功后,客户端会收到open事件的回调,之后客户端就可以通过send()方法与服务器进行通信。当服务器发信息给客户端时,客户端会收到message事件的回调。当客户端不要此连接时,可以通过调用close()方法主
场景介绍 应用通过HTTP发起一个数据请求,支持常见的GET、POST、OPTIONS、HEAD、PUT、DELETE、TRACE、CONNECT方法。 接口说明** HTTP数据请求功能主要由http模块提供。 使用该功能需要申请ohos.permission.INTERNET权限。 接口名描述createHttp()创建一个http请求。request()根据URL地址,发起HTTP网络请求。
Distributed Service Kit(分布式管理服务)实现了分布式设备管理、分布式硬件管理、分布式键鼠穿越等能力。 应用开发者可以通过分布式设备管理进行周边设备的发现、认证、信息查询、状态监听等,该能力是分布式业务的入口功能,即只有完成认证后的设备之间才可以进行分布式业务。 运作机制 分布式设备管理能力作为系统为应用提供的一种基础服务,需要应用在所使用的业务场景,向系统主动发起请求,完成
概述 无线局域网(Wireless Local Area Networks,WLAN),是通过无线电、红外光信号或者其他技术发送和接收数据的局域网,用户可以通过WLAN实现结点之间无物理连接的网络通讯。常用于用户携带可移动终端的办公、公众环境中。 WLAN系统为用户提供接入WLAN网络功能(STA模式)、点对点的数据传输功能(P2P模式)和热点分享功能(AP模式),让应用可以通过WLAN和其他设备
简介 安全单元(SecureElement,简称SE),电子设备上可能存在一个或多个安全单元,比如有eSE(Embedded SE)和SIM卡。能够充当安全单元的SIM卡,要求具备NFC功能。 场景介绍 应用程序可以通过接口访问安全单元,比如往安全单元里面写入数据,实现在电子设备上模拟一张NFC卡片的目的。该卡片数据可能存储在eSE安全单元,或在SIM卡安全单元上。安全单元上一般会预置有访问控制规
简介 近场通信(Near Field Communication,NFC)是一种短距高频的无线电技术,在13.56MHz频率运行,通信距离一般在10厘米距离内。HCE(Host Card Emulation),称为基于主机的卡模拟,表示不依赖安全单元芯片,电子设备上的应用程序模拟NFC卡片和NFC读卡器通信,实现NFC刷卡业务。 场景介绍 应用程序模拟NFC卡片,和NFC读卡器通信完成NFC刷卡业
简介 近场通信(Near Field Communication,NFC)是一种短距高频的无线电技术,在13.56MHz频率运行,通信距离一般在10厘米距离内。电子设备可以通过NFC通信技术和NFC标签通信,从标签中读取数据,或写入数据到标签。 NFC标签可能会支持一种或多种通信技术,具体技术如下: NfcA (也称为 ISO 14443-3A) NfcB (也称为 ISO 14443-3B) N
简介 SPP是Serial Port Profile(串口协议)的缩写,是一种蓝牙协议,用于在蓝牙设备之间建立串行通信连接。通过SPP,蓝牙设备可以像使用串口一样进行数据传输,例如传输文件、文本等。 场景介绍 主要场景有: 服务端向客户端写入数据。 通过socket连接对端设备。 接口说明 具体接口说明如下表。 接口名功能描述sppListen()创建一个服务端监听Socket。sppAccept
简介 通用属性协议是GATT(Generic Attribute)的缩写,它是一种用于在蓝牙低功耗设备之间传输数据的协议,定义了一套通用的属性和服务框架。通过GATT协议,蓝牙设备可以向其他设备提供服务,也可以从其他设备获取服务。 场景介绍 主要场景有: 连接server端读取和写入信息。 server端操作services和通知客户端信息。 接口说明 具体接口说明如下表。 接口名功能描述conn
简介 广播与扫描,主要提供了蓝牙设备的开启广播、关闭广播、开启扫描、关闭扫描方法,通过广播和扫描发现对端蓝牙设备,实现低功耗的通信。 场景介绍 主要场景有: 开启、关闭广播 开启、关闭扫描 接口说明 具体接口说明如下表。 接口名功能描述startBLEScan()发起BLE扫描流程。stopBLEScan()停止BLE扫描流程。startAdvertising()开始发送BLE广播。disable
概述 蓝牙技术是一种无线通信技术,可以在短距离内传输数据。它是由爱立信公司于1994年提出的,使用2.4 GHz的ISM频段,可以在10米左右的距离内进行通信。可以用于连接手机、耳机、音箱、键盘、鼠标、打印机等各种设备。特点是低功耗、低成本、简单易用。目前已经发展到了第五代,支持更高的数据传输速率和更广的覆盖范围。 实现原理 蓝牙的实现原理是基于无线电技术的短距离通信协议,使用2.4GHz频段的无
XEngine Kit提供自适应VRS功能,其通过合理分配画面的计算资源,视觉无损降低渲染频次,使不同的渲染图像使用不同的渲染速率,能够有效提高渲染性能。 接口说明 以下接口为自适应VRS设置接口,如要使用更丰富的设置和查询接口。 接口名描述const GLubyte * HMS_XEG_GetString (GLenum name)XEngine GLES扩展特性查询接口。GL_APICALL
XEngine Kit提供空域AI超分能力,基于单帧图像使用AI推理生成滤波参数进行超采样,通过GPU、NPU协同工作,实现比空域GPU超分更好的画质,建议超分倍率在1.5倍以下时使用。 接口说明 以下接口为GLES空域AI超分设置接口,如要使用更丰富的设置和查询接口。 接口名描述const GLubyte * HMS_XEG_GetString (GLenum name)XEngine GLES
XEngine Kit提供空域GPU超分能力,其基于单帧输入图像,使用空间邻域信息实现超采样,开销较小同时收益可观,建议使用超分倍率为[1.2, 1.5]。 接口说明 以下接口为GLES和Vulkan空域GPU超分设置接口,如要使用更丰富的设置和查询接口。 接口名描述const GLubyte * HMS_XEG_GetString (GLenum name)XEngine GLES扩展特性查询接
XEngine Kit(GPU加速引擎服务)提供基于马良GPU的性能提升方案,包括GPU/AI超分能力、自适应VRS、Subpass Shading等,通过图形算法以及软硬件优化,让用户拥有更高性能、更低功耗的3D游戏/应用、AR/VR体验。 场景介绍 优化细节画质,降低能耗 当GPU性能不足以支持渲染高分辨率场景时,为了提高用户体验,可以使用超分能力,将较低分辨率图像通过超分重建为高分辨率图像。
概述 OpenGTX是GPU Turbo X的开放式入口,根据游戏开发者主动提供的游戏过程中的关键信息,使能LTPO(动态帧率/刷新率)等游戏加速方案,助力游戏开发者打造高画质、高流畅、低功耗极致体验。LTPO通过动态感知游戏渲染状态、游戏场景、设备状态等关键信息,动态调整游戏的帧率/刷新率以及设备的SOC/DDR频率。 业务流程 LTPO的主要业务流程如下: 用户进入游戏。 游戏应用调用[HMS
业务流程 基于相机运动感知策略的ABR主要业务流程如下: 用户进入ABR适用的游戏场景。 游戏应用调用[HMS_ABR_CreateContext]接口并指定图形API类型,创建ABR上下文实例。 游戏应用调用[HMS_ABR_SetTargetFps]接口初始化ABR实例,配置目标帧率属性,ABR结合目标帧率属性实时感知GPU负载状态。 游戏应用调用[HMS_ABR_SetScaleRange]
超帧提供两种运动估计模式供开发者选择:分别为基础模式和增强模式。其中增强模式需要对绘制顶点的Draw Call命令进行额外的标记,在相机和物体快速运动的游戏场景超帧效果较基础模式更优,能够有效改善拖影问题。本章主要介绍增强模式的运动估计原理及顶点标记方法。 说明 Draw Call:指图形驱动库(OpenGL ES)中进行绘制的命令,例如glDrawElements、glDrawArrays、gl
业务流程 基于Vulkan图形API平台,集成超帧外插模式的主要业务流程如下: 用户进入超帧适用的游戏场景。 游戏应用调用[HMS_FG_CreateContext_VK]接口创建超帧上下文实例。 游戏应用调用接口配置超帧实例属性。包括调用[HMS_FG_SetAlgorithmMode_VK](必选)设置超帧算法模式并选择外插模式;调用[HMS_FG_SetResolution_VK](必选)设
超帧外插模式是利用相邻两个真实渲染帧进行超帧计算并生成未来一帧预测帧,即利用第N-1帧、第N帧真实帧预测第N+0.5帧预测帧,如下图所示。由于外插模式不改变渲染时间线和显示时间线的帧间顺序,因此不会导致响应时延的增加。但由于外插模式预测的是未来帧画面,当发生场景画面帧间差异大、相机或物体运动方向突变时,在预测帧的画面边缘和物体边缘容易出现拖影和模糊现象。 OpenGL ES平台 业务流程 基于Op
业务流程 基于Vulkan图形API平台,集成超帧内插模式的主要业务流程如下: 用户进入超帧适用的游戏场景。 游戏应用调用[HMS_FG_CreateContext_VK]接口创建超帧上下文实例。 游戏应用调用接口配置超帧实例属性。包括调用[HMS_FG_SetAlgorithmMode_VK](必选)设置超帧算法模式并选择内插模式;调用[HMS_FG_SetResolution_VK](必选)设
超帧内插模式是利用相邻两个真实渲染帧进行超帧计算生成中间的预测帧,即利用第N-1帧和第N帧真实渲染帧预测第N-0.5帧预测帧,如下图所示。由于中间预测帧的像素点通常能在前后两帧中找到对应位置,因此内插模式的预测帧效果较外插模式更优。由于第N帧真实渲染帧需要等待第N-0.5帧预测帧生成并送显后才能最终送显,因此会新增1~2帧的响应时延。 OpenGL ES平台 业务流程 基于OpenGL ES图形A
动画是3D场景中重要的资源类型,用于控制场景中各种元素的运动。比如想要场景中的人物进行走路这个动作,每帧计算人物每一个关节的旋转角并进行设置是难以实现的。所以在完成类似的要求时,3D场景资源的制作者会将动画制作好,在模型文件中保存动画的关键帧数据以及关键帧间的插值器类型。ArkGraphics 3D提供播放并控制场景动画的能力,支持开发者灵活地控制动画的状态,达到预期的渲染效果。 动画资源的创建
3D场景中资源类型主要包含以下几种: 材质(Material): 材质是对场景中物体的光学物理性质的数学建模。在渲染计算的过程中,利用这些物理性质计算与光的相互作用,得到最终渲染的颜色。ArkGraphics 3D提供的材质类型基于PBR渲染,支持用户参照PBR渲染材质类型创建材质资源,得到预期的渲染结果。 图片(Image): 图片本质上是上一个储存信息的二维内存块(buffer),用于储存3D
鸿蒙课程学习
——鸿蒙课程学习
联系我们(工作时间:8:30-22:00)
400-660-0108 kefu@csdn.net