鸿蒙千帆起~ 是转? 还是留?

news2024/12/23 5:35:20

近期鸿蒙系统相关行业热度一度高涨,像今天2024年1月18日 鸿蒙OS Next开发者预览版正式发布引起了不少业内人士关注,再度冲上了热榜。余承东老余之前就说过2024年是鸿蒙关键的一年,从这句话就可以看出后一定有大的动作

就像去年有业内人士网传说“鸿蒙next版本将不再兼容安卓”后,就开始有陆陆续续的公司加入到了鸿蒙原生应用开发的队伍里来了,随着而来的就是各大公司也开始在招聘网站上高薪招揽鸿蒙开发人才

仿佛让我们看到了,当初国内市场时的那个黄金时代,不惜重金在大肆广招人才,来快速推进行业发展。据国内某招聘平台显示,鸿蒙相关岗位平均招聘薪资已远超市场平均水平。数据显示,2023年1-12月,招聘鸿蒙相关岗位平均招聘薪资达 18822元/月,而目前一些公司给出的薪水高于行业平均水平。

随着鸿蒙开发岗位的薪资高涨,引起了不少IT开发行业的的人士都开始转向学习鸿蒙,只为能拿上一份高薪水的工作,最近在某乎上面看到这样也可以问答:“JavaWeb开发应该转鸿蒙开发应用吗?

其实想这种相关的问题有很多,我就不一一举例了,下面我就这个问题分析一下我的个人看法。

不管你是从哪个行业转向哪个行业,首先我们都需要进行对于一下目前行业与你想转向的行业行业分析进行对比。像JavaWeb前端开发这个行业,几乎初中级市场完全饱和了,市场所需的几乎是需要你会Flutter跨平台、小程序、以及各种框架等一些技术,而薪资上线基本在15K左右。这大概就是我所了解段前端方向的一些现状。

而鸿蒙系统主要面像的是万物互联,“1+8+N”是全场景战略,从这两点几乎可以看出鸿蒙开发面向的方向有多么广,它并不是像Android、iOS那样单独的一个手机操作系统,它面向的所有的终端设备,像车载、手机、ipad、电脑PC端、手表、眼睛、音箱等设备上;包括像矿场里面的操作系统也能运用的上,官方称该系统为鸿矿系统

鸿蒙开发方向又有两个方向

  • 鸿蒙北向开发主要指的是纯应用软件开发,它是基于官方提供的系统SDK进行的应用开发
  • 鸿蒙南向开发是指在鸿蒙操作系统中,开发者利用南向开放能力与其他智能设备进行连接和交互的开发方式。这种开发方式的目标是实现设备之间的互联互通,提供更加便利、智能的生活体验。南向开发主要涉及设备连接、数据通信和功能扩展等方面。通过鸿蒙南向开发,开发者可以实现设备的智能化管理和控制,提升用户的生活体验。

两个方向的不同,它们的薪资水平也会有所不同,而目前市场北向开发的平均招聘薪资达 18822元/月,南向开发的最低薪资达 20K左右

不管是从前景还是薪资角度来看,鸿蒙开发的前景比前端开发的要更有优势一些。目前市场鸿蒙初级市场还没有进入饱和状态,现在可以说是最好入局的时机。

如果入手学习鸿蒙开发技术,需要从哪里开始学习比较好?

针对有开发经验的人群如:Android、前端、iOS、后端等行业的开发者,大家可以从下面的方向进行入手了解

Android 开发转行鸿蒙:
  1. 了解鸿蒙系统基础:
    • 研究鸿蒙系统的基本概念、特性和应用场景,与Android系统进行对比,理解两者之间的共性和差异。
    • 熟悉鸿蒙的系统架构、组件和API,了解它是如何支持分布式设备和跨平台应用的。
  2. 掌握鸿蒙开发工具:
    • 安装并配置鸿蒙的开发环境,包括IDE(如DevEco Studio)和相关工具链。
    • 学习使用鸿蒙的调试和测试工具,以便在开发过程中定位问题和优化性能。
  3. 编程语言与框架:
    • 鸿蒙开发主要使用Java和C++等编程语言。由于Android开发也使用Java,这部分基础可以迁移过来,但需要学习鸿蒙特有的编程范式和框架。
    • 深入理解鸿蒙的应用框架,如Ability(类似于Android的Activity)和Bundle(类似于Android的应用包)等核心概念。
  4. UI与交互设计:
    • 学习鸿蒙的UI设计原则和组件库,了解如何创建符合鸿蒙设计标准的用户界面。
    • 探索鸿蒙的动效、布局和交互模式,以提供流畅且直观的用户体验。
  5. 数据管理与存储:
    • 理解鸿蒙系统中数据的管理和存储机制,包括文件存储、数据库和网络同步等。
    • 学习如何在鸿蒙应用中高效地处理用户数据和缓存。

