华为云码道(CodeArts)鸿蒙应用开发实战 - 详细笔记
华为云码道(CodeArts)鸿蒙应用开发实战 - 详细笔记
学习来源:华为云码道(CodeArts)鸿蒙应用开发实战.pdf
页数:54页
整理日期:2026-03-31
目录
1. 课程概述
1.1 课程目标
学完本课程后,您将能够:
- [ ] 了解华为云码道 CodeArts 的基本能力
- [ ] 掌握快速搭建"鸿蒙+码道"开发环境
- [ ] 掌握鸿蒙应用全流程开发规范与实操
- [ ] 掌握通过 CodeArts 排查开发问题与解决故障能力
- [ ] 掌握通过 CodeArts 实现新功能的设计与开发
- [ ] 最终依托 CodeArts 完成旅游推荐应用的全流程实战开发
1.2 当下软件开发的核心痛点
| 痛点编号 | 痛点名称 | 问题描述 |
|---|---|---|
| 01 | 编码速度慢 | 开发者大量时间耗费在重复性、机械性的代码编写上,核心创造力被抑制 |
| 02 | 重复工作多 | 相似的业务模块、样板代码、测试用例反复编写,效率低下且容易出错 |
| 03 | 项目拆解难 | 面对复杂需求,新手开发者难以进行有效的任务拆解和架构设计,项目推进困难 |
| 04 | 新生态门槛高 | 以鸿蒙为代表的新兴技术生态,学习曲线陡峭,开发者上手周期长,应用落地慢 |
1.3 码道解决开发困境
码道通过深度集成华为云 CodeArts 工具链,直击四大核心痛点:
高效代码编写
- 依托智能代码能力替代机械编码
- 释放开发者的创新创造力
原生适配鸿蒙 ArkTS/ArkUI
- 深度适配鸿蒙等新兴技术生态
- 内置规范与最佳实践
- 降低学习门槛、缩短上手周期
- 助力应用快速落地
自主拆解复杂需求
- 智能拆解大型、复杂的研发需求
- 生成清晰的任务执行路径
- 让研发新手也能快速参与核心开发
- 显著降低团队协作门槛
智能复用
- 内置通用模板与业务组件
- 支持一键复用
- 减少"重复造轮子"
- 降低人为出错概率
2. 华为云码道 CodeArts 代码智能体介绍
2.1 核心定位
你的 7x24 小时研发专家
无需切换工具,在 IDE 中即可随时与码道对话,像与身边资深同事沟通一样,即时获取精准、专业的研发知识支持。
2.2 四大核心能力
核心能力 1:研发知识问答
| 应用场景 | 示例问题 |
|---|---|
| 技术咨询 | “Java 中 HashMap 是如何实现的?” |
| API 查询 | “帮我查找一下 SDK 中上传文件的 API 示例” |
| 业务逻辑探讨 | “我们这个电商系统的订单状态流转应该怎么设计更合理?” |
| 代码解释 | “选择代码,询问这段代码的解释?” |
核心能力 2:实时代码辅助
| 功能 | 描述 |
|---|---|
| 代码补全与续写 | 不仅是单词补全,更能生成完整的函数、循环体甚至复杂的业务逻辑代码块 |
| 代码一键重构 | 智能识别代码结构,一键完成变量重命名、函数提取及代码逻辑简化优化 |
| 智能注释生成 | 自动为类、函数和关键逻辑生成规范、清晰且可读性强的代码注释 |
| 代码优化 | 支持多种主流开发语言的代码优化,智能识别潜在编码缺陷,提供修复建议 |
核心能力 3:智能体自主开发
从自然语言到完整代码,开发模式的颠覆:
步骤 1:自然语言提需求
- 用日常口语描述需求
- 如:“创建一个用户管理模块,包含增删改查功能,使用 Spring Boot 和 MySQL”
- 无需掌握复杂语法
步骤 2:智能体自主拆解任务
- 像资深架构师一样,自动将需求拆解为可执行子任务
- 如:“创建数据库表” → “生成实体类” → “编写 Service 层逻辑”
步骤 3:跨文件生成完整代码
- 自主完成所有关联文件的创建与代码编写
- 实现"需求即代码"
- 一键交付可运行的高质量项目
核心能力 4:单元测试生成
| 功能 | 描述 |
|---|---|
| 生成测试用例 | 自动分析业务逻辑,快速生成高覆盖率的单元测试用例,显著降低人工编写测试代码的时间成本 |
| 代码检查与合规 | 内置华为级研发规范与安全标准,自动进行代码风格与安全性扫描,确保输出代码符合企业级合规要求 |
2.3 鸿蒙开发中使用码道的优势
| 应用场景 | 优势描述 |
|---|---|
| 鸿蒙应用快速开发 | 使用自然语言描述 UI 和交互,自动生成完整鸿蒙工程,开发效率大幅提升,开发周期平均缩短 35% |
| 日常业务代码编写与重构 | 快速完成 CRUD 代码,高效安全地重构旧项目,有效规避潜在风险,代码缺陷引入率显著降低 75% |
| 新手入门学习 | 通过对话提问即时获取代码示例与详细解释,帮助开发者快速上手新技术栈,显著降低学习门槛 |
| 企业团队标准化编码 | 支持将团队编码规范、架构标准配置到平台,实现代码风格与质量的统一管控,可批量生成符合规范的业务模块 |
3. 快速搭建"鸿蒙+码道"开发环境
3.1 环境准备清单
| 步骤 | 内容 | 说明 |
|---|---|---|
| 1 | 下载安装 DevEco Studio | 编译器版本请安装 6.0 以上版本 |
| 2 | 下载 CodeArts 离线安装包 | 从华为云官网获取 |
| 3 | 在 DevEco Studio 中集成 CodeArts | 插件导入 + 登录 |
3.2 详细步骤
步骤 1:下载安装 DevEco Studio
- 下载地址:https://developer.huawei.com/consumer/cn/deveco-studio/
- 版本要求:6.0 以上版本
步骤 2:下载 CodeArts 离线安装包
步骤 3:DevEco Studio 集成 CodeArts
操作路径:
File → Settings → Plugins → 点右上角 ⚙️ → Install Plugin from Disk → 选择下载的 .zip 插件包
3.3 适合使用码道的鸿蒙项目类型
| 类型 | 是否适合 | 说明 |
|---|---|---|
| 界面驱动型应用(电商/商城、新闻/博客) | ✅ 适合 | 界面驱动,标准化程度高 |
| 需求清晰/偏标准化应用(备忘录、计算器) | ✅ 适合 | 需求明确,易于生成 |
| 多端一致应用(手机、平板、车机、智慧屏) | ✅ 适合 | 码道支持多端适配 |
| 鸿蒙新手/ArkTS 不熟练 | ✅ 特别适合 | 降低学习曲线 |
| 标准组件多、重复页面多(列表、卡片、表单) | ✅ 特别适合 | 可智能复用 |
| 团队要统一代码规范 | ✅ 特别适合 | 企业标准代码编程规范 |
| 底层驱动/内核级开发 | ❌ 不适合 | 需要深度系统知识 |
| 超复杂核心算法场景 | ❌ 不适合 | 需要人工精细设计 |
| 高度定制化的特例场景 | ❌ 不适合 | 需要人工判断 |
4. 基于码道的鸿蒙应用开发实操
4.1 整体开发流程
一个项目从启动到上线的完整生命周期:
┌─────────────────────────────────────────────────────────────────┐
│ 鸿蒙应用开发完整流程 │
├─────────────────────────────────────────────────────────────────┤
│ 01 开发环境准备 │
│ ↓ 搭建开发所需的软硬件环境,确保基础工具就绪 │
│ 02 架构设计 │
│ ↓ 规划项目整体技术架构与模块划分,确定系统骨架 │
│ 03 功能需求分析 │
│ ↓ 深入业务场景,明确项目功能范围与核心业务逻辑 │
│ 04 项目创建 │
│ ↓ 初始化项目工程结构、配置依赖项与基础代码框架 │
│ 05 代码开发 │
│ ↓ 编写核心业务代码,实现功能模块,确保代码质量 │
│ 06 错误修复 │
│ ↓ 进行单元与集成测试,定位并修复发现的 Bug 与漏洞 │
│ 07 运行调试 │
│ ↓ 在接近真实的环境中验证功能完整性与系统性能指标 │
│ 08 打包上线 │
│ 构建最终应用程序包,发布至目标应用市场供用户使用 │
└─────────────────────────────────────────────────────────────────┘
4.2 码道赋能开发流程
| 开发环节 | 码道赋能方式 |
|---|---|
| 架构设计 | 智能解析需求,辅助生成合理的项目架构与模块划分,帮助开发者快速确立系统骨架,规避常见的架构缺陷 |
| 功能需求分析 | 快速将自然语言描述的业务需求转化为结构化、可落地的开发任务清单与功能点,降低沟通成本与理解偏差 |
| 代码开发 | 基于分析结果自动生成高质量样板代码、核心业务逻辑和配套测试用例,大幅减少重复劳动,提升整体编码效率 |
| 错误修复 | 利用智能分析引擎扫描代码,精准定位潜在 Bug 与性能问题,并提供针对性修复建议,加速调试与排障过程 |
4.3 码道在各环节的应用
4.3.1 码道:架构设计
步骤 1:设定项目背景
└── 在 IDE 中用自然语言描述宏观需求与业务目标,无需复杂指令
步骤 2:定义架构栈
└── 指定技术栈与架构风格,或上传现有设计文档作为生成依据
步骤 3:生成项目骨架
└── 自动生成标准化目录与配置,随时审核并确认
4.3.2 码道:功能需求分析
步骤 1:提出需求
└── 从核心功能开始,向码道逐条提出您的业务功能需求
步骤 2:澄清细化
└── 码道针对需求提出追问以获取关键信息,您清晰作答即可完成需求深化
步骤 3:生成文档
└── 自动生成含功能描述、用例、API 及数据模型的本地 .md 文档,供团队审核迭代
4.3.3 码道:代码开发
核心步骤:利用码道读取项目架构文档和功能需求文档
步骤 1:触发生成任务
└── 明确指示生成单个功能或整个模块代码
步骤 2:智能自主规划
└── 自动分解任务,调用技能,自动创建和修改多文件
步骤 3:审核与微调
└── 审查代码,进行微调优化,并直接运行验证功能
💡 核心价值:实现"编码自动驾驶",让码道全自动编程,把开发者从繁琐的编码中彻底解放。
4.3.4 码道:错误修复
核心逻辑:描述 → 分析 → 解决
通过"问题复制"与"交互确认"机制,将代码错误和 bug 交给码道处理。
步骤 01:复现捕获
└── 收集日志、截图及代码片段
步骤 02:描述问题
└── 描述功能异常,或者提供错误提示
步骤 03:码道修复
└── 修复内容、问题原因、修复方案、修复位置
核心价值:利用码道的快速定位修复能力,大幅缩短开发周期。
5. 案例:使用码道快速开发鸿蒙旅游推荐应用
5.1 项目概述
项目背景
本项目是一款基于 HarmonyOS 开发的旅游推荐应用,旨在为用户提供景点浏览、搜索、详情查看等核心功能,帮助用户便捷地获取旅游信息。
目标用户
- 旅游爱好者
- 自由行游客
- 需要了解景点信息的用户
市场痛点
| 痛点 | 描述 |
|---|---|
| 体验优化 | 各大平台功能趋同广告杂多,我们将提供一个简洁无广告的个性化应用体验 |
| 服务割裂 | 旅行全流程中多场景、多应用间的体验不连贯,存在严重的信息孤岛,无法实现无缝流转 |
核心价值
- 提供丰富的景点信息展示
- 便捷的搜索和筛选功能
- 个性化的用户体验
5.2 技术栈
- 基于 ArkTS 开发的鸿蒙原生应用
- 界面驱动型开发
- 业务逻辑清晰
- 产品需求偏标准化
5.3 架构设计
五层架构
┌─────────────────────────────────────────────────────────────────┐
│ 页面层(pages/) │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ Index │ │ Search │ │ List │ │ Mine │ │ Detail │ │
│ │ 首页 │ │ 搜索页 │ │ 列表页 │ │ 我的页 │ │ 详情页 │ │
│ └─────────┘ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │
├─────────────────────────────────────────────────────────────────┤
│ 组件层(components/) │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ Card │ │ ListItem│ │ Banner │ │
│ │ 卡片 │ │ 列表项 │ │ 轮播 │ │
│ └─────────┘ └─────────┘ └─────────┘ │
├─────────────────────────────────────────────────────────────────┤
│ 服务层(service/) │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ ApiService.ets - 网络请求与 API 封装 │ │
│ └─────────────────────────────────────────────────────────┘ │
├─────────────────────────────────────────────────────────────────┤
│ 数据层(model/) │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ Attraction│ │ User │ │ City │ │
│ │ 景点 │ │ 用户 │ │ 城市 │ │
│ └─────────┘ └─────────┘ └─────────┘ │
├─────────────────────────────────────────────────────────────────┤
│ 工具层(common/) │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ Network │ │ Utils │ │ Constants│ │
│ │ 网络 │ │ 工具类 │ │ 常量 │ │
│ └─────────┘ └─────────┘ └─────────┘ │
└─────────────────────────────────────────────────────────────────┘
数据流向
用户交互 → 页面层(pages/) → 组件层(components/) → 服务层(service/) → 数据层(model/) → 后端 API
↓ ↓ ↓ ↓
页面渲染 数据封装 网络请求 点击动作
↓
工具层(common/) ← ← ← ← ← ← ← ← ← ← ← ← ← ← ← ←
5.4 首页模块需求(Index.ets)
| 需求 ID | 功能名称 | 功能描述 | 优先级 |
|---|---|---|---|
| F-INDEX-001 | 轮播图展示 | 展示热门景点轮播图,支持自动轮播和手动滑动 | P0 |
| F-INDEX-002 | 热门景点推荐 | 展示热门景点列表,以卡片形式展示 | P0 |
| F-INDEX-003 | 城市分类入口 | 提供按城市分类的快捷入口 | P1 |
| F-INDEX-004 | 搜索入口 | 提供搜索框,点击跳转到搜索页面 | P0 |
| F-INDEX-005 | 下拉刷新 | 支持下拉刷新首页内容 | P1 |
5.5 开发实践步骤
步骤 1:项目创建
打开 DevEco Studio → 点击 New Project → 选择 Empty Ability → 下一步
→ 项目名称:travel_app
步骤 2:CodeArts 智能体选择
| 模式 | 说明 | 推荐场景 |
|---|---|---|
| 智能体 | 自主规划与执行,完成复杂开发任务 | 推荐选择 |
| 智能问答 | 精通代码,即问即答 | 日常咨询 |
推荐模型:GLM-5.1
步骤 3:代码开发
在 CodeArts 对话框中输入:
我需要根据 architecture.md 架构文档和 requirements.md 需求文档完成一个鸿蒙旅游推荐应用。
步骤 4:错误修复
将项目中编译器检查到的错误提示复制,并提交到 CodeArts 对话框中提示 CodeArts 进行修复。
步骤 5:手动编程示例
我需要手动编写一个日期格式化工具类,在编程过程中可以通过 CodeArts 代码提示和自动续写完成。
步骤 6:UI 代码开发
可以通过预览器观看 UI 效果,提示 CodeArts 进行 UI 开发。
步骤 7:项目图片资源
帮我寻找对应景点的图片资源下载到项目的资源文件目录下 src/main/resources/base/media,并且修改项目中的图片引用。
5.6 运行调试
测试场景
| 用户类型 | 页面名称 | 预期体验效果 | 目的 |
|---|---|---|---|
| 游客/注册用户 | 首页浏览 | 在首页看到热门城市、热门推荐 | 快速了解热门旅游目的地 |
| 游客/注册用户 | 景点搜索 | 通过关键词搜索景点 | 快速找到感兴趣的景点 |
| 游客/注册用户 | 景点详情查看 | 查看景点的详细信息 | 了解景点的特色和评价 |
| 注册用户 | 景点收藏 | 收藏感兴趣的景点 | 在个人中心快速查看 |
运行环境
通过 No Devices 中的设备管理器进行运行调试:
- 在设备管理器里面创建一个手机模拟器
- 选择默认下一步直到创建完成
5.7 功能添加流程
┌─────────────────────────────────────────────────────────────────┐
│ 功能添加完整流程 │
├─────────────────────────────────────────────────────────────────┤
│ │
│ 功能需求设计 ──→ 功能代码开发 ──→ 功能调试 ──→ 错误修复 │
│ │ │ │ │ │
│ ↓ ↓ ↓ ↓ │
│ 通过码道进行 导入需求文档 运行项目调试 描述需要 │
│ 需求设计 给码道进行 功能 修改的功能 │
│ 代码开发 细节 │
│ │
└─────────────────────────────────────────────────────────────────┘
5.8 登录功能设计
登录模块场景
| 场景 ID | 场景名称 | 触发条件 | 预期行为 |
|---|---|---|---|
| S01 | 首次启动应用 | 应用未登录态启动 | 进入首页,底部 Tab"我的"显示"未登录" |
| S02 | 点击"未登录" | 用户在"我的" Tab 点击"未登录"文字 | 跳转至登录注册页面 |
| S03 | 手机号验证码登录 | 用户输入手机号,点击获取验证码,输入验证码后点击登录 | 验证通过后保存 token,跳转回首页,“我的” Tab 显示用户昵称 |
| S04 | 账号密码注册 | 用户切换至注册 Tab,输入手机号+密码+确认密码,点击注册 | 注册成功后自动登录,跳转回首页 |
| S05 | 退出登录 | 已登录用户在"我的"页面点击"退出登录" | 弹出确认弹窗,确认后清除 token 和用户数据,跳转至登录页 |
| S06 | Token 过期 | 已登录态下 token 过期/无效 | API 返回 401,自动清除 token,跳转至登录页并提示"登录已过期" |
| S07 | 访问受限功能 | 未登录用户尝试收藏景点 | 提示"请先登录",跳转至登录页 |
登录功能添加步骤
步骤 1:用码道生成一个登录功能需求文档 Login-Register.md
└── 描述新功能需求 → 导入码道智能体 → 生成需求文档
步骤 2:提示码道
└── "请读取 Login-Register.md 需求文档,完成项目登录注册功能的开发。"
5.9 功能测试验收
| 模块名称 | 完成目标 | 是否完成 |
|---|---|---|
| 首页模块 | 轮播图正常展示和自动播放、热门景点列表正确加载、搜索入口可正常跳转、下拉刷新功能正常 | ⬜ |
| 列表模块 | 景点列表正确展示、筛选功能正常工作、分页加载正常、列表项点击跳转正常 | ⬜ |
| 详情模块 | 景点信息完整展示、图片浏览功能正常、收藏功能正常、分享功能正常 | ⬜ |
| 搜索模块 | 搜索结果准确、历史记录正常保存、清空历史功能正常 | ⬜ |
| 个人中心模块 | 用户信息正确展示、收藏列表正常展示、删除收藏功能正常 | ⬜ |
5.10 上线发布准备
账号认证 → 合规准备 → 签名打包 → AGC 信息填报 → 上传包 → 提交审核 → 通过上架
AGC 后台信息填报地址:(见官方文档)
发布 HarmonyOS 应用指导文档地址:(见官方文档)
6. 思考题与总结
6.1 思考题
题目:下列关于华为云码道(CodeArts)代码智能体开发代码,描述错误的是()。
A. 华为云码道代码智能体可以直接读取需求文档开发出对应功能。
B. 开发页面代码时,需要调整页面布局可以直接通过码道沟通调整。
C. 需要开发新功能的时候,可以通过沟通码道生成需求文档,再通过读取需求文档开发新功能。
D. 华为云码道代码智能体可以读取测试验收文档,就可以不用人为运行测试。
答案:D
解析:码道虽然可以读取测试验收文档辅助测试,但仍需要人工运行测试进行验证,不能完全替代人工测试。
6.2 核心知识点总结
| 知识点 | 内容 |
|---|---|
| 码道四大核心能力 | 研发知识问答、实时代码辅助、智能体自主开发、单元测试生成 |
| 鸿蒙开发优势 | 开发周期平均缩短 35%,代码缺陷引入率降低 75% |
| 开发流程 | 环境准备 → 架构设计 → 需求分析 → 项目创建 → 代码开发 → 错误修复 → 运行调试 → 打包上线 |
| 码道赋能环节 | 架构设计、功能需求分析、代码开发、错误修复 |
| 适合项目 | 界面驱动型、需求标准化、多端一致、新手入门、团队规范统一 |
| 不适合项目 | 底层驱动、超复杂算法、高度定制化场景 |
6.3 学习推荐
华为云官方资源
| 资源 | 地址 |
|---|---|
| 华为云官网 | https://www.huaweicloud.com/ |
| 华为云学堂 | https://edu.huaweicloud.com/ |
DevEco Studio 下载
CodeArts 官网
附录:项目目录结构参考
travel_app/
├── src/
│ ├── main/
│ │ ├── ets/
│ │ │ ├── pages/ # 页面层
│ │ │ │ ├── Index.ets # 首页
│ │ │ │ ├── Search.ets # 搜索页
│ │ │ │ ├── List.ets # 列表页
│ │ │ │ ├── Mine.ets # 我的页
│ │ │ │ └── Detail.ets # 详情页
│ │ │ ├── components/ # 组件层
│ │ │ │ ├── Card.ets
│ │ │ │ ├── ListItem.ets
│ │ │ │ └── Banner.ets
│ │ │ ├── service/ # 服务层
│ │ │ │ └── ApiService.ets
│ │ │ ├── model/ # 数据层
│ │ │ │ ├── Attraction.ets
│ │ │ │ ├── User.ets
│ │ │ │ └── City.ets
│ │ │ └── common/ # 工具层
│ │ │ ├── Network.ets
│ │ │ ├── Utils.ets
│ │ │ └── Constants.ets
│ │ └── resources/
│ │ └── base/
│ │ └── media/ # 图片资源
└── architecture.md # 架构设计文档
└── requirements.md # 功能需求文档
声明:本笔记基于华为云码道(CodeArts)鸿蒙应用开发实战.pdf 整理,内容版权归华为技术有限公司所有。
- 点赞
- 收藏
- 关注作者
评论(0)