当前位置: 首页 > news >正文

【参赛心得】我的 HarmonyOS 开发入门与参赛之路

最近参加了 2025 HarmonyOS 创新赛,报名的时候已经有些晚了,所以作品有些赶,求个作品完整即可。去年也报名了这个比赛,不过去年这个时候同样时间很赶,同时觉得这个比赛似乎太高大上了,有一些我的对手会不会很厉害,我会不会拿不到奖等等一系列的畏惧心里,所以就在中途放弃了比赛。

在这里插入图片描述

不过今年,我决定给自己一次彻底的尝试!

不是为了名次,也不是为了奖项,而是想真正走进这个生态,去了解 HarmonyOS 到底能做些什么。报名那天,我看了一眼官方主题,脑海里闪过了去年的那个遗憾——于是我下定决心:哪怕时间再紧,我也要把一个能完整跑起来、能展示自己思考的作品做出来。

打开报名官网,填写报名表单,创建报名队伍,比赛就开始啦。

在这里插入图片描述

但是我报名较晚,时间似乎所剩无几,所以我决定一切从简,制作一款叫做“每日页”的轻量级应用。

“每日页”的灵感其实来自我平时的生活习惯。每天早上打开手机,总会在各种应用之间来回切换:日历、待办、备忘录、天气……信息是全的,但总觉得缺少一种「有序感」。于是我突然想——为什么不把这些信息整合在一起,让一天的开始更有仪式感?

这就是「每日页」诞生的起点。

我希望它是一款能帮助用户轻松规划每一天的小工具,打开应用,就能看到今日任务、日程、提醒、天气、心情语录等内容。它不追求复杂的功能,而是希望让人“看一眼,就知道今天要做什么”。

一开始重新打开 DevEco Studio 的时候,还是有点生疏。系统更新到 HarmonyOS 6 之后,整个开发框架比去年又有不少变化。以前我只停留在基础页面编写,这次我想从更系统的角度去理解:ArkUI 组件体系、Stage 模型、以及新的预加载机制。

尤其是看到 DevEco Studio 和 HarmonyOS 支持的能力越来越丰富——近场互联、云测试、CodeGenie 智能辅助开发等这些赋予系统和 IDE 新特性,让我意识到这已经不是简单的系统生态,而是一个能够承载全场景体验的平台。

接下来,我想先来说一说我是怎么一步步入门鸿蒙开发的。


快速上手从“鸿蒙第一课”开始

尽管我有一定的编程基础,且掌握一些 TypeScript 语法,但当我想要一下上手 HarmonyOS 时,还是会出现一些问题的。让我头大的就是——它和我以前用过的前端框架、安卓原生开发很像,但又都不太一样。尤其是 ArkTS 相较于 TS 更为严格的语法,让我写一部分就会出现一些报错,不能使用 this 让我一度怀疑是自己语法没学清楚,后来发现是 ArkTS 的装饰器、作用域和生命周期与普通 TS/JS 在用法上有细微差异,需要按鸿蒙的方式去思考组件的状态与方法绑定。

而“鸿蒙第一课”则很好的解决了我这种“有基础但不系统”的学习困境。

在这里插入图片描述

基础课程包含了非常扎实的内容,基本覆盖了从零到能做出一个简单应用的所有关键知识点。学完了初级课程,如果你足够有耐心,再加上一些想象力,其实就可以搭建出一个可以在真机上运行的完整鸿蒙应用。

这一阶段对我来说,像是打开了一扇新世界的大门——我终于不再只是“看别人做鸿蒙”,而是真正开始“做自己的鸿蒙”。

在这里插入图片描述

中级课程包含了一些更贴近实际项目开发的内容,也正是在这一阶段,我开始从“能写页面”转变为“能设计应用”。

课程体系从 UIAbility 到 ArkUI 进阶,再到动画、交互、通知、文件操作,几乎覆盖了一个完整应用的关键环节。对我来说,这个阶段的学习不像最初那样“入门看热闹”,而是一步步把我拉进了鸿蒙应用的真实开发环境中。

刚开始学“应用程序框架进阶”时,我第一次真正理解了 Stage 模型 的意义。以前总觉得应用的生命周期、Ability 这些概念很抽象,但当我亲手写了两个 UIAbility 并让其传递参数跳转时,那种“系统级设计的力量”让我印象深刻。HarmonyOS 的组件通信方式与安卓 Activity 不同,它更像是一种统一的能力容器,轻量、逻辑清晰,也让多模块协作变得自然。

