鸿蒙开发:前端开发者的机遇与挑战

249 篇文章 7 订阅
213 篇文章 3 订阅

鸿蒙开发是一场前端开发的变革,它为前端开发者提供了更加开放、灵活的开发方式,融合了多种技术栈的优势,提供了更高效的开发工具和资源。然而,鸿蒙开发也不是一帆风顺的,前端开发者需要适应新的开发模式和技术框架,学习和掌握鸿蒙开发的相关知识和工具。这需要他们不断学习和更新自己的技能,以适应未来的发展趋势。本文将分析鸿蒙开发对前端开发者的机会与挑战,以及他们应该如何应对。

系统定位

HarmonyOS是一款面向万物互联时代的、全新的分布式操作系统。

在传统的单设备系统能力基础上HarmonyOS提出了基于同一套系统能力、适配多种终端形态的分布式理念能够支持手机、平板、智能穿戴、智慧屏、车机、PC、智能音箱、耳机、AR/VR眼镜等多种终端设备提供全场景移动办公、运动健康、社交通信、媒体娱乐等业务能力。

鸿蒙系统HarmonyOS有三大特征
  • 搭载该操作系统的设备在系统层面融为一体、形成超级终端让设备的硬件能力可以弹性扩展实现设备之硬件互助资源共享多种设备之间能够实现硬件互助、资源共享依赖的关键技术包括分布式软总线、分布式设备虚拟化、分布式数据管理、分布式任务调度等。。

  • 面向开发者实现一次开发多端部署HarmonyOS提供了用户程序框架、Ability框架以及UI框架支持应用开发过程中多终端的业务逻辑和界面逻辑进行复用能够实现应用的一次开发、多端部署提升了跨设备应用的开发效率。。

  • 一套操作系统可以满足不同能力的设备需求实现统一OS弹性部署。HarmonyOS提供了支持多种开发语言的API供开发者进行应用开发。支持的开发语言包括ArkTS、JSJavaScript、C/C++ 、Java。

技术架构

HarmonyOS整体遵从分层设计从下向上依次为内核层、系统服务层、框架层和应用层。系统功能按照“系统 > 子系统 > 功能/模块”逐级展开在多设备部署场景下支持根据实际需求裁剪某些非必要的子系统或功能/模块。

内核层

内核子系统HarmonyOS采用多内核设计支持针对不同资源受限设备选用适合的OS内核。内核抽象层KALKernel Abstract Layer通过屏蔽多内核差异对上层提供基础的内核能力包括进程/线程管理、内存管理、文件系统、网络管理和外设管理等。驱动子系统Hardware Driver Foundation硬件驱动框架HDF用于提供统一外设访问能力和驱动开发、管理框架是HarmonyOS硬件生态开放的基础提供统一外设访问能力和驱动开发、管理框架。

系统服务层

系统服务层是HarmonyOS的核心能力集合通过框架层对应用程序提供服务。该层包含以下几个部分

  • 系统基本能力子系统集为分布式应用在HarmonyOS多设备上的运行、调度、迁移等操作提供了基础能力由分布式软总线、分布式数据管理、分布式任务调度、方舟多语言运行时、公共基础库、多模输入、图形、安全、AI等子系统组成。其中方舟运行时提供了C/C++/JS多语言运行时和基础的系统类库也为使用方舟编译器静态化的Java程序即应用程序或框架层中使用Java语言开发的部分提供运行时。

  • 基础软件服务子系统集为HarmonyOS提供公共的、通用的软件服务由事件通知、电话、多媒体、DFXDesign For X 、MSDP&DV等子系统组成。

  • 增强软件服务子系统集为HarmonyOS提供针对不同设备的、差异化的能力增强型软件服务由智慧屏专有业务、穿戴专有业务、IoT专有业务等子系统组成。

  • 硬件服务子系统集为HarmonyOS提供硬件服务由位置服务、生物特征识别、穿戴专有硬件服务、IoT专有硬件服务等子系统组成。

  • MSDP Mobile Sensing Development Platform移动感知平台。MSDP子系统提供分布式融合感知能力借助HarmonyOS分布式能力汇总融合来自多个设备的多种感知源从而精确感知用户的空间状态、移动状态、手势、运动健康等多种状态构建全场景泛在基础感知能力支撑智慧生活新体验。DV Device Virtualization设备虚拟化通过虚拟化技术可以实现不同设备的能力和资源融合。根据不同设备形态的部署环境基础软件服务子系统集、增强软件服务子系统集、硬件服务子系统集内部可以按子系统粒度裁剪每个子系统内部又可以按功能粒度裁剪。

框架层

框架层为HarmonyOS应用开发提供了ArkTS/JS/C/C++/Java等多语言的用户程序框架两种UI框架包括适用于ArkTS/JS语言的方舟开发框架即ArkUI、适用于Java语言的Java UI框架以及各种软硬件服务对外开放的多语言框架API。根据系统的组件化裁剪程度HarmonyOS设备支持的API也会有所不同。

应用层

应用层包括系统应用和第三方非系统应用。HarmonyOS的应用由一个或多个FAFeature Ability或PAParticle Ability组成。其中FA有UI界面提供与用户交互的能力而PA无UI界面提供后台运行任务的能力以及统一的数据访问抽象。FA在进行用户交互时所需的后台数据访问也需要由对应的PA提供支撑。基于FA/PA开发的应用能够实现特定的业务功能支持跨设备调度与分发为用户提供一致、高效的应用体验。

FA Feature Ability元服务代表有界面的Ability用于与用户进行交互。PA Particle Ability元能力代表无界面的Ability主要为Feature Ability提供支持例如作为后台服务提供计算能力或作为数据仓库提供数据访问能力。

