鸿蒙开发,对于前端开发来说,究竟是福是祸呢?

2024-03-06 02:04

本文主要是介绍鸿蒙开发,对于前端开发来说,究竟是福是祸呢?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

提前声明: 先说好哈,不要一上来就开喷,好吧,不感兴趣的话你可以不用看下文直接划走,直接喷俺有点承受不住,心脏不好。如果你感兴趣,你可以先把这篇文章看完,看完后感觉俺讲的还挺有道理的那就不喷,如果讲的你认为啥也不是,那就往死里喷,喷不动了俺也加入。

唠叨唠叨

最近,鸿蒙开发的风头也吹到俺这里了,于是我便上网看了看,就以俺的知识面去聊一聊鸿蒙,究竟是个啥,有啥用呢。

在此之前,咱们可以先看个视频来大致了解一下鸿蒙系统究竟是干啥的:最新鸿蒙HarmonyOS·NXET开发应用从入门到实战教程(该视频为码牛的课程视频)。

如果你看了这个视频的话,相信你对鸿蒙也有了一定的了解了。

为啥我想说鸿蒙呢

最近一段时间,总是有人在说一些(俺认为哈,别人我就管不着了哈)有些莫名其妙的话术:什么前端以死呀、鸿蒙就是个安卓套壳呀、前端的春天要来了呀、等等之类的。是真的死了吗,俺不这样认为,只是技术门槛提高了而已,毕竟市场他是活的,人它也是活的,是活的话他就有变的时候,你的技术不变,不去进行升级的话,那就会被现有的市场所淘汰。优胜劣汰这个道理俺相信你们每个人都懂,只是有些人不想去面对而已,仅此而已。

鸿蒙系统又是个啥
俺简单来说哈,其实就一句话:鸿蒙系统是全场景 、面向未来、万物物联的
如果这句话比较难理解,或者俺通过一张图让你更直观一点:

为啥我想说鸿蒙呢

最近一段时间,总是有人在说一些(俺认为哈,别人我就管不着了哈)有些莫名其妙的话术:什么前端以死呀、鸿蒙就是个安卓套壳呀、前端的春天要来了呀、等等之类的。是真的死了吗,俺不这样认为,只是技术门槛提高了而已,毕竟市场他是活的,人它也是活的,是活的话他就有变的时候,你的技术不变,不去进行升级的话,那就会被现有的市场所淘汰。优胜劣汰这个道理俺相信你们每个人都懂,只是有些人不想去面对而已,仅此而已。

鸿蒙系统又是个啥

俺简单来说哈,其实就一句话:鸿蒙系统是全场景 、面向未来、万物物联的

如果这句话比较难理解,或者俺通过一张图让你更直观一点:

如果你还是不理解的话,可以去华为官网看看官方对于鸿蒙系统的解释。

那鸿蒙系统的特点有啥

  1. 统一OS,弹性部署

一套操作系统,满足大大小小所有设备的需求,小到耳机,大到车机,智慧屏,手机等,让不同设备使用同一语言无缝沟通。

  1. 硬件互助,资源共享

搭载 HarmonyOS 的每个设备都不是孤立的,在系统层让多终端融为一体,成为“超级终端”,终端之间能力互助共享,带来无缝协同体验。手机可以连接一切设备,可以将这些设备看作一个整体,如当手机需要操作自家的音响时,直接在手机上简单动一动手指头就行了,就像操作手机上的喇叭一样方便。

  1. 一次开发,多端部署

开发者基于分布式应用框架,开发者只需要写一次逻辑代码,就可以部署在多种终端上,在多个设备上安装了。

  1. 应用自由跨端

HarmonyOS 原子化服务是轻量化服务的新物种,它提供了全新的服务和交互方式,可分可合,可流转,支持免安装等特性,能够让应用化繁为简,让服务触手可及。

  • 咱们来以一个例子理解一下:

假设咱们要用安卓操作系统去控制一台音响,这台音响有切歌功能、点歌功能、语音聊天功能,现在俺有点寂寞,需要音响陪我聊会天,俺只需要音响的语音聊天功能,但你必须要下载他的完整APP,并不能俺需要用啥功能就下载啥功能。而鸿蒙系统就可以做到。

  1. 用“简单”激活你的设备智能

HarmonyOS 是新一代智能终端操作系统。为不同设备的智能化、互联与协同提供了统一的语言。设备可实现一碰入网,无屏变有屏,操作可视化,一键直达原厂服务等全新功能。通过简单而智能的服务,实现设备智能化产业升级。

用安卓操作系统时,你需要下载设备对应的APP才能控制该设备,而鸿蒙操作系统,你直接将手机与设备上的芯片碰一碰,就可以直接通过手机来使用设备了。

小提示: 俺家也没几个鸿蒙相关的设备,具体的俺也不是特别清楚,这些都是俺从网上了解到的。手机能连接上设备的前提是该设备的厂家与华为达成了合作才行吧(好像是这样的)。但俺用的是华为手机,路由器也是华为的,就这两个华为设备从俺的体验上来说哈,那还是不错的。

可以与安卓做下对比

  1. 内核方面的对比

安卓系统:

是基于linux的宏内核设计 ,宏内核包含了操作系统绝大多数的功能和模块,而且这些功能和模块都具有最高的权限,只要一个模块出错,整个系统就会崩溃,这也是安卓系统容易崩溃的原因。好处就是系统开发难度低。

鸿蒙系统:

是微内核设计:微内核仅包括了操作系统必要的功能模块(任务管理、内存分配等)处在核心地位具有最高权限,其他模块不具有最高权限,也就是说其他模块出现问题,对于整个系统的运行是没有阻碍的。微内核稳定性很高。而且鸿蒙系统包含了两个内核,如果是手机APP是基于Linux内核,而如果是其他的硬件是基于LiteOS内核。

  1. 运行速度的对比

安卓系统:

安卓程序不能与系统底层直接进行通信活动,是运行在虚拟机上的。如果虚拟机出了问题话的那系统就是卡住。

鸿蒙系统:

鸿蒙系统中的方舟编译器解决了这个问题的,任何由编译器编译的软件,是直接运行在操作系统中的,可以直接与系统底层进行通信。鸿蒙的运行速度更快

  1. 作为手机操作系统的对比

安卓和鸿蒙都是基于安卓开源项目(AOSP)进行开发的。

而安卓开源平台是可以在开源许可下自由使用和修改的。国内外很多手机厂商都根据这套代码制定了自己的操作系统,比如:三星、小米、魅族等。而华为也是基于这套开源体系,制定了鸿蒙操作系统。

鸿蒙操作系统的构成:

HarmonyOS = 安卓开放平台的开源代码 - GMS - 安卓UI + HMS + 鸿蒙UI + 分布式软总线 + 以Ability为核心的应用开发框架。

  1. 连接其他设备的对比

安卓系统:

安卓手机连接其他设备,不管从 app 开发方面,还有使用方面都非常麻烦,而且如果换一个第三方设备,还需要把发现,配对,连接,组合,验证的过程再次操作一遍。

鸿蒙系统:

但是鸿蒙就非常简单了,从 app 开发方面,只要写很少的代码就可以调用第三方硬件,从使用的角度来讲,不管是多少设备连在一起,鸿蒙的终极目标是都能像使用一台设备那样简单。

那鸿蒙究竟是不是安卓的套壳呢

网上有很多人说鸿蒙就是安卓的套壳,还用人说人家搞安卓开发的都是这样认为的。都不太看好鸿蒙,不要跟风,好吧。别人说是就是呀。你真的有去认真了解过吗。经过俺的一番捯饬后,俺大致的讲讲俺的理解哈。