在“ArkUI 进阶”那节课,我花了整整一个周末去练习条件渲染与懒加载优化。以前在 Vue 或 React 中遇到长列表时,我习惯用虚拟滚动或分页机制,而 ArkUI 提供的 LazyForEach 和 ListItemGroup 让我感受到了鸿蒙框架的“原生级性能优化”。我用它重新实现了一个带图片缩略图和点赞按钮的“任务卡片”列表,真机跑起来非常流畅,性能明显优于 web 技术栈模拟出来的效果。

接着在“合理使用动画与转场”课程里,我开始尝试让界面“活”起来。
以前我在做小程序和 Web 项目时,动画大多靠 CSS 或第三方库堆叠,而 ArkUI 提供的动画语法既简洁又原生。比如一个页面进入的淡入、卡片点击的缩放、甚至是列表项的过渡,我都能直接用 animateTo() 实现。那一刻我意识到:原生 UI 框架的细腻体验,是 web 框架很难完全替代的。

“添加交互”课程则让我对用户体验有了新的认识。鸿蒙的手势系统(如 TapGestureLongPressGesture)和弹窗机制(CustomDialogController)让我能在短时间内做出一个完整的交互闭环。像是给应用加了一个“任务长按删除”的功能,配合动画转场和确认弹窗,整个体验变得非常顺滑。

到了“ArkWeb 开发”部分,我开始尝试加载网页内容,并在 Web 与 ArkTS 间进行通信。那次尝试让我第一次体会到鸿蒙生态的“融合感”——可以无缝调用网页端逻辑,又能在系统级界面中提供原生交互。

再往后,“通知”、“文件访问”、“Native适配”、“三方库”、“SDK开放能力”等课程就逐步把我从单一 UI 开发者,拉向了一个真正的鸿蒙应用开发者的思维层面。

在这里插入图片描述

当然,仅仅学习理论知识是不太够的,还需要大量的编程实践。而 Codelabs 就成了我进阶路上的“实战导师”。

这部分内容可以说是“理论与实操”的桥梁,每个 Codelab 都对应一个完整的小项目,从界面搭建到业务逻辑实现都有清晰的指导。更重要的是,里面的例子都贴近真实开发场景——不像很多教程只是“Hello World”,而是真正的「能跑、能改、能拓展」的项目。

在这里插入图片描述

如果你对课程里的 某个 Kit 模块(比如 UIAbility、ArkUI、Data、Network、Map、Camera 等)还不是特别熟悉,不妨在 Codelabs 中搜索对应主题的实战示例。

在这里插入图片描述

这些项目往往以最小可行场景为出发点,帮你快速理解 API 的调用方式和常见使用模式。比如 UIAbility 的多页面跳转、网络请求的异步封装、相机模块的调用权限管理等,都有清晰的示例与注释。

同时,你在比赛中如果遇到一些 Kit 使用不熟悉、功能不太会实现 的场景,也完全可以把 Codelabs 当作“万能参考手册”。

它不仅告诉你「怎么写」,更重要的是「为什么这么写」。每完成一个 Codelab,你就能在实操中积累一次完整的开发经验,从环境搭建到问题调试再到结果验证——就像一次小型的项目实战。

Codelabs 里的示例项目大多支持在 DevEco Studio 中直接导入运行,这极大降低了上手门槛。我常常会在学习某个新 Kit 时,先从 Codelab 里的例子入手,熟悉 API 的使用方式,再结合自己的想法进行二次开发或功能拓展。这样一来,不仅掌握了官方的最佳案例,还能在此基础上形成属于自己的开发套路。

学习完高级课程,再进行大量实操,尝试完善自己的,那么你就可以开始毕业🎓了。当然啦,毕业要有毕业考试,大家可以尝试像我一样考取 HarmonyOS 应用开发者基础和高级认证来检验自己的能力。

在这里插入图片描述

通过考试之后,大家就可以获得一张金灿灿的认证证书啦!


参赛心得

说实话,从学习到真正参赛,这段过程比我想象的更有挑战,也更有收获。

刚开始报名的时候,我给自己定的目标很简单——先做出一个能完整运行的作品。可当我真正动手时,才发现知识与实战之间,还有一条“鸿沟”。但也正是这次参赛,让我从“照着教程写”走向了“根据需求设计”,从“会用 API”变成了“能做产品”。

我这次的参赛作品是一款日常效率类应用,核心目标是让用户能以更轻量的方式规划每日任务,并通过视觉反馈获得成就感。

我觉得小白从这几个特性入手是最简单的,它们既能提升应用体验,又能让项目看起来更有“系统感”。在我这次参赛的过程中,我就是从 HarmonyOS 6.0 的几个关键特性出发,逐步构建出应用的框架与交互逻辑的。

在这里插入图片描述

