# 我的鸿蒙项目 **Repository Path**: begit/my-hongmeng-project ## Basic Information - **Project Name**: 我的鸿蒙项目 - **Description**: 鸿蒙项目 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2023-11-21 - **Last Updated**: 2023-11-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 1、鸿蒙开发的介绍(运用的领域,未来的发展趋势)(体现运用领域广泛、未来发展空间大) 2、鸿蒙开发与Java开发是否有关,如有关,需要掌握Java开发的哪些基础才能进行鸿蒙开发(体现Java是鸿蒙开发的基础,只有在Java的基础上才能更好的去做鸿蒙开发) 3、在我们的课程基础上,增加鸿蒙开发课程,理出具体的学习内容和课时 4、最终目的:对Java开发专业进行升级,针对目前鸿蒙开发的热度,让学员的就业面更广泛,更具备竞争力 1. **鸿蒙开发介绍:** - **领域广泛:** 鸿蒙操作系统适用于多种设备,包括智能手机、平板电脑、物联网设备等,在不同领域有更广泛运用。 - **未来发展趋势:** 鸿蒙作为下一代操作系统的发展趋势,特别是在智能设备和物联网领域。对学生未来职业发展有重要影响,尤其是物联网方向几乎是无可避免的也绕不开的系统之一。如果明年华为推出的 `HarmonyOS Next` 将真的彻底抛弃 `AOSP` (华为的这个决定很大胆,这也是大部分的安卓开发者头痛的事,所以才会非常反感鸿蒙)。所有的安卓应用将不能在华为手机上使用,要想使用的话,就必须采用鸿蒙原生开发将应用改为鸿蒙应用程序。那我国有多少个应用,又有几个是用鸿蒙原生开发的或重构的,那这么多应用都要重构,那是不是这工作量非常之巨大,这么巨大的工作量,那公司是不是要招鸿蒙开发相关岗位了,薪资给少了你肯定不愿意去呀,那它公司又急需呀,那他的薪资待遇会不会被提高。那如果你会的话那你是不是就能上,那样的话害怕找不到工作?相当于前端开发的一个红利期,而且这个红利期至少会持续两三年势头不会淡。 2. **鸿蒙开发与Java关系:** - **基础联系:** 鸿蒙开发基于Java语言的基础,尤其是需要掌握面向对象的编程思想。都知道大家喜欢说鸿蒙是Android的套壳(实际不是),是因为鸿蒙很多应用是兼容Android应用的。而Android开发的主要语言就是Java,所以学习Java是进入鸿蒙的开始,尤其是面向对象的编程思想无处不在。除次之外同时也要有良好的JavaScript的基础,这样为后期使用TypeScript打下基础,进而过渡学习ArkTs更丝滑。 - **必要技能:** 学习需要掌握Java基础、面向对象编程、多线程等概念,以更好地理解和应用于鸿蒙开发。 3. **课程设置:** - **基础课程:** 除了Java基础的课程和括面向对象编程思想,同时我们还需要学习数据结构与算法,网络等通信原理。同时对linux也要有良好的理解和掌握。 - **鸿蒙开发课程:** 专注于鸿蒙开发的课程,包括系统架构、应用开发、调试技术等内容。 - **实践项目:** 学员在项目中不断提高技能,我们会结合具体的项目案例,开发适合市场的生态应用,可以运行在平板,穿戴设备,汽车等车机设备的智慧互联的物联网应用。 4. **最终目的:** - **职业升级:** 鸿蒙开发作为Java开发的升级路径,使学员在求职市场更具竞争力。尤其是前端更好的同学,更能发挥前端优势,薪资平均水平高于java5k-10k不等。 - **广泛就业面:** 学生将具备适应不同领域需求的技能,从而扩大就业机会,拥有更多选择和更高薪资。 IT技术日新月异,但不是毫无关系,也不是无中生有。只要我们掌握了或精通了某门语言,再学习其他语言简直就是如虎天翼。而java作为市场占有和就业率最的后端编程语言(没有之一),不但为学习大数据打下了语言的深厚功底。其中面向对象的编程思想和语法特性也是做为学习鸿蒙开发的坚实肩膀,在投入不大,收益还很明显的情况下,为什么不来华信试试呢? # 鸿蒙生态 俺简单来说哈,其实就一句话:**鸿蒙系统是全场景 、面向未来、万物物联的** 如果这句话比较难理解,或者俺通过一张图让你更直观一点: ![img](readme.assets/db562a90949c4d07adb25ec3fb6aeec0tplv-k3u1fbpfcp-jj-mark3024000q75.webp) 如果你还是不理解的话,可以去华为官网看看官方对于鸿蒙系统的解释。 ![img](readme.assets/2446b79ebd59448bab01349b457d32f1.png) OpenHarmony的技术架构如下: ![img](readme.assets/c9768b7c27e042a088aa8556fcaa797f.png) ​ 从图中可以看出来,OpenHarmony**内核使用的是Linux Kernel或者LiteOS**。 ​ 注:**LiteOS是内核实时操作系统,Linux是操作系统(非实时操作系统)** # 鸿蒙开发,对于前端开发来说,究竟是福是祸呢? 最近,鸿蒙开发的风头也吹到俺这里了,于是我便上网看了看,就以俺的知识面去聊一聊鸿蒙,究竟是个啥,有啥用呢。 在此之前,咱们可以先看个视频来大致了解一下鸿蒙系统究竟是干啥的,有啥好处:[鸿蒙的官方定义*哔哩哔哩*bilibili](https://link.juejin.cn/?target=https%3A%2F%2Fwww.bilibili.com%2Fvideo%2FBV1Wv411N7oN%3Fp%3D3%26vd_source%3D133ec2d20ab75cd55a5b84e3d0e80962)(该视频为黑马的课程视频,原视频没暂时没找到,可跳到 `03:46~12:17` 和 `13:27~19:35` 两个时间段)。 如果你看了这个视频的话,相信你对鸿蒙也有了一定的了解了。 ## 为啥我想说鸿蒙呢 > 最近一段时间,总是有人在说一些(俺认为哈,别人我就管不着了哈)有些莫名其妙的话术:什么前端以死呀、鸿蒙就是个安卓套壳呀、前端的春天要来了呀、等等之类的。是真的死了吗,俺不这样认为,只是技术门槛提高了而已,毕竟市场他是活的,人它也是活的,是活的话他就有变的时候,你的技术不变,不去进行升级的话,那就会被现有的市场所淘汰。**优胜劣汰**这个道理俺相信你们每个人都懂,只是有些人不想去面对而已,仅此而已。 ## 鸿蒙系统又是个啥 俺简单来说哈,其实就一句话:**鸿蒙系统是全场景 、面向未来、万物物联的** 如果这句话比较难理解,或者俺通过一张图让你更直观一点: ![Snipaste_2023-11-15_17-23-22.png](readme.assets/db562a90949c4d07adb25ec3fb6aeec0tplv-k3u1fbpfcp-jj-mark3024000q75.webp) 如果你还是不理解的话,可以去华为官网看看官方对于鸿蒙系统的解释。 ## 那鸿蒙系统的特点有啥 1. **统一OS,弹性部署** 一套操作系统,满足大大小小所有设备的需求,小到耳机,大到车机,智慧屏,手机等,让不同设备使用同一语言无缝沟通。 1. **硬件互助,资源共享** 搭载 `HarmonyOS` 的每个设备都不是孤立的,在系统层让多终端融为一体,成为“超级终端”,终端之间能力互助共享,带来无缝协同体验。手机可以连接一切设备,可以将这些设备看作一个整体,如当手机需要操作自家的音响时,直接在手机上简单动一动手指头就行了,就像操作手机上的喇叭一样方便。 1. **一次开发,多端部署** 开发者基于分布式应用框架,开发者只需要写一次逻辑代码,就可以部署在多种终端上,在多个设备上安装了。 1. **应用自由跨端** `HarmonyOS` 原子化服务是轻量化服务的新物种,它提供了全新的服务和交互方式,可分可合,可流转,支持免安装等特性,能够让应用化繁为简,让服务触手可及。 - 咱们来以一个例子理解一下: 假设咱们要用安卓操作系统去控制一台音响,这台音响有切歌功能、点歌功能、语音聊天功能,现在俺有点寂寞,需要音响陪我聊会天,俺只需要音响的语音聊天功能,但你必须要下载他的完整APP,并不能俺需要用啥功能就下载啥功能。而鸿蒙系统就可以做到。 1. **用“简单”激活你的设备智能** `HarmonyOS` 是新一代智能终端操作系统。为不同设备的智能化、互联与协同提供了统一的语言。设备可实现一碰入网,无屏变有屏,操作可视化,一键直达原厂服务等全新功能。通过简单而智能的服务,实现设备智能化产业升级。 用安卓操作系统时,你需要下载设备对应的APP才能控制该设备,而鸿蒙操作系统,你直接将手机与设备上的芯片碰一碰,就可以直接通过手机来使用设备了。 **小提示:** 俺家也没几个鸿蒙相关的设备,具体的俺也不是特别清楚,这些都是俺从网上了解到的。手机能连接上设备的前提是该设备的厂家与华为达成了合作才行吧(好像是这样的)。但俺用的是华为手机,路由器也是华为的,就这两个华为设备从俺的体验上来说哈,那还是不错的。 ## 可以与安卓做下对比 1. **内核方面的对比** 安卓系统: 是基于linux的宏内核设计 ,宏内核包含了操作系统绝大多数的功能和模块,而且这些功能和模块都具有最高的权限,只要一个模块出错,整个系统就会崩溃,这也是安卓系统容易崩溃的原因。好处就是系统开发难度低。 鸿蒙系统: 是微内核设计:微内核仅包括了操作系统必要的功能模块(任务管理、内存分配等)处在核心地位具有最高权限,其他模块不具有最高权限,也就是说其他模块出现问题,对于整个系统的运行是没有阻碍的。微内核稳定性很高。而且鸿蒙系统包含了两个内核,如果是手机APP是基于[Linux内核](https://link.juejin.cn/?target=https%3A%2F%2Fvibaike.com%2F196355%2F),而如果是其他的硬件是基于[LiteOS内核](https://link.juejin.cn/?target=https%3A%2F%2Fblog.csdn.net%2Fqq_26226375%2Farticle%2Fdetails%2F130482009)。 1. **运行速度的对比** 安卓系统: 安卓程序不能与系统底层直接进行通信活动,是运行在虚拟机上的。如果虚拟机出了问题话的那系统就是卡住。 鸿蒙系统: 鸿蒙系统中的方舟编译器解决了这个问题的,任何由编译器编译的软件,是直接运行在操作系统中的,可以直接与系统底层进行通信。**鸿蒙的运行速度更快** 1. **作为手机操作系统的对比** 安卓和鸿蒙都是基于安卓开源项目(AOSP)进行开发的。 而安卓开源平台是可以在开源许可下自由使用和修改的。国内外很多手机厂商都根据这套代码制定了自己的操作系统,比如:三星、小米、魅族等。而华为也是基于这套开源体系,制定了鸿蒙操作系统。 鸿蒙操作系统的构成: > HarmonyOS = 安卓开放平台的开源代码 - GMS - 安卓UI + HMS + 鸿蒙UI + 分布式软总线 + 以Ability为核心的应用开发框架。 1. **连接其他设备的对比** 安卓系统: 安卓手机连接其他设备,不管从 app 开发方面,还有使用方面都非常麻烦,而且如果换一个第三方设备,还需要把发现,配对,连接,组合,验证的过程再次操作一遍。 鸿蒙系统: 但是鸿蒙就非常简单了,从 app 开发方面,只要写很少的代码就可以调用第三方硬件,从使用的角度来讲,不管是多少设备连在一起,鸿蒙的终极目标是都能像使用一台设备那样简单。 ## 那鸿蒙究竟是不是安卓的套壳呢 > 网上有很多人说鸿蒙就是安卓的套壳,还用人说人家搞安卓开发的都是这样认为的。都不太看好鸿蒙,不要跟风,好吧。别人说是就是呀。你真的有去认真了解过吗。经过俺的一番捯饬后,俺大致的讲讲俺的理解哈。 其实吧,为啥有这么多人说鸿蒙就是安卓的套壳呢,归根结底呀,是这两家的 “祖宗” 其实是一家人,也就是安卓和鸿蒙都是基于安卓开源项目 `AOSP` 进行开发的。而且 `AOSP` 里的代码,是全球很多开发者共同维护开发的,华为也是该代码的提供者之一,任何人都是可以在开源许可协议下去自由使用和二次修改的。而华为也是基于这套开源体系,制定了鸿蒙操作系统。这就是为啥都说鸿蒙是安卓的套壳的原因了。 **小提示:** 可能会有人问俺 `AOSP` 又是啥东东,俺在网上找了一篇文章,你可以看看,了解一下:[鸿蒙系统不是安卓系统?AOSP 为你揭秘! (baidu.com)](https://link.juejin.cn/?target=https%3A%2F%2Fbaijiahao.baidu.com%2Fs%3Fid%3D1765387767500204632%26wfr%3Dspider%26for%3Dpc) 所以呢,**不是套壳、不是套壳、不是套壳**重要的事说三遍哈。你要是还是那样认为那话,那俺只能说,**我嘞个豆!!!** https://juejin.cn/post/7302254338855338003 **鸿蒙系统是不是安卓系统的套壳呢?答案是否定的。**鸿蒙系统虽然可以兼容安卓应用,但它并不是基于 AOSP 开发的。鸿蒙系统是华为自主研发的一个全新的操作系统,它采用了微内核架构,可以实现跨平台、分布式、实时的特性,支持多种设备和场景。**鸿蒙系统还拥有自己的应用框架、开发工具和生态系统,如 HarmonyOS 应用、DevEco Studio、HarmonyOS Connect 等。** ![img](readme.assets/d043ad4bd11373f0b5904dced89c6ff7faed0456.jpeg) **鸿蒙系统和安卓系统的关系可以类比于 Linux 和 Windows 的关系。**它们都是操作系统,都有自己的特点和优势,也都可以运行一些通用的应用,如浏览器、办公软件等。**但它们并不是相互替代或抄袭的关系,而是相互竞争和合作的关系。** ## 就国家政策和就业市场形式 其实从央视力挺华为就可以看出了,我国对鸿蒙系统还是相当重视的(网传,鸿蒙系统会上交给国家,俺也不知道是真是假)。 就俺认为哈,代码这玩意都是老外搞出来的,一个操作系统能难倒他们,只是安卓和ios这两家独大,资历雄厚。可能有国外有好的操作系统出现,只是还没广为人知就已经被资本扼杀在摇篮里了。这又有谁知道呢。当然了这写只是俺的猜测而已。 如果一个国家的操作系统多了,其实也不利于社会的管理和发展,国家一定会主推一个操作系统,然后其他系统为辅,从而形成 **“百家争鸣”** 的形式。 另外哈,俺在招聘网上也查了看了一下,鸿蒙开发相关岗位的薪资大都与安卓开发平齐甚至有的还比安卓开发相关岗位的薪资要高得多(俺看到一家的鸿蒙开发的薪资,**18~30K 16薪**,说实话哈,俺是真的心动了)。 再结合以前的信创背景,避免卡脖子是势在必行,考虑国家系统和信息的安全,迟早都必须做成。但是android和ios市场占有率和生态较完善,鸿蒙也是逐步过渡和替代的增长的过程。 **声明一下:** 以上有关的国家和社会的话术,都是俺自我认为的、理解的,请广大网友不必太纠结其对错,更不要上升到国家层面去给予评论和回复。谢谢! ![image-20231120112959276](readme.assets/image-20231120112959276.png) ## 回归主题 **回归主题:** 鸿蒙开发,对于前端开发来说,究竟是福是祸呢? 看个人理解吧,俺认为哈,是福(俺已经开始学了)。就国内哈,如果明年华为推出的 `HarmonyOS Next` 将真的彻底抛弃 `AOSP` (华为的这个决定很大胆,这也是大部分的安卓开发者头痛的事,所以才会非常反感鸿蒙)。也就是说,明年,所有的安卓应用将不能在华为手机上使用,要想使用的话,就必须采用鸿蒙原生开发将应用改为鸿蒙应用程序。那你想想哈,我国有多少个应用,又有几个是用鸿蒙原生开发的或重构的,你再想想哈,这么多应用都要重构,那是不是这工作量非常之巨大,这么巨大的工作量,那公司是不是要招鸿蒙开发相关岗位了,薪资给少了你肯定不愿意去呀,那它公司又急需呀,那他的薪资待遇会不会被提高。那如果你会的话那你是不是就能上,那样的话害怕找不到工作。 这就是相当于前端开发的一个红利期,而且这个红利期至少会持续两三年势头不会淡。其实俺说它是前端开发的春天的话也不为过,至少是在国内哈,国外俺就不知道啦。 当然这还得等到明年华为推出的 `HarmonyOS Next` 是否真的彻底抛弃 `AOSP` ,如果是的话,那俺的认为就是对的。如果是假的话,那此上的一切都免谈,都是瞎扯淡。 # 需要的技术 linux/Android/IOS/Objective-C/swift c/c++/java/javascript/ts ![image-20231120155320301](readme.assets/image-20231120155320301.png) # 学习路线 ![image-20231120113856388](readme.assets/image-20231120113856388.png) 最起码有c/c++/java的功底,能理解面向对象的编程思想。 # 教程 b站最新:https://www.bilibili.com/video/BV1pb4y1g75m/?p=4&spm_id_from=pageDriver&vd_source=63e20212760fec307590b389a0f0d48e 官网综合教程:https://developer.harmonyos.com/cn/documentation/teaching-video/?catalogVersion=V3 ![image-20231120150456775](readme.assets/image-20231120150456775.png) # 上手试试 ![image-20231120214518440](readme.assets/image-20231120214518440.png) > **小提示哈:** 如果你看完了上面的内容,你发现对鸿蒙开发产生了一定的好奇,你可以直接去官网注册个账号[HarmonyOS应用开发官网 - 华为HarmonyOS打造全场景新服务](https://link.juejin.cn?target=https%3A%2F%2Fdeveloper.harmonyos.com%2F),实名认证一下(俺建议采用银行卡的方式认证,这样通过认证更快),然后里面有在线的视频课程,它会带你具体了解如何开发鸿蒙原生应用。下面的内容你就可以忽略了。 - 注册个账号:[华为HarmonyOS智能终端操作系统官网 | 应用设备分布式开发者生态](https://link.juejin.cn?target=https%3A%2F%2Fwww.harmonyos.com%2F)、实名认证按提示填写对应信息即可。 - 下载开发工具,那必须下最新版的:[HUAWEI DevEco Studio和SDK下载和升级 | HarmonyOS开发者](https://link.juejin.cn?target=https%3A%2F%2Fdeveloper.harmonyos.com%2Fcn%2Fdevelop%2Fdeveco-studio%2F%23download) - 点击打开,第一次打开时,会问要不要导入一些设置,这里默认就行了 ![Snipaste_2023-11-15_18-26-04.png](readme.assets/e8b3eee0625346ca88abe2eafe9630fbtplv-k3u1fbpfcp-jj-mark3024000q75.webp) 俺电脑上没装v16.19.1版本的node:俺用的是16.20.1的,不知道行不行,再装一个吧: ![Snipaste_2023-11-15_18-34-21.png](readme.assets/94e080266b6c440db97da48cce808e02tplv-k3u1fbpfcp-jj-mark3024000q75.webp) 路径与编译工具的安装地址是一致的: ![Snipaste_2023-11-15_18-37-10.png](readme.assets/a830e130543b46d3bde5e8c4ce04e48etplv-k3u1fbpfcp-jj-mark3024000q75.webp) 点击next,如果出现报红,选择第二个就可以了哈。 ![Snipaste_2023-11-15_18-42-37.png](readme.assets/d22e42b7934a4ec295ae734fbbaa7033tplv-k3u1fbpfcp-jj-mark3024000q75.webp) 建议使用nvm进行node的版本管理,选择16的版本。 npm cache clean --force 请用管理员身份运行,光是右键还不行,需要以管理员运行,错误不好百度。 ![image-20231120203505154](readme.assets/image-20231120203505154.png) 创建个应用: ![Snipaste_2023-11-15_18-46-29.png](readme.assets/a689f9df84634055aea03653ec4aa4a5tplv-k3u1fbpfcp-jj-mark3024000q75.webp) ![Snipaste_2023-11-15_18-48-55.png](readme.assets/8e4ac78410384aea8183eebb3eb542cbtplv-k3u1fbpfcp-jj-mark3024000q75.webp) 创建第一个应用 `FirstApp`: ![Snipaste_2023-11-15_18-55-34.png](readme.assets/b149f6633fc74523adb64841f6ebe68etplv-k3u1fbpfcp-jj-mark3024000q75.webp) 咻咻等待一下的啦,让项目配置一下资源。 ![Snipaste_2023-11-15_19-04-17.png](readme.assets/e90a9a85d3cc4af9954ea6a7f8193a6atplv-k3u1fbpfcp-jj-mark3024000q75.webp) 第一次运行会有上图的提示信息,将其 × 了就可以看到 `Hello World` 效果了。 这里需要提前注册登录。 ![Snipaste_2023-11-15_19-07-53.png](readme.assets/7465a794b05544628190142f4cbdb99etplv-k3u1fbpfcp-jj-mark3024000q75.webp) 使用模拟器: ![Snipaste_2023-11-15_19-11-51.png](readme.assets/1e8ff60c38e142689f28fcbba06f3ce7tplv-k3u1fbpfcp-jj-mark3024000q75.webp) ![Snipaste_2023-11-15_19-15-31.png](readme.assets/5804edcebfd24a5fbeec103cf84fa179tplv-k3u1fbpfcp-jj-mark3024000q75.webp) 登录后,选着P50机型模拟器调试: ![Snipaste_2023-11-15_19-42-35.png](readme.assets/d51ddba2f37e49eb801562c8a0c87440tplv-k3u1fbpfcp-jj-mark3024000q75.webp) 我们也可以下载本地的虚拟模拟器,不过请预留3G左右的空间,模拟器还是比较大的,也比较占用资源,至少主机有8G以上的运行内存。 ![image-20231120211903525](readme.assets/image-20231120211903525.png) 小改一下欢迎来华信交流学习: ![image-20231120214544375](readme.assets/image-20231120214544375.png)