其实吧,为啥有这么多人说鸿蒙就是安卓的套壳呢,归根结底呀,是这两家的 “祖宗” 其实是一家人,也就是安卓和鸿蒙都是基于安卓开源项目 AOSP 进行开发的。而且 AOSP 里的代码,是全球很多开发者共同维护开发的,华为也是该代码的提供者之一,任何人都是可以在开源许可协议下去自由使用和二次修改的。而华为也是基于这套开源体系,制定了鸿蒙操作系统。这就是为啥都说鸿蒙是安卓的套壳的原因了。

所以呢,不是套壳、不是套壳、不是套壳重要的事说三遍哈。你要是还是那样认为那话,那俺只能说,我嘞个豆!!!

就国家政策和市场形式

其实从央视力挺华为就可以看出了,我国对鸿蒙系统还是相当重视的(网传,鸿蒙系统会上交给国家,俺也不知道是真是假)。

就俺认为哈,代码这玩意都是老外搞出来的,一个操作系统能难倒他们,只是安卓和ios这两家独大,资历雄厚。可能有国外有好的操作系统出现,只是还没广为人知就已经被资本扼杀在摇篮里了。这又有谁知道呢。当然了这写只是俺的猜测而已。

如果一个国家的操作系统多了,其实也不利于社会的管理和发展,国家一定会主推一个操作系统,然后其他系统为辅,从而形成 “百家争鸣” 的形式。

另外哈,俺在招聘网上也查了看了一下,鸿蒙开发相关岗位的薪资大都与安卓开发平齐甚至有的还比安卓开发相关岗位的薪资要高得多(俺看到一家的鸿蒙开发的薪资,18~30K 16薪,说实话哈,俺是真的心动了)。

声明一下: 以上有关的国家和社会的话术,都是俺自我认为的、理解的,请广大网友不必太纠结其对错,更不要上升到国家层面去给予评论和回复。谢谢!

回归主题

回归主题: 鸿蒙开发,对于前端开发来说,究竟是福是祸呢?

看个人理解吧,俺认为哈,是福(俺已经开始学了)。就国内哈,如果明年华为推出的 HarmonyOS Next 将真的彻底抛弃 AOSP (华为的这个决定很大胆,这也是大部分的安卓开发者头痛的事,所以才会非常反感鸿蒙)。也就是说,明年,所有的安卓应用将不能在华为手机上使用,要想使用的话,就必须采用鸿蒙原生开发将应用改为鸿蒙应用程序。那你想想哈,我国有多少个应用,又有几个是用鸿蒙原生开发的或重构的,你再想想哈,这么多应用都要重构,那是不是这工作量非常之巨大,这么巨大的工作量,那公司是不是要招鸿蒙开发相关岗位了,薪资给少了你肯定不愿意去呀,那它公司又急需呀,那他的薪资待遇会不会被提高。那如果你会的话那你是不是就能上,那样的话害怕找不到工作。

这就是相当于前端开发的一个红利期,而且这个红利期至少会持续两三年势头不会淡。其实俺说它是前端开发的春天的话也不为过,至少是在国内哈,国外俺就不知道啦。

当然这还得等到明年华为推出的 HarmonyOS Next 是否真的彻底抛弃 AOSP ,如果是的话,那俺的认为就是对的。如果是假的话,那此上的一切都免谈,都是瞎扯淡。

码牛课堂也为了积极培养鸿蒙生态人才,让大家都能学习到鸿蒙开发最新的技术,针对一些在职人员、0基础小白、应届生/计算机专业、鸿蒙爱好者等人群,整理了一套纯血版鸿蒙(HarmonyOS Next)全栈开发技术的学习路线。大家可以进行参考学习:https://qr21.cn/FV7h05

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

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

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

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

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

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

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

《鸿蒙开发学习手册》: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.  ……

开发基础知识: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.  ……

鸿蒙开发面试真题(含参考答案):https://qr21.cn/FV7h05

这篇关于鸿蒙开发,对于前端开发来说,究竟是福是祸呢?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/778518

