HarmonyOS应用开发知识地图
HarmonyOS 应用开发旅程
HarmonyOS 应用开发旅程

PS:Xmind原文件可以直接跳转官方具体文档地址,如需要原文件请联系:DYZZ198
01.准备与学习
学习 HarmonyOS 的基本概念和架构,搭建好所需的开发工具和环境,了解开发规范和最佳实践
了解 HarmonyOS
- HarmonyOS 介绍
- HarmonyOS 简介
- 鸿蒙生态应用开发白皮书
- 鸿蒙生态应用安全技术白皮书
- 获取最新套件
- HarmonyOS 开发套件
- HarmonyOS 赋能套件
快速入门
- 鸿蒙应用开发快速入门
学习与认证
- 官方课程
- HarmonyOS 第一课
- Codelabs
- 获取证书
- HarmonyOS 应用开发者基础认证
- HarmonyOS 应用开发者高级认证
保持更新
- 获取最新版本变更特性
求助与分享
- 加入开发者社区
- 开发者活动
02.应用体验设计
设计适配 HarmonyOS 系统的应用界面,确定应用的功能和交互设计,了解 HarmonyOS 系统的设计原则和用户体验准则
UX设计
- 布局设计
- 动效设计
- 交互设计
HarmonyOS 特征设计
- 一次开发,多端部署
- 一多工程管理
- 一多常用布局能力
- 一多典型布局场景
- 多设备交互归一
- 一多垂域案例
- 自由流转
- 自由流转
- 应用接续
- 媒体播控
- 跨设备拖拽
- 跨设备剪贴板
业务场景与解决方案
- 行业场景
- 新闻阅读类
- 出行导航类
- 社交通讯类
03.应用架构
为了帮助开发者更好的理解 HarmonyOS 进行应用设计,我们对重点设计场景提供了指导。
架构
- 分层架构设计
- 模块化设计
- 应用并发设计
- 应用导航设计
- 切片编程设计
04.应用质量
为了帮助开发者打造一款高质量的应用,我们从应用的性能、功耗、隐私与安全、运维等多个维度提供了指导。
体验设计
- 基础功能和兼容性体验建议
- 稳定性体验建议
- 性能体验建议
- 功耗体验建议
- 安全隐私体验建议
- UX 体验建议
技术质量
-
性能
- 应用流畅体验设计
- 合理使用布局
- 状态管理最佳实践
- Web 场景性能优化指导
- 帧率和丢帧分析
-
功耗
- 省电和深色模式下低功耗设计
- 可变帧率能力
- 合理使用后台任务
- 合理使用后台硬件资源
- 合理使用后台软件资源
-
隐私与安全
- 应用隐私保护
- 应用数据安全
- 应用安全编码实践
- 应用资产保护设计
- 应用代码混淆
-
运维
- 故障定位指导
05.开发工具
DevEco Studio
-
开发阶段
- 环境准备
- 工程管理
- 代码编辑
- 界面预览
-
编译调试阶段
- 编译构建
-
签名
- 签名服务
-
调试运行
- 应用运行
- 应用调试
- 性能分析
-
测试
- 应用测试
-
发布
- 应用发布
-
命令行
- 命令行工具
06.功能开发
为了帮助开发者更好的理解 HarmonyOS 进行功能开发,我们对重点开发场景提供了指导。
应用框架开发
- 程序包结构
- 程序包结构
- HAR 包的创建和引用
- HSP 包的创建和引用
- 程序框架
- 程序框架的亮点/特征
- 应用组件概念
- UIAbility 组件生命周期
- UIAbility 组件启动
- UIAbility 组件与 UI 的数据通信
- ArkTS 语言
- TS 到 ArkTS 适配指导
- TaskPool 和 Worker 的对比
- 动态 import
- 语言基础类库
- 方舟字节码基本原理
- NDK 开发
- NDK 工程构建
- Node-API 跨语言交互
- 异步开发
- 三方 SO 库移植
- CPP Crash 故障定位
- UI 框架
- 使用 Navigation 导航
- 构建列表布局
- 开发沉浸式页面
- 控制软键盘弹出
- 开发自定义弹窗
- 本地数据和文件
- 轻量级数据持久化
- 关系型数据库存储
- 跨设备数据同步
- 应用数据备份恢复
- 跨应用数据共享
- 分布式文件访问
- 用户文件访问
- 应用文件访问
- 文件压缩
- 系统空间统计
- Web
- Web 组件
- WebView
- 使用 Web 组件加载页面
- 同层渲染
- 在应用代码中开启 Web 调试
- 系统开发
- 网络
- 网络连接管理
- HTTP 数据请求
- WebSocket 连接
- Socket 连接
- MDNS 管理
- 安全
- 应用权限申请
- 加解密算法框架
- 通用密钥库
- 设备证书服务
- 关键资产存储服务
- 网络
- 媒体开发
- 拍照和图片
- 双路预览
- 人脸检测
- 通用文字识别
- 预览图像实时获取
- 系统相机拍照
- 显示图片
- 图片编码
- 图片解码
- EXIF 信息读取
- 图片压缩
- 音频和视频
- AVRecoder 录像
- 音频编解码
- 音频焦点监听
- AVPlayer 音频播放
- 音频元数据获取
- 视频编解码
- 视频投播
- AVPlayer 视频播放
- AVPlayer 视频控制
- AVPlayer 全屏播放
- 拍照和图片
- 图形开发
- 2D 图形绘制
- 3D 图形绘制
- OpenGL 图形渲染
- XComponent 自定义绘制
- 图像变换
- 图形加速服务
- GPU 加速引擎服务
- 应用服务开发
- 华为帐号服务
- 推送服务
- 实况窗服务
- 广告服务
- 应用市场服务
- 应用内支付服务
- 华为支付服务
- 位置服务
- 地图服务
- 运动健康服务
- 联系人服务
- 游戏服务
- AI 功能开发
- 意图框架
- HarmonyOS 意图框架
- 意图框架
07.应用测试
HarmonyOS 应用/服务开发完成后,在发布到应用/服务市场前,还需要对应用进行:漏洞、隐私、兼容性、稳定性、性能等测试,确保 HarmonyOS 应用/服务纯净、安全,给用户带来更好的使用体验。
单元测试和 UI 测试
- 自动化测试框架
- 自动化测试框架
- UI 测试
- 测试脚本快速开发入门
应用专项测试
- DevEco Testing
08.上架与分发
HarmonyOS 应用/服务开发、测试完成后,将应用/服务发布至应用市场,用户可以通过应用市场、负一屏等渠道获取到对应的 HarmonyOS 应用/服务。
应用发布
- 发布前测试
- 发布 HarmonyOS 应用
- 分阶段发布
运营增长
- 应用分析
- 崩溃服务
流量变现
- 鲸鸿动能流量变现服务
- 开发者接入流程
- 鲸鸿动能 SDK 接入指南
- APK/RPK 广告位信息表
- 常见问题 QA
相关文章:
HarmonyOS应用开发知识地图
HarmonyOS 应用开发旅程 HarmonyOS 应用开发旅程 PS:Xmind原文件可以直接跳转官方具体文档地址,如需要原文件请联系:DYZZ198 01.准备与学习 学习 HarmonyOS 的基本概念和架构,搭建好所需的开发工具和环境,了解开发规范和最佳实践 了解 H…...
了解反向代理如何工作吗?
在当今数字化时代,网络通讯扮演着重要的角色,而代理技术为网络通讯提供了更多的灵活性和安全性。作为两种重要的代理技术,代理服务器和反向代理的运行原理和用途各有不同。本文将重点介绍反向代理的运行原理,深入探讨其在网络通讯…...
ASCII码对照表
常用 ASCII 码详细对照表 (0—255) 第 0~32 号及第 127 号(共 34 个)是控制字符或通讯专用字符,如控制符:LF (换行)、CR(回车)、FF(换页)、DEL&am…...
Git的一些简单使用
下列内容适用于git初学者,从创建本地git仓库到提交的一个基本过程1. 1.创建git仓库 在想创建git仓库的路径下打开git bash,输入以下命令行创建仓库(一般来说,我觉得直接在code workspace得地方创建git仓库就可以了,这…...
C++基础语法(下)
前言 上一篇文章介绍了部分的引用,这里主要对引用的特点,引用与指针区别的进行区分,const引用权限的使用,内联函数的讲解。 引用特性 引用在定义时必须进行初始化一个变量可以有多个引用引用一旦引用一个实体,再不能…...
UKP3d创建斜管的操作
用户问:需要插入两个60的弯头,怎么操作啊? 以前我的回复算X,Y,Z相对空间坐标,适用于任何情况,有些难为用户。若是非特定角度,算起来又要下一翻功夫。 在UKP3d里提供了吸附任意角度的功能,任意角…...
【已解决】如何获取到DF数据里最新的调薪时间,就是薪资最高且时间最早?
问题说明: 前几天在Python最强王者交流群【群除我佬】问了一个Pandas处理的问题,这里拿出来给大家分享下。 看上去不太好理解,其实说白了,就是在工资最高里,再找时间最早的。 换句话说就是,这三个人&…...
PyQt5入门
Python中经常使用的GUI控件集有PyQt、Tkinter、wxPython、Kivy、PyGUI和Libavg。其中PyQt是Qt(c语言实现的)为Python专门提供的扩展 PyQt是一套Python的GUI开发框架,即图形用户界面开发框架.。而在Python中则使用PyQt这一工具包(PyQt5、PyQt5-tools、PyQt5-stubs&am…...
算法力扣刷题记录 六十九【动态规划基础及509. 斐波那契数】
前言 调整一下做题顺序,多个章节同步进行,穿插练习。可以在各章节的专栏中找同一类。 记录 六十九【动态规划基础】。 一、动态规划理论基础学习 参考学习链接 二、509. 斐波那契数 2.1 题目阅读 斐波那契数 (通常用 F(n) 表示&#x…...
如何利用Python进行数据分析
在当今这个大数据时代,数据分析已经成为了各行各业都非常重视的技能。而Python作为一门强大且易学的编程语言,成为了数据分析领域的主流工具之一。那么,如何利用Python进行数据分析呢? 一、安装Python及数据分析库 首先…...
如何判断机器学习模型的好坏之LIME和SHAP
LIME(Local Interpretable Model-agnostic Explanations)和SHAP(SHapley Additive exPlanations)是两种广泛使用的模型可解释性技术,旨在帮助理解复杂机器学习模型的决策过程。 LIME LIME (Local Interpretable Model-agnostic Explanations) 是一种技术,用于解释任何机…...
Android 是如何进行内存管理的
目录 1. 垃圾回收 (Garbage Collection)2. 内存分配3. 内存泄漏检测4. 内存优化5. 内存抖动 (Memory Churn)6. 内存警告 (Memory Warning)7. 内存分页 (Memory Paging)8. 内存分段 (Memory Segmentation)9. 内存压缩 (Memory Compaction)10. 内存分区 (Memory Partitioning)11.…...
【CSDN平台BUG】markdown图片链接格式被手机端编辑器自动破坏(8.6 已修复)
文章目录 bug以及解决方法bug原理锐评后续 bug以及解决方法 现在是2024年8月,我打开csdn手机编辑器打算修改一下2023年12月的一篇文章,结果一进入编辑器,源码就变成了下面这个样子,我起初不以为意,就点击了发布&#…...
WPF学习(4)- VirtualizingStackPanel (虚拟化元素)+Canvas控件(绝对布局)
VirtualizingStackPanel虚拟化元素 VirtualizingStackPanel 类(虚拟化元素)和StackPanel 类在用法上几乎差不多。其作用是在水平或垂直的一行中排列并显示内容。它继承于一个叫VirtualizingPanel的抽象类,而这个VirtualizingPanel抽象类继承…...
SQL约束
目录 1.常见的SQL约束 1.1 添加主键约束 1.2 单独添加主键约束 1.3 删除主键约束 1.4 设置自动增长 2.添加非空约束 3.添加唯一约束 4.添加默认值约束 我们已知道,创建数据表语法: create table 表名(字段名1 数据类型(长度) [约束],字段名…...
lombok使用@slf4j 运行时提示找不到符号log(Missing POM for org.projectors:lombok:jar)
1.问题表现 原本是之前搭建好的工程,只是换了个开发环境重新启动就不行了。一直编译不通过! 可以看到IDEA其实是引入了依赖的 都没有出现红色波浪线 <mapstruct.version>1.5.5.Final</mapstruct.version> <lombok.version>1.18.30<…...
21. 合并两个有序链表(递归)
目录 一;题目: 二代码; 三:结果: 一;题目: 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 二代码; /*** Definition for singly-linked list.* struct ListNode {* …...
学习vue3 三,组件基础,父子组件传值
组件基础 每一个.vue 文件都可以充当组件来使用 每一个组件都可以复用 父组件引入之后可以直接当标签使用 案例: App.vue <script setup lang"ts"> import BaseRefAndReactive from "./components/BaseRefAndReactive.vue";</sc…...
月木学途开发 2.项目架构
1.项目介绍 月木学途是一款it在线学习网站,项目采用前后端分离架构。前端开发主要使用vue.js,后端使用Spring Cloud Alibaba技术栈。项目包含学习网站的大部分功能,分为管理员端和用户端。管理员端有权限管理、课程管理、网站管理、求职模块管…...
FPGA开发——按键控制数码管的设计
一、概述 按键控制数码管是一种常见的电子显示技术,它结合了按键输入与数码管显示的功能。在这一设计中,用户通过按下不同的按键来发送指令,这些指令随后被处理并转换为数码管上显示的数字或字符。按键通常作为输入设备,通过电路…...
如何快速构建推荐系统:Learn-Data-Science-For-Free中的协同过滤算法终极指南
如何快速构建推荐系统:Learn-Data-Science-For-Free中的协同过滤算法终极指南 【免费下载链接】datascience This repositary is a combination of different resources lying scattered all over the internet. The reason for making such an repositary is to co…...
Z-Image-Turbo-rinaiqiao-huiyewunv应用场景:二次元IP定制化绘图、同人创作、角色设定图生成
Z-Image Turbo (辉夜大小姐-日奈娇)在二次元IP定制化绘图中的应用实践 1. 项目背景与核心价值 二次元文化爱好者经常面临一个共同挑战:如何快速生成符合特定角色设定的高质量图像。传统绘图软件学习成本高,而通用AI绘图工具又难以精准还原角色特征。Z-…...
从硬件视角看RISC-V FENCE:流水线、Cache与指令保序的底层实现
从硬件视角看RISC-V FENCE:流水线、Cache与指令保序的底层实现 在处理器设计中,内存访问的顺序性是一个看似简单却充满挑战的问题。想象一下,当你在厨房同时操作多个灶台时,虽然每个锅里的食材都在按计划烹饪,但火候的…...
前端首屏性能指标(FP/FCP/LCP/TTI)测量全攻略
在前端开发中,首屏加载性能直接决定了用户的第一体验,而FP、FCP、LCP、TTI作为衡量首屏性能的核心指标,是面试和项目优化中绕不开的话题。很多开发者只知道指标的定义,却不清楚如何实际测量,本文将从开发调试、代码埋点…...
OpenClaw小团队协作:Kimi-VL-A3B-Thinking共享模型的经济部署
OpenClaw小团队协作:Kimi-VL-A3B-Thinking共享模型的经济部署 1. 为什么我们需要共享模型部署? 去年夏天,我们团队在开发一个多模态内容分析工具时,遇到了一个典型的技术困境:每个成员都需要频繁调用Kimi-VL-A3B-Thi…...
OpenClaw 实战:让AI 页面“秒开即用”,实现 Vibecoding 真正闭环
我为什么会发出这个疑问呢?是因为我研究Web开发中的一个问题时,HTTP请求体在 Filter(过滤器)处被读取了之后,在 Controller(控制层)就读不到值了,使用 RequestBody 的时候。 无论是字…...
AI模型平台进入深水区:技术落地能力成胜负手
AI模型平台进入深水区:技术落地能力成胜负手 随着AI技术在各行业加速渗透,模型平台已成为企业智能化转型的关键基础设施。当前市场格局下,百度千帆、阿里ModelScope、华为ModelArts与新兴的模力方舟(MoArk)正在上演一场关于技术落地能力的终极…...
C++ 服务端进阶(五)—— Connection + 协程:面向对象的异步模型(工程版完整实现)
一、这一篇到底解决什么问题? 在第四篇中,我们已经完成了: 多 Reactor(并发) 协程(执行) 架构已经是对的了: Main Reactor(accept) ↓ Sub Reactor…...
【实战解读】腾讯云ClawPro正式发布:企业版OpenClaw 10分钟上线,三级Token配额+四层安全防护全解析
腾讯云正式发布企业版OpenClaw——ClawPro,定位为一站式企业AI智能体管控平台。本文从产品定位、三级Token配额体系、四层安全防护、技术架构、部署实操等角度做深度解读,帮助企业技术决策者评估是否适合引入ClawPro。附部署流程和成本分析。 目录前言一…...
Qt实战:用QCustomPlot打造高性能动态波形图(附GitHub源码)
Qt实战:用QCustomPlot打造高性能动态波形图(附GitHub源码) 在物联网设备监控、工业自动化测试或生物电信号分析场景中,开发者常面临每秒数千个数据点的实时可视化挑战。传统绘图库在渲染高频动态波形时容易出现卡顿、帧率骤降等问…...