技术特性

  • 硬件互助资源共享 多种设备之间能够实现硬件互助、资源共享依赖的关键技术包括分布式软总线、分布式设备虚拟化、分布式数据管理、分布式任务调度等。

  • 分布式软总线

分布式软总线是手机、平板、智能穿戴、智慧屏、车机等分布式设备的通信基座为设备之间的互联互通提供了统一的分布式通信能力为设备之间的无感发现和零等待传输创造了条件。开发者只需聚焦于业务逻辑的实现无需关注组网方式与底层协议。

  • 分布式连接能力

分布式连接能力提供了智能终端底层和应用层的连接能力通过USB接口共享终端部分硬件资源和软件能力。开发者基于分布式连接能力可以开发相应形态的生态产品为消费者提供更丰富的连接体验。

分布式连接能力包含底层能力Connect Service和应用层能力AILife Client Service。

  • 一次开发多端部署 HarmonyOS提供了用户程序框架、Ability框架以及UI框架支持应用开发过程中多终端的业务逻辑和界面逻辑进行复用能够实现应用的一次开发、多端部署提升了跨设备应用的开发效率。

Ability 应用的重要组成部分是应用所具备能力的抽象。Ability分为两种类型Feature Ability和Particle Ability。其中UI框架支持使用ArkTS、JS、Java语言进行开发并提供了丰富的多态控件可以在手机、平板、智能穿戴、智慧屏、车机上显示不同的UI效果。采用业界主流设计方式提供多种响应式布局方案支持栅格化布局满足不同屏幕的界面适配能力。

  • 统一OS弹性部署 HarmonyOS通过组件化和小型化等设计方法支持多种终端设备按需弹性部署能够适配不同类别的硬件资源和功能需求。支撑通过编译链关系去自动生成组件化的依赖关系形成组件树依赖图支撑产品系统的便捷开发降低硬件设备的开发门槛。

总的来说,鸿蒙系统的发展不仅是对前端开发者的福音,也是对前端开发者的考验。它为他们提供了更广阔的舞台和丰富的机会,但也要求他们不断提高自己的能力,适应新的技术趋势。只有不断学习和进步,我们才能在鸿蒙系统发展的浪潮中抓住机遇,迎接挑战。

码牛课堂首推鸿蒙开发学习路线图,助你笑傲职场

现在入手学习鸿蒙开发技术基本都是在一个起点上,为了帮助到大家在学习途中有一个好的学习路线作为方向进行引导,这边特意码牛课堂的老师团队帮忙整理了一套《从0开始到鸿蒙全栈开发的学习路线》,大家可以进行参考学习:

①全方位,更合理的学习路径

路线图包括ArkTS基础语法、鸿蒙应用APP开发、鸿蒙能力集APP开发、次开发多端部署开发、物联网开发等九大模块,六大实战项目贯穿始终,由浅入深,层层递进,深入理解鸿蒙开发原理!

②多层次,更多的鸿蒙原生应用

路线图将包含完全基于鸿蒙内核开发的应用,比如一次开发多端部署、自由流转、元服务、端云一体化等,多方位的学习内容让学生能够高效掌握鸿蒙开发,少走弯路,真正理解并应用鸿蒙的核心技术和理念。

③实战化,更贴合企业需求的技术点

学习路线图中的每一个技术点都能够紧贴企业需求,经过多次真实实践,每一个知识点、每一个项目,都是码牛课堂鸿蒙研发团队精心打磨和深度解析的成果,注重对学生的细致教学,每一步都确保学生能够真正理解和掌握。

路线图适合人群

  • IT开发人员:想要拓展职业边界,享受新技术溢价红利;
  • 零基础小白:鸿蒙爱好者,希望从0到1学习,增加一项技能。

为了能让大家更好的学习鸿蒙 (OpenHarmony) 开发技术,这边特意整理了《鸿蒙 (OpenHarmony)开发学习手册》(共计890页),希望对大家有所帮助:https://qr21.cn/FV7h05

《鸿蒙 (OpenHarmony)开发学习手册》:https://qr21.cn/FV7h05

入门必看:https://qr21.cn/FV7h05
1.  应用开发导读(ArkTS)
2.  ……

HarmonyOS 概念:https://qr21.cn/FV7h05

  1. 系统定义
  2. 技术架构
  3. 技术特性
  4. 系统安全

如何快速入门:https://qr21.cn/FV7h05
1.  基本概念
2.  构建第一个ArkTS应用
3.  构建第一个JS应用
4.  ……

开发基础知识:https://qr21.cn/FV7h05
1.  应用基础知识
2.  配置文件
3.  应用数据管理
4.  应用安全管理
5.  应用隐私保护
6.  三方应用调用管控机制
7.  资源分类与访问
8.  学习ArkTS语言
9.  ……

基于ArkTS 开发:https://qr21.cn/FV7h05
1.  Ability开发
2.  UI开发
3.  公共事件与通知
4.  窗口管理
5.  媒体
6.  安全
7.  网络与链接
8.  电话服务
9.  数据管理
10.  后台任务(Background Task)管理
11.  设备管理
12.  设备使用信息统计
13.  DFX
14.  国际化开发
15.  折叠屏系列
16.  ……

总结

鸿蒙系统开发作为当下的一个风口,对于有志于投身技术领域的小白来说是一个难得的机遇。通过深入了解鸿蒙系统的技术优势和市场前景,你将能够做出明智的选择。记住,站在风口上,猪都能飞起来,而掌握鸿蒙开发技能,或许就是你起飞的翅膀。现在就开始行动吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值