####iOS 开发转行鸿蒙:

  1. 了解鸿蒙系统及其开发环境:
    • 鸿蒙系统是华为推出的分布式操作系统,了解其设计理念、应用场景和支持的设备类型。
    • 熟悉鸿蒙的开发环境,包括安装和配置鸿蒙开发工具(如DevEco Studio)、模拟器、调试器等。
  2. 学习鸿蒙开发基础知识:
    • 掌握鸿蒙开发中使用的主要编程语言,如C++、Java等。尽管iOS开发主要使用Swift和Objective-C,但了解这些语言将帮助你更好地理解鸿蒙开发。
    • 学习鸿蒙的开发框架和API,了解鸿蒙应用的基本结构和开发流程。
  3. 熟悉鸿蒙的UI开发:
    • 鸿蒙的UI开发与iOS有所不同,学习鸿蒙的UI组件、布局方式、样式设置等。
    • 探索鸿蒙的动画系统,了解如何创建流畅的动画和转场效果。
  4. 实践鸿蒙应用开发:
    • 通过实际的项目来巩固所学知识,可以从简单的应用开始,逐步增加难度和功能。
    • 在开发过程中,不断调试和优化你的应用,确保其性能和稳定性。
  5. 学习鸿蒙的分布式技术:
    • 鸿蒙作为一个分布式操作系统,支持跨设备协同是其核心特点之一。了解鸿蒙的分布式技术,探索如何在不同设备间实现数据共享和交互。
前端开发转行鸿蒙 :
  1. 了解鸿蒙系统及其开发环境:
    • 首先,你需要对鸿蒙系统有一个整体的了解,包括它的设计理念、应用场景、支持的设备等。
    • 熟悉鸿蒙的开发环境,包括开发工具(如DevEco Studio)、模拟器、调试器等,并确保你的开发环境已经正确配置。
  2. 学习鸿蒙开发基础知识:
    • 掌握鸿蒙开发中使用的主要编程语言,如C++、Java、JS等。对于前端开发者来说,JS可能是你最熟悉的语言,但也需要了解其他语言在鸿蒙开发中的应用。
    • 学习鸿蒙的开发框架和API,了解鸿蒙应用的基本结构和开发流程。
  3. 熟悉鸿蒙的UI开发:
    • 鸿蒙的UI开发可能与你熟悉的Web前端开发有所不同。你需要学习鸿蒙的UI组件、布局方式、样式设置等。
    • 了解鸿蒙的动画系统,学习如何创建流畅的动画和转场效果。
  4. 实践鸿蒙应用开发:
    • 通过实际的项目来巩固所学知识。可以从简单的应用开始,逐步增加难度和功能。
    • 在开发过程中,不断调试和优化你的应用,确保它的性能和稳定性。
  5. 学习鸿蒙的分布式技术:
    • 鸿蒙作为一个分布式操作系统,其最大的特点之一就是支持跨设备协同。你需要学习鸿蒙的分布式技术,了解如何在不同设备间实现数据共享和交互。

