【成长纪实】三个月的鸿蒙成长之路:大学生从0开始的鸿蒙心得与体会

前言

先自我介绍一下,我是计算机专业的23级大学生一枚,目前主要接触后端java开发,鸿蒙开发,熟悉APP开发流程。目前主要活跃在CSDN,抖音,感兴趣的小伙伴可以关注下🙇‍

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

一、接触鸿蒙

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

鸿蒙系统概述

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

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

这是我当初看的教程:
全网首发黑马程序员鸿蒙 HarmonyOSNEXT星河版零基础入门到实战,零基础也能快速入门鸿蒙开发教程

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

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

二、参与比赛

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

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

给大家看下我们当时的页面

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

路演现场

获奖照片(左三是我)

参加讲座现场

三、重启鸿蒙开发

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

这是我的最新专栏,主要是对官方文档学习的记录
从0开始的开源鸿蒙6.0.0

今年第二届比赛也快要开始了,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 、弹性布局、网格布局),可快速实现一套代码在多设备上的适配,无需为不同设备单独开发。例:代码中 r、弹性布局、网格布局),可快速实现一套代码在多设备上的适配,无需为不同设备单独开发。 例:代码中 r、弹性布局、网格布局),可快速实现一套代码在多设备上的适配,无需为不同设备单独开发。例:代码中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 可在手机、平板、手表等鸿蒙设备上通用,无需适配不同设备的路由逻辑。
  • 轻量高效:基于鸿蒙底层框架实现,页面跳转性能优于第三方路由库,减少额外开销。
  • 与声明式 UI 深度融合:路由操作与 ArkUI 的状态管理(如@State、@Link)无缝配合,参数传递后可直接驱动 UI 更新。
  • 支持复杂场景:除基础跳转外,还支持路由栈管理(如router.clear()清空栈)、转场动画配置等高级功能。

分布式流转

分布式流转是鸿蒙(HarmonyOS)分布式能力的核心特性之一,指的是将应用的界面、数据或任务在同一用户的多个鸿蒙设备(如手机、平板、手表、电视等)之间无缝迁移、接续或协同运行的能力。其核心目标是打破设备壁垒,实现 "一次开发,多端流转" 的跨设备体验。

  • 无缝迁移:应用可从一台设备 "流转" 到另一台设备,状态(如页面进度、输入内容)保持一致,用户体验不中断。例如,手机上未看完的视频可直接流转到电视继续播放,进度、音量等状态同步。
  • 多设备协同:支持多个设备分工协作完成同一任务。例如,手机作为控制端,平板作为显示端,手表作为传感端,共同运行一个应用(如智能家居控制场景)。
  • 自动适配:流转后应用会根据目标设备的屏幕尺寸、交互方式(如触摸 / 遥控器 / 语音)自动调整 UI 布局和交互逻辑,无需用户手动设置。
  • 低延迟高可靠:基于鸿蒙分布式软总线技术,设备间发现、连接、数据传输的延迟极低,确保流转过程流畅无卡顿。

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

相关推荐
工藤学编程5 小时前
仓颉原子操作封装:从底层原理到鸿蒙高并发实战
华为·harmonyos
User_芊芊君子5 小时前
【成长纪实】我的鸿蒙成长之路:从“小白”到独立开发,带你走进鸿蒙的世界
学习·华为·harmonyos·鸿蒙开发
Jinkxs5 小时前
仓颉语言性能优化指南:实测对比,让鸿蒙应用运行效率提升 40%
华为·性能优化·harmonyos
摘星编程5 小时前
【案例实战】HarmonyOS SDK新体验:利用近场能力打造无缝的跨设备文件传输功能
华为·harmonyos·harmonyos next·nfc
冷雨夜中漫步6 小时前
高级系统架构师笔记——系统质量属性与架构评估(1)软件系统质量属性
笔记·架构·系统架构
朴shu6 小时前
Delta数据结构:深入剖析高效数据同步的奥秘
javascript·算法·架构
铁锹少年6 小时前
当多进程遇上异步:一次 Celery 与 Async SQLAlchemy 的边界冲突
分布式·后端·python·架构·fastapi
三小河6 小时前
解决 React + SSE 流式输出卡顿:Nginx 关键配置实战
前端·架构·前端框架
Solar20257 小时前
微服务调用超时:从问题分析到全链路优化实践
微服务·云原生·架构