自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数HarmonyOS鸿蒙开发工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年HarmonyOS鸿蒙开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上HarmonyOS鸿蒙开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新
如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注鸿蒙获取)
一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
HarmonyOS 4.0 技术介绍:
鸿蒙OS 4.0(HarmonyOS 4.0)是华为推出的一款全场景、分布式操作系统。鸿蒙4.0是其最新版本,于2023年8月4日发布,主要包括全新UI设计、多设备协同、语音交互等功能。它旨在为不同类型的智能设备提供统一的操作系统,从智能手机和平板电脑到智能家居设备和汽车等,都可以使用同一个操作系统。鸿蒙OS使用分布式技术,可以**在(手机、平板、智能穿戴、智慧屏、车机、PC、智能音箱、耳机、AR/VR 眼镜等多种不同终端设备)**实现协同操作和资源共享,提升设备间的互联互通能力。此外,鸿蒙OS还支持多种开发语言和技术,为开发者提供了更多的灵活性和选择余地。
HarmonyOS三大特征:
1.实现硬件互助,资源共享。
能够将生活场景中的各类终端进行能力整合,形成一个**“超级虚拟终端”,可以实现不同的终端设备之间的快速连接、能力互助、资源共享,匹配合适的设备,提供流畅的全场景体验。能够让多设备通信能力共享****,让手机、手表、电脑等通过NFC功能共享转移任务。**
2. 面向开发者,实现一次开发,多端部署。
对开发者来说,HarmonyoS **采用多种分布式技术,使应用开发与不同终端设备的形态差异无关,从而让开发者能够聚焦上层业务逻辑,更加便捷、高效地开发应用。**
**分布式技术:**是一种系统组成模式,它把分布在不同地址的计算机通过通信网络互联在一起,组成一个计算机群,协同完成各种计算任务。
- 减少开发成本和工作量。鸿蒙系统具备分布式架构的特点,可以支持全系列设备,包括智能手机、平板电脑、智能穿戴、智能家居等,开发者无需针对不同的设备进行独立开发,只需要一套代码就可以同时适配多种设备。
- 提升应用性能和稳定性。鸿蒙操作系统采用了微内核架构,具有高效的资源管理和隔离机制,可以有效提升应用的性能和稳定性。
- 实现商业化运营。鸿蒙还为开发者提供了多种变现方式,包括应用内购买、广告投放等,帮助开发者实现商业化运营
3.一套操作系统可以满足不同能力的设备需求,实现统一OS**,弹性部署。**
“对设备开发者来说,Harmonyos采用了组件化的设计方案,可根据设备的资源能力和业务特征灵活裁剪,满足不同形态终端设备对操作系统的要求。“
Harmonyos提供了支持多种开发语言的 API,供开发者进行应用开发。支持的开发语言包括ArkTS(华为官方推荐-方舟)、JS(JavaScript)、C/C++ 、Java。
HarmonyOS技术架构:
鸿蒙系统遵从分层设计,由下至上为:内核层,系统服务层,框架层,应用层。
系统功能按照“系统> 子系统 > 功能/模块”逐级展开,在多设备部署下,支持开发者根据实际需求裁剪非必要的子系统/模块。
HarmonyOS技术框架视图如下:
内核层
内核层包括内核子系统和驱动子系统。
内核层的内核子系统提供各种各样的内核给各种设备进行切换,从而与系统适配。多个内核子系统对外提供了API抽象(叫做KAL)接口,使得我们能够在手机,家电设备或者是非常小的单片机上安装HarmonyOS操作系统
Linux内核供应标准设备提供接口(eg:手机)。
liteOS是为内存很小,无需大内核的设备提供接口(eg:家电,汽车设备)。
驱动子系统:为所有的设备厂商提供HDF(硬件驱动框架)—硬件厂商基于HDF这个驱动框架开发出属于我们这个芯片或设备的驱动,就可以直接应用到HarmonyOS操作系统中。所有的厂商都有一个对厂商提供驱动的框架。
框架层和系统服务层
框架层和系统服务层的作用:由HarmonyOS为所有的程序员提供API的调用以及SDK的调用,从而做到系列化的密度管理,插件调用。
eg:通过调用UI框架设计用户界面
应用层
应用层包括系统应用和第三方非系统应用。(eg:微信就是应用层的)
HarmonyOS技术特性:
1.硬件互助,资源共享
多种设备之间能够实现硬件互助、资源共享,依赖的**关键技术(5方面)**包括:
分布式软总线、分布式设备虚拟化、分布式数据管理、分布式任务调度等。
(1)分布式软总线 - 万物互联接口
分布式软总线:为提供统一的设备之间连接通信的API
分布式软总线示意图如下:
典型应用场景:
(a)智能家居场景:
(b)多屏联动课堂:
(2)分布式设备虚拟化 - 集优于一体
分布式设备虚拟化平台可以实现不同设备的资源融合、设备管理、数据处理,多种设
备共同形成一个超级虚拟终端。针对不同类型的任务,为用户匹配并选择能力合适的执行
硬件,让业务连续地在不同设备间流转,充分发挥不同设备的能力优势,如显示能力、摄
像能力、音频能力、交互能力以及传感器能力等。
分布式设备虚拟化示意图如下:
典型应用场景:
(a)视频通话场景:在做家务时接听视频电话,可以将手机与智慧屏连接,并将智慧屏的
屏幕、摄像头与音箱虚拟化为本地资源,替代手机自身的屏幕、摄像头、听筒与扬声
器,实现一边做家务、一边通过智慧屏和音箱来视频通话。
(b) 游戏场景:在智慧屏上玩游戏时,可以将手机虚拟化为遥控器,借助手机的重力传感
器、加速度传感器、触控能力,为玩家提供更便捷、更流畅的游戏体验。
(3)分布式数据管理 - 数据共享
分布式数据管理基于分布式软总线的能力,实现应用程序数据和用户数据的分布式管
理。
分布式数据管理示意图如下:
协同办公场景:
将设计文档直接投屏到智慧屏,在智慧屏进行文档的修改操作可以在手机上同步显示。
(4)分布式任务调度 - 跨设备使用应用
分布式任务调度基于分布式软总线、分布式数据管理、分布式 Profile 等技术特性,
构建统一的分布式服务管理(发现、同步、注册、调用)机制,支持对跨设备的应用进行
远程启动、远程调用、远程连接以及迁移等操作,能够根据不同设备的能力、位置、业务
运行状态、资源使用情况,以及用户的习惯和意图,选择合适的设备运行分布式任务。
下图以应用迁移为例,简要地展示了分布式任务调度能力。
典型应用场景举例:
导航场景:
(a)如果用户驾车出行,
上车前,在手机上规划好导航路线;
上车后,导航自动迁移到车机和车载音箱;
下车后,导航自动迁移回手机。
(b)如果用户骑车出行,在手机上规划好导航路线,骑行时手表可以接续导航。
外卖场景:
在手机上点外卖后,可以将订单信息迁移到手表上,随时查看外卖的配送
状态。
(5)分布式连接能力
sdnimg.cn/direct/2e7b3260aa8d40de9dbb7f6b360daa34.png)
典型应用场景举例:
导航场景:
(a)如果用户驾车出行,
上车前,在手机上规划好导航路线;
上车后,导航自动迁移到车机和车载音箱;
下车后,导航自动迁移回手机。
(b)如果用户骑车出行,在手机上规划好导航路线,骑行时手表可以接续导航。
外卖场景:
在手机上点外卖后,可以将订单信息迁移到手表上,随时查看外卖的配送
状态。