【星光不负 码向未来】 三个月的鸿蒙成长之路

29 阅读9分钟

前言

先自我介绍一下,我是计算机专业的 23 级大学生一枚,目前主要接触后端 java 开发,鸿蒙开发,熟悉 APP 开发流程。HarmonyOS 应用开发者初级工程师、影刀初级 RPA 工程师、YashanDB 数据库 V23.2 认证管理员、金仓数据库认证专员等技能证书,主持参与省级团队赛 8 项,个人赛 2 项均获得省级荣誉,其中 2025 年作为负责人带领团队斩获大挑河南省省级一等奖。

 

接下来给大家简单介绍下我是如何从 0 开始学习鸿蒙的,希望能够帮到大家。

一、接触鸿蒙

第一次接触鸿蒙也是一次偶然的机会,大一暑假我和我哥去找他朋友,他朋友知道我是计算机专业的,就直接推荐给我鸿蒙开发,这也就是我第一次听说到了鸿蒙这一全新名词。因为是来游玩的,所以当时并没有太过于研究这这一领域,回到家后才开始全方面的去了解鸿蒙。

鸿蒙系统概述:鸿蒙(HarmonyOS)是华为自主研发的全场景分布式操作系统,适用于多种设备类型,包括智能手机、智能家居、穿戴设备、车载系统等。其核心目标是为不同硬件提供统一的操作系统,实现跨设备无缝协同。

开始学习的时候是在 8 月初,因为大一什么也不会,就干脆直接开始学鸿蒙开发,开始的时候确实一头雾水,什么经验也没有。当时网上的教程也特别少,更别提完整的学习路线了,正好黑马程序员发布了星河版的教程。

我用了一个暑假的时间边学习边记录,CSDN 中记录了我的鸿蒙学习过程,我将所有的案例都自己手动写了一遍,感兴趣的可以去看下我的专栏。

经过了一个月的学习,感觉已经具备基础 APP 的开发能力了,当然仅限于单机的简单程序,当时我感觉鸿蒙就是一个基础的前端项目,就像 vue 一样,后端还是要用 java 进行开发的。在暑假的末尾完成了第一个简单项目《天气查询 APP》这一项目也是 B 站上为数不多的基础教程,特别适合新手小白。以上就是我学习鸿蒙的第一个月。

二、参与比赛

随着新学期的开学,到了学校事情越来越多,就不得不将鸿蒙放一放了,博客也搁置了。

随着一篇文档进入我的聊天记录,又使我重新燃起了对鸿蒙的热爱,这篇文档就是河南首届开源鸿蒙大赛,为了这个比赛我也是求教许多老师,但是他们都不了解鸿蒙,也向导员求助了,他也无能为力。没办法,只能靠自己来完成了,当时选的题目是关于药品管理的题目,具体页面十分简洁,比赛前的一周时间,一直呆在实验室中完善项目,根据官方提供的参考文档来自己琢磨,学院也给了我们一周假期专门应对这一比赛,因为时间比较紧,就只完成了基础页面的开发,数据全都是静态的数据,好在页面写的够多能够完成基础页面的跳转功能。就这样去参加比赛去了,因为是路演,分为好多教室同时路演,台下评委来打分,自备电脑来运行程序。这就导致 PPT 并不是很重要,只要能实现功能开发就行。当时上台之前看到其他组都是拿着好多东西,进教室之前还在不断调试,这就让我很没底气,因为我们的 APP 全都是静态的。

随着志愿者的叫号我也进入了路演教室,PPT 刚讲 2 页评委让我直接跳过,来讲程序的运行及其功能,我确实震惊了一下,还是不得不迅速过 PPT 展示项目,评委问了几个问题我回答的都不是很好,到这里已经死心了,最后没想到能够获得三等奖。看到屏幕上我们队的名字,心里真的开心极了,一周的努力没白费。这便是第二次接触鸿蒙。

三、重启鸿蒙开发

正是因为有上述两段经历,让我对这方面特别感兴趣了。到了大三上学期,也就是最近一段时间又开始重新整顿鸿蒙,没想到已经更新到 6.0.0 了,这次安装直接一气呵成,而且官网的文档特别完善,我又跟着官网的文档重新学习了一遍,因为有之前的基础,学起来并不是很费劲,我对这部分的学习也做了记录,也在 CSDN 上面进行了发布。

今年第二届比赛也快要开始了,11 月 7 号截止作品提交,还有两周的时间,本次比赛我们选的赛题的宠物智能助手,目前基本静态页面差不多实现完了,这次比赛依旧是我负责开发工作,每天 6-7 小时的强度确实有点受不了,但是为了追求完美只能强制自己来完成。

在这里我推荐下官网的教程,特别的详细,包括每个章节用到的资源文件都在置顶区域,也是特别适合新手小白。还有它里面的一些开发者提供的小功能也都可以关注一下。

四、总结

我这里是以大学生的身份来总结的我的学习之路,因为学习的时间并不长,很多专业知识也不是很了解,只能给大家提供一下我自己的理解与学习路线,鸿蒙是一个特别庞大的体系,感兴趣的可以自行了解下。我这里给大家做一个简单的介绍,具体还是要大家自行学习的。

基础页面结构