相关文章

vue, 左右布局宽,可拖动改变

1:建立一个draggableMixin.js  混入的方式使用 2:代码如下draggableMixin.js  export default {data() {return {leftWidth: 330,isDragging: false,startX: 0,startWidth: 0,};},methods: {startDragging(e) {this.isDragging = tr

vue项目集成CanvasEditor实现Word在线编辑器

CanvasEditor实现Word在线编辑器 官网文档:https://hufe.club/canvas-editor-docs/guide/schema.html 源码地址:https://github.com/Hufe921/canvas-editor 前提声明: 由于CanvasEditor目前不支持vue、react 等框架开箱即用版,所以需要我们去Git下载源码,拿到其中两个主

React+TS前台项目实战(十七)-- 全局常用组件Dropdown封装

文章目录 前言Dropdown组件1. 功能分析2. 代码+详细注释3. 使用方式4. 效果展示 总结 前言 今天这篇主要讲全局Dropdown组件封装,可根据UI设计师要求自定义修改。 Dropdown组件 1. 功能分析 (1)通过position属性,可以控制下拉选项的位置 (2)通过传入width属性, 可以自定义下拉选项的宽度 (3)通过传入classN

Eclipse+ADT与Android Studio开发的区别

下文的EA指Eclipse+ADT,AS就是指Android Studio。 就编写界面布局来说AS可以边开发边预览(所见即所得,以及多个屏幕预览),这个优势比较大。AS运行时占的内存比EA的要小。AS创建项目时要创建gradle项目框架,so,创建项目时AS比较慢。android studio基于gradle构建项目,你无法同时集中管理和维护多个项目的源码,而eclipse ADT可以同时打开

js+css二级导航

效果 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Con

基于Springboot + vue 的抗疫物质管理系统的设计与实现

目录 📚 前言 📑摘要 📑系统流程 📚 系统架构设计 📚 数据库设计 📚 系统功能的具体实现    💬 系统登录注册 系统登录 登录界面   用户添加  💬 抗疫列表展示模块     区域信息管理 添加物资详情 抗疫物资列表展示 抗疫物资申请 抗疫物资审核 ✒️ 源码实现 💖 源码获取 😁 联系方式 📚 前言 📑博客主页:

vue+el国际化-东抄西鉴组合拳

vue-i18n 国际化参考 https://blog.csdn.net/zuorishu/article/details/81708585 说得比较详细。 另外做点补充,比如这里cn下的可以以项目模块加公共模块来细分。 import zhLocale from 'element-ui/lib/locale/lang/zh-CN' //引入element语言包const cn = {mess

vue同页面多路由懒加载-及可能存在问题的解决方式

先上图,再解释 图一是多路由页面,图二是路由文件。从图一可以看出每个router-view对应的name都不一样。从图二可以看出层路由对应的组件加载方式要跟图一中的name相对应,并且图二的路由层在跟图一对应的页面中要加上components层,多一个s结尾,里面的的方法名就是图一路由的name值,里面还可以照样用懒加载的方式。 页面上其他的路由在路由文件中也跟图二是一样的写法。 附送可能存在

vue+elementUI下拉框联动显示

<el-row><el-col :span="12"><el-form-item label="主账号:" prop="partyAccountId" :rules="[ { required: true, message: '主账号不能为空'}]"><el-select v-model="detailForm.partyAccountId" filterable placeholder="

vue+elementui分页输入框回车与页面中@keyup.enter事件冲突解决

解决这个问题的思路只要判断事件源是哪个就好。el分页的回车触发事件是在按下时,抬起并不会再触发。而keyup.enter事件是在抬起时触发。 so,找不到分页的回车事件那就拿keyup.enter事件搞事情。只要判断这个抬起事件的$event中的锚点样式判断不等于分页特有的样式就可以了 @keyup.enter="allKeyup($event)" //页面上的//js中allKeyup(e