后端开发转行鸿蒙 :

  1. 了解鸿蒙系统及其开发环境:
    • 鸿蒙系统的基本概念、特性和应用场景。
    • 鸿蒙开发工具的安装和配置,如DevEco Studio等。
    • 熟悉鸿蒙的开发文档和社区资源。
  2. 编程语言与基础技能:
    • 鸿蒙开发主要使用的编程语言,如C++、Java等。如果你已经有后端开发经验,这部分可能会有一定的基础。
    • 掌握面向对象编程(OOP)的基本概念和设计模式,这在鸿蒙应用开发中同样重要。
  3. 学习鸿蒙开发框架和API:
    • 鸿蒙的系统架构和组件模型。
    • 鸿蒙提供的API和开发框架,如Ability、Bundle等核心概念。
    • 学习鸿蒙的UI框架和组件,了解如何构建用户界面。
  4. 实践项目与应用开发:
    • 通过简单的示例项目开始,逐步了解鸿蒙应用的开发流程。
    • 掌握鸿蒙应用的调试、测试和性能优化技巧。
    • 尝试开发一个完整的鸿蒙应用,从设计到实现再到发布。
  5. 分布式技术与设备协同:
    • 了解鸿蒙系统作为分布式操作系统的特点,学习设备间的通信和协同机制。
    • 探索如何在鸿蒙应用中实现跨设备的功能和服务。

现在入手学习鸿蒙开发技术基本都是在一个起点上,为了帮助到大家在学习途中有一个好的学习路线作为方向进行引导,这边特意邀请了几位行业大佬帮忙整理了一套《从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.  ……

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1394418.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Unreal Engine(UE5)中构建离线地图服务

1. 首先需要用到3个软件,Unreal Engine,gis office 和 bigemap离线服务器 Unreal Engine下载地址:点击前往下载页面 Gis office下载地址:点击前往下载页面 Bigemap离线服务器 下载地址: 点击前往下载页面 Unreal Engine用于数字孪生项目开发&#x…

【python】—— 集合

目录 (一)集合的概念 (二)集合的使用 2.1 集合的创建 2.2 集合元素的唯一性 2.3 集合的操作 2.3.1 并集 2.3.2 交集 2.3.3 差集 2.3.4 补集 2.4 遍历集合 2.5 其他集合操作 2.5.1 添加元素 2.5.2 移除元素 2.5.3 清…

15分钟学会Pinia

Pinia 核心 Pinia 介绍 官方文档:pinia.web3doc.top/ What is Pinia ? Pinia 是一个状态管理工具,它和 Vuex 一样为 Vue 应用程序提供共享状态管理能力。语法和 Vue3 一样,它实现状态管理有两种语法:选项式API 与 组合式API&a…

11- OpenCV:自定义线性滤波(卷积,卷积边缘)

目录 一、卷积 1、卷积概念 2、卷积如何工作 3、常见算子(卷积核 Kenel) 4、自定义卷积模糊 二、卷积边缘 1、卷积边缘问题 2、处理边缘 一、卷积 1、卷积概念 (1)在OpenCV中,卷积是一种常用的图像处理操作&…

Python+Selenium+Unittest 之selenium13--WebDriver操作方法3-鼠标操作2

这篇说下ActionChains里常用的几种鼠标操作的方法。 ActionChains常用的鼠标操作方法 click()鼠标左键单击double_click()鼠标左键双击context_click()鼠标右键单击move_to_element()鼠标移动到某个元素上(鼠标悬浮操作)click_and_hold()点击鼠标左键&am…

合并K个升序链表(LeetCode 23)

文章目录 1.问题描述2.难度等级3.热门指数4.解题思路方法一:顺序合并方法二:分治合并方法三:使用优先队列合并 参考文献 1.问题描述 给你一个链表数组,每个链表都已经按升序排列。 请你将所有链表合并到一个升序链表中&#xff…

Flink的KeyedProcessFunction基于Event Time和Process Time的定时器用法实例分析

FLink处理函数简介 在Flink底层,我们可以不定义任何具体的算子(比如 map,filter,或者 window),而只是提炼出一个统一的【处理】(process)操作——它是所有转换算子的一个概括性的表…

动手学深度学习5 矩阵计算

矩阵计算--矩阵怎么求导数 1. 导数和微分2. 偏导数3. 梯度1. 向量-标量求导2. 向量-向量求导3. 拓展到矩阵 4. 链式法则5. 小结QA练习 课程安排: 视频:https://www.bilibili.com/video/BV1eZ4y1w7PY/?spm_id_fromautoNext&vd_sourceeb04c9a33e87ce…

【复现】SpringBlade SQL 注入漏洞_22