首先让我印象最深的是 ArkUI 的更新。新版 ArkUI 不仅增强了动画和动效能力,比如 SymbolGlyph 的渐变效果、阴影、禁用动效等,还增加了 Text 的数字翻牌效果和 Swiper 的滑动状态回调。这些功能让 UI 的交互更具生命力,我的“每日页”就是借助这些动效实现了一个轻盈流畅的任务完成反馈。当用户完成一个任务时,页面中的轻微弹跳动画,会即时传递一种“完成了”的满足感。这种反馈并不是纯粹的视觉装饰,而是增强了行为的正向激励,让用户更愿意保持计划的节奏。

其次是 Ability Kit 的应用预加载机制。这项特性在系统资源充足时,可以提前将应用加载到特定阶段,大大提升启动速度。我在应用的实现中启用了这一能力,让应用在后台时能预加载当天任务与提醒数据,用户一打开就能立即看到当日安排。相比传统的冷启动体验,这种“即开即用”的流畅感几乎能提升半个层级。

第三个是我非常喜欢的 Live View Kit 的实况胶囊能力。这一特性原本多用于天气、实况信息类应用,但我将其用于任务统计显示。通过实况胶囊在桌面展示“今日任务进度”、“下一个提醒时间”等信息,让用户即使不打开应用,也能保持对自己节奏的感知,这种细节真的体现了系统级的美学一致性。

此外, Map Kit 的矢量图层支持等新特性也让我受益良多。像是借助 Map Kit 的矢量层能力,制作做一个“地理任务标记”功能;Share Kit 可以做创新的日程表(课程表)之类的信息交换分享……

想法实在太多……很多看似复杂的交互,其实在 HarmonyOS 6.0 的新 Kit 加持下变得非常容易实现。大家可以在下面链接中查看 HarmonyOS 6 新特性,借助新特性来打造自己应用的亮点!

https://developer.huawei.com/consumer/cn/doc/harmonyos-releases/os-new-feature-600


结语

最后,希望大家都能在这次 2025 HarmonyOS 创新赛 中找到属于自己的突破点。

也许你刚刚开始学习 ArkTS,也许你还在犹豫要不要报名,也许你会像去年的我一样,担心时间不够、水平不够——但请相信,真正的成长,往往就藏在那一次“硬着头皮去做”的尝试里。

我很庆幸自己没有再次退缩。

哪怕作品还有不完美的地方,哪怕代码里仍有待优化的部分,但当我在真机上看到应用顺利运行、动画流畅播放、数据顺利同步的那一刻,那种从 0 到 1 的成就感,是任何教程和讲解都无法替代的。

无论是一个小小的工具,还是一个庞大的项目,只要你愿意动手去做,它就可能成为下一个闪光的灵感。

让我们一起用代码,去构建属于自己的 HarmonyOS 世界。

http://www.dtcms.com/a/549916.html

相关文章:

  • 答题PK小程序:在竞技与学习的夹缝中狂奔
  • 网站书店建设背景wordpress主页删除
  • 非蛋白氨基酸
  • Rust 移动语义(Move Semantics):内存安全的隐形守护者
  • 怎么用flash做网站app 网站 同时做
  • 摄影网站规划设计书建设官网电话号码
  • 性价比高的电磁阀生产厂家
  • WPF编译出现包问题
  • CZ个人持仓不足1%社区BNB做多情绪高涨,平台XBIT展现去中心化理念
  • 查网站的关键词排名吗重庆铜梁网站建设报价
  • STM32中 ESP8266 MQTT ModBus RS482 介绍
  • 代理分佣后台网站开发品牌网站建设制作
  • 网站建设 汇卓湖南做网站 磐石网络引领
  • 网络营销工程师有用吗优化设计七年级上册数学答案
  • 一文读懂计算机网络参考模型(二)
  • ALIGN 和 ROUND_UP 宏的原理与区别详解
  • 河南智慧团建官网企业网站建设优化
  • vue3 以el-icon方式使用iconfont上的图标
  • 便宜好用AIPPT推荐TOP8【2025最新】
  • MySQL8主从数据库复制故障
  • 阿里、腾讯、百度同台拆解AICoding
  • 皋兰县城乡和住房建设局网站金昌市建设局官方网站
  • 网站开发的标准流程室内设计联盟课堂
  • 学习PLC编程与PLC的总线
  • Rust 闭包:定义、捕获(深入理解)
  • Arbess零基础学习,安装与快速入门
  • 天河怎样优化网站建设vi设计步骤流程
  • 做网站要不要用jsp遵义建设厅官方网站 元丰
  • NGINX 集群负载与配置管理
  • OpenStack虚拟化平台之T版搭建部署