Hello World 相信大家并不陌生,梦开始的地方,无论学习什么都是 Hello World 起手,能够展示这一页面就证明大家已经开始学习了。

@Entry

@Component

struct Index {

  @State message: string = 'Hello World';


  build() {

    RelativeContainer() {

      Text(this.message)

        .id('HelloWorld')

        .fontSize($r('app.float.page_text_font_size'))

        .fontWeight(FontWeight.Bold)

        .alignRules({

          center: { anchor: '__container__', align: VerticalAlign.Center },

          middle: { anchor: '__container__', align: HorizontalAlign.Center }

        })

        .onClick(() => {

          this.message = 'Welcome';

        })

    }

    .height('100%')

    .width('100%')

  }

}

这里给大家简单介绍下各各参数

@Entry:标记当前组件为应用的入口组件,即应用启动时显示的第一个页面。

@Component:声明这是一个 ArkUI 组件,组件是鸿蒙 UI 开发的基本单位,可复用、可组合。

struct Index:定义一个名为 Index 的结构体(ArkUI 中组件以结构体形式实现)。

@State message: string = 'HelloWorld':@State 是状态装饰器,用于管理组件内部的可变状态。当 message 的值发生变化时,依赖该状态的 UI 元素(此处为 Text)会自动更新,实现数据驱动 UI。

与其他同类型语言 / 框架的优势

ArkUI 作为鸿蒙生态的 UI 框架,与其他声明式 UI 框架(如 React、Flutter、Vue 3)相比。跨设备适配能力更强,鸿蒙系统支持手机、平板、手表、电视等多设备,ArkUI 通过统一的声明式语法和自适应布局机制(如资源管理、弹性布局、网格布局),可快速实现一套代码在多设备上的适配,无需为不同设备单独开发。

例:代码中 $r ('app.float.page_text_font_size') 可根据设备类型(如手表屏幕小,字体自动调小)自动加载对应资源,而其他框架可能需要手动编写适配逻辑。

性能更优(基于方舟引擎)ArkUI 基于鸿蒙自研的方舟编译器和渲染引擎,实现了 UI 渲染与业务逻辑的并行执行,减少了跨线程通信开销。相比 React 的虚拟 DOM diff 机制,ArkUI 的状态管理(如 @State)更轻量,状态变化时仅更新依赖的 UI 元素,渲染效率更高。与系统深度融合,作为鸿蒙原生框架,ArkUI 可直接调用鸿蒙系统的底层能力(如分布式任务调度、设备互联),开发跨设备协同应用更便捷。

例如:可通过简单 API 实现手机与平板的数据同步显示,而其他框架可能需要额外的跨设备通信层。

语法更简洁,贴近自然语言,声明式语法更直观,布局规则(如 alignRules)、事件绑定(onClick)等 API 设计贴近自然语言。低开发门槛,相比 Flutter 的 Dart 语法,ArkUI 使用 TypeScript/JavaScript 的超集,前端开发者更容易上手。

丰富的原生组件与生态,提供大量针对鸿蒙设备优化的原生组件(如穿戴设备的环形进度条、电视的遥控器交互组件),无需第三方库即可满足多场景需求。

鸿蒙通过 @ohos.router 模块提供了简洁、高效的路由能力,核心流程为:配置页面路径→导入路由模块→调用 push/back 等方法实现跳转与返回→参数传递与接收。其优势在于跨设备一致性和与鸿蒙生态的深度整合,适合构建多页面、多设备的鸿蒙应用。

鸿蒙路由功能的特点(优势),同一套路由 API 可在手机、平板、手表等鸿蒙设备上通用,无需适配不同设备的路由逻辑。基于鸿蒙底层框架实现,页面跳转性能优于第三方路由库,减少额外开销。路由操作与 ArkUI 的状态管理(如 @State、@Link)无缝配合,参数传递后可直接驱动 UI 更新。除基础跳转外,还支持路由栈管理(如 router.clear () 清空栈)、转场动画配置等高级功能。

分布式流转,分布式流转是鸿蒙(HarmonyOS)分布式能力的核心特性之一,指的是将应用的界面、数据或任务在同一用户的多个鸿蒙设备(如手机、平板、手表、电视等)之间无缝迁移、接续或协同运行的能力。其核心目标是打破设备壁垒,实现 “一次开发,多端流转” 的跨设备体验。无缝迁移:应用可从一台设备 “流转” 到另一台设备,状态(如页面进度、输入内容)保持一致,用户体验不中断。

例如,手机上未看完的视频可直接流转到电视继续播放,进度、音量等状态同步。

多设备协同,支持多个设备分工协作完成同一任务。

例如,手机作为控制端,平板作为显示端,手表作为传感端,共同运行一个应用(如智能家居控制场景)。自动适配:流转后应用会根据目标设备的屏幕尺寸、交互方式(如触摸 / 遥控器 / 语音)自动调整 UI 布局和交互逻辑,无需用户手动设置。于鸿蒙分布式软总线技术,设备间发现、连接、数据传输的延迟极低,确保流转过程流畅无卡顿。

希望通过上述简单的介绍可以使得大家认识了解到鸿蒙开发,感兴趣的小伙伴们可以联系我共同探讨。