目录 一.概述 二 .漏洞影响 三.漏洞复现 1. 漏洞一: 四.修复建议: 五. 搜索语法: 六.免责声明 一.概述 SpringBlade 是由一个商业级项目升级优化而来的SpringCloud微服务架构,采用Java8 API重构了业务代码,完全…

具有中国特色的普及工厂数字化转型的新路子

工业互联网浪潮来袭,你准备好了吗? 国家智能制造专委会委员、浙江省智能制造专家委员会毛光烈主任在“第七届中国工业大数据大会”上的演讲,《具有中国特色的普及工厂数字化转型的新路子》,阐述了关于工厂订单全流程业务数据体系运…

C++核心编程之通过类和对象的思想对文件进行操作

目录 ​​​​​​​一、文件操作 1. 文件类型分类: 2. 操作文件的三大类 二、文本文件 1.写文件 2.读文件 三、二进制文件 1.写二进制文件 2.读二进制文件 一、文件操作 程序运行时产生的数据都属于临时数据,程序一旦运行结束都会被释放 通过文件可以将…

GPT APP的开发步骤

开发一个GPT(Generative Pre-trained Transformer) Store(存储)涉及到使用预训练的语言模型(例如GPT-3)来生成和管理内容。以下是一般的步骤,希望对大家有所帮助。北京木奇移动技术有限公司&…

2024年美国大学生数学建模思路 - 案例:异常检测

文章目录 赛题思路一、简介 -- 关于异常检测异常检测监督学习 二、异常检测算法2. 箱线图分析3. 基于距离/密度4. 基于划分思想 建模资料 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 一、简介 – 关于异常…

适合进阶学习的 机器学习 开源项目(可快速下载)

目录 开源项目合集[>> 开源的机器学习平台:mlflow/mlflow](https://gitcode.com/mlflow/mlflow)[>> 机器学习路线图:mrdbourke/machine-learning-roadmap](https://gitcode.com/mrdbourke/machine-learning-roadmap)[>> 机器学习理论和…

VsCode 常见的配置

转载:Visual Studio Code 常见的配置、常用好用插件以及【vsCode 开发相应项目推荐安装的插件】 - 知乎 (zhihu.com) 一、VsCode 常见的配置 1、取消更新 把插件的更新也一起取消了 2、设置编码为utf-8:默认就是了,不用设置了 3、设置常用的…

阿里云云原生弹性方案:用弹性解决集群资源利用率难题

作者:赫曦 随着上云的认知更加普遍,我们发现除了以往占大部分的互联网类型的客户,一些传统的企业,一些制造类的和工业型企业客户也都开始使用云原生的方式去做 IT 架构的转型,提高集群资源使用率也成为企业上云的一致…

【51单片机】数码管的静态与动态显示(含消影)

数码管在现实生活里是非常常见的设备,例如 这些数字的显示都是数码管的应用。 目录 静态数码管:器件介绍:数码管的使用:译码器的使用:缓冲器: 实现原理:完整代码: 动态数码管&#…

Linux Shell脚本入门

目录 介绍 编写格式与执行方式 Shell脚本文件编写规范 脚本文件后缀名规范 首行格式规范 注释格式 shell脚本HelloWord入门案例 需求 效果 实现步骤 脚本文件的常用执行三种方式 介绍 3种方式的区别 小结 多命令处理 Shell变量 环境变量 目标 Shell变量的介绍 变量类型 系统环境…

Java 方法中参数类型后写了三个点?什么意思?

1、...代表什么意思? 2、如何使用 3、注意事项 4、两个list,一个新的,一个旧的,旧列表中可能有新列表中存在的数据,也可能存在新列表中不存在的数据(注:新旧列表中都不存在重复元素)…

【数据结构】堆:堆的构建,堆的向上调整算法,堆的向下调整算法、堆排序

目录 一、堆的定义 1、堆的定义: 2、根节点与其左、右孩子间的联系 二、堆的创建 1、堆的向下调整算法 2、堆的向上调整算法 三、堆排序 一、堆的定义 1、堆的定义: 堆可以被看作是一棵完全二叉树的数组对象。即在存储结构上是数组&#xff0c…