零基础入门鸿蒙开发 HarmonyOS NEXT星河版开发学习

news2024/11/15 15:52:36

今天开始带大家零基础入门鸿蒙开发,也就是你没有任何编程基础的情况下就可以跟着石头哥零基础学习鸿蒙开发。

目录

一,为什么要学习鸿蒙

1-1,鸿蒙介绍

1-2,为什么要学习鸿蒙

1-3,鸿蒙各个版本介绍

1-4,HarmonyOS NEXT鸿蒙星河版

二,开发者工具

2-1,下载DevEco Studio NEXT

​编辑

2-2,创建第一个鸿蒙项目

2-3,编译完成预览页面

2-5,ide汉语化

2-6,代码提示不区分大小写

汇总:常见问题解决

1,node和npm加载失败问题解决


一,为什么要学习鸿蒙

1-1,鸿蒙介绍

鸿蒙(HarmonyOS)是由华为技术有限公司开发的一款操作系统,其设计目标是为了应对物联网时代的需求,尤其是为了实现不同智能设备之间的无缝连接和交互。以下是对鸿蒙的详细介绍:

技术特点

-分布式架构:鸿蒙采用了分布式架构,允许应用在不同的设备之间自由流动,实现设备之间的互联互通。这意味着用户可以从一个设备无缝切换到另一个设备,而不会中断正在进行的活动。

- 微内核设计:与传统的宏内核操作系统不同,鸿蒙使用了微内核,这种设计使得系统更安全、更稳定,因为即使部分模块出现故障,也不会影响整个系统的运行。

- 一次开发,多端部署:鸿蒙支持一次开发,多端部署的能力,开发者可以使用一套代码库在多种设备上运行应用,极大地提高了开发效率和降低了维护成本。

- 安全性:鸿蒙在设计时特别重视安全性,采用了多种机制来保护用户数据和隐私,如权限管理、加密通信等。

方舟编译器:华为自主研发的编译器平台,提升操作系统流畅度和系统响应能力。

应用范围

鸿蒙旨在覆盖广泛的智能设备,包括但不限于:

- 手机和平板电脑
- 智能穿戴设备(如手表)
- 智能家居产品(如智能音箱、照明系统)
- 智慧屏(智能电视)
- 车载信息娱乐系统
- 工业控制设备

生态系统

华为致力于构建一个开放的生态系统,鼓励第三方开发者为鸿蒙开发应用程序和服务。此外,华为还与其他硬件制造商合作,共同推动鸿蒙设备的普及,形成一个完整的生态链。

开源项目

为了促进技术交流和生态发展,华为将鸿蒙的部分代码开源,开发者可以在开放原子开源基金会(OpenAtom Foundation)的项目OpenHarmony中找到相关的源代码,这有助于吸引更多的开发者和企业参与其中,共同推进鸿蒙的发展。

发展历程

鸿蒙自2019年首次公开以来,经历了多个版本的迭代,不断地完善和扩展其功能与应用范围。随着越来越多的设备搭载鸿蒙系统,其在全球范围内的影响力正在逐步提升。

鸿蒙作为一个新兴的操作系统,正试图打破现有的操作系统格局,为用户提供一种全新的智能生活体验。它的成功将取决于其技术的成熟度、生态系统的丰富程度以及市场接受度。

1-2,为什么要学习鸿蒙

学习鸿蒙(HarmonyOS)有多种原因,以下是一些主要的理由

1. 全场景覆盖:HarmonyOS 是一个全场景分布式操作系统,支持从小型设备(如智能手表)到大型设备(如智慧屏、车机)的广泛应用。学习鸿蒙可以帮助你开发跨平台的应用,满足不同设备的需求。

2. 技术创新:鸿蒙系统采用了先进的分布式技术,如分布式软总线、分布式数据管理、分布式任务调度等,这些技术可以提升应用的性能和用户体验。掌握这些技术可以帮助你在软件开发中实现更高效和创新的解决方案。

3. 市场需求:随着华为及其他厂商不断推出搭载鸿蒙系统的设备,市场对鸿蒙应用的需求也在增加。学习鸿蒙可以为你打开更多的就业机会和职业发展路径。

4. 安全性:鸿蒙系统在设计时就注重安全性,采用了微内核架构和分布式安全机制,确保数据的安全和隐私保护。学习鸿蒙可以帮助你更好地理解和实现安全的应用开发。

5. 生态系统:鸿蒙系统正在构建一个庞大的生态系统,包括硬件设备、应用开发者、服务提供商等。加入这个生态系统,不仅可以提升你的技术能力,还可以帮助你建立更广泛的职业网络。

6. 一次开发,多端部署:鸿蒙系统支持“一次开发,多端部署”,这意味着你可以用一套代码开发应用,并在多种设备上运行。这大大提高了开发效率,减少了重复工作。

7. 开源社区:鸿蒙系统基于开源项目 OpenHarmony,拥有活跃的开源社区。参与开源项目不仅可以提升你的技术能力,还可以让你与全球的开发者一起合作,共同推动技术进步。

8. 未来趋势:随着物联网和智能设备的普及,鸿蒙系统作为一种面向未来的操作系统,具有很大的发展潜力。学习鸿蒙可以帮助你抓住未来的技术趋势,保持竞争力。

9. 国家支持:鸿蒙系统是中国自主研发的操作系统,得到了国家政策的支持和推广。学习鸿蒙不仅是提升个人技能,也是响应国家战略,推动国产软件发展的一种方式。

10. 个人兴趣:如果你对操作系统、嵌入式系统、物联网等领域感兴趣,学习鸿蒙无疑是一个很好的选择。它可以让你深入了解这些领域的前沿技术和应用实践。
 

其实对应我们开发者而言,最大的好处就是一次开发,多端部署

对于我个人来说,鸿蒙是工信部认证的百分百的国产操作系统,和安卓ios形成了三足鼎立的局面。作为中国人,肯定希望自己国家的鸿蒙打败安卓和ios,形成我们自己的系统生态。所以这也是我们教大家零基础入门鸿蒙开发的另外一个原因,只有越来越多的开发者参与到鸿蒙的生态,鸿蒙才会越做越强。

1-3,鸿蒙各个版本介绍

鸿蒙(HarmonyOS)的发展历程可以分为几个关键阶段:

1. 概念与规划:
   - 早在2012年,华为就已经开始规划自有操作系统“鸿蒙”,作为公司的一个长期战略储备。

2. 商标注册与研发启动:
   - 2018年8月24日,华为向国家知识产权局商标局申请了“华为鸿蒙”商标。
   - 2019年5月,在美国政府对华为实施制裁后,鸿蒙的研发进程加速,华为将其从备胎计划转变为优先级极高的项目。

3. 正式发布:
   - 2019年8月9日,华为在东莞举行的开发者大会上正式发布了鸿蒙OS 1.0版本,最初主要应用于智慧屏等物联网设备。

4. 迭代升级:
   - 2020年9月10日,华为发布了HarmonyOS 2.0版本,进一步拓展了其应用范围,开始支持手机等更多设备。
   - 2022年7月27日,华为发布了HarmonyOS 3.0版本,继续优化用户体验,增强了设备间的协同能力。
   - 2023年8月4日,华为正式发布了HarmonyOS 4.0版本,带来了更多的功能改进和性能提升。

5. 开源项目:
   - 除了华为自家的HarmonyOS,还存在开源鸿蒙OpenHarmony项目,该项目由开放原子开源基金会托管,旨在构建一个开放的物联网操作系统,供全球开发者使用和贡献。

6. 最新进展:
   - 截至2024年1月18日,HarmonyOS Next(鸿蒙星河版)面向开发者开放申请,标志着鸿蒙系统进入一个新的发展阶段,可能代表了系统架构或功能的重大革新。

7. 生态构建:
   - 随着鸿蒙系统的演进,华为也致力于构建一个包含众多开发者、合作伙伴和用户的生态系统,推动鸿蒙设备和应用的多样化和繁荣。

鸿蒙的发展不仅体现了华为对操作系统自主可控的追求,也反映了中国科技企业在面对国际挑战时的战略调整和技术创新。随着版本的更新和生态的成熟,鸿蒙有望在物联网、智能家居、智能穿戴等多个领域发挥更大的作用。

1-4,HarmonyOS NEXT鸿蒙星河版

1. HarmonyOS NEXT 发布
        在2024年6月21日的华为开发者大会(HDC 2024)上,华为正式发布了全新的HarmonyOS NEXT全场景智能操作系统。这一版本带来了显著的性能提升和全新的智能体验:
- 整机性能提升:HarmonyOS NEXT的整机性能比鸿蒙4提升了30%
- 多语言开发支持:支持多种语言开发,如ArkTS和C/C++,进一步提升了应用性能。
- AI 大模型时代:HarmonyOS NEXT诞生于AI大模型时代,带来了AIGC智能头像功能和照片扩图功能。
- 无障碍体验:注重提升无障碍体验,推出了AI声音修复功能和多模态能力,帮助视障人群。

2. 星盾安全架构
        HarmonyOS NEXT引入了全新的星盾安全架构,通过鸿蒙内核与软硬件协同,实现了生态纯净、隐私可控与数据高安全:
- 生态纯净:从源头构建秩序,开发、发布、运行全流程保障生态纯净。
- 隐私保护:推出全新的“安全访问机制”,用户无需管理权限,只需授权所需数据。

3. 鸿蒙生态进展
截至2024年,鸿蒙生态设备已超过9亿台,不仅覆盖了手机、PC、平板、穿戴、智慧屏、车机等各个领域,还覆盖了鸿蒙智联产品,以及千行百业的终端

开发者人数超过254万。鸿蒙原生应用已进入全面冲刺阶段,5000多个常用应用已全部启动开发,其中超过1500家已完成上架。

这些最新进展展示了鸿蒙系统在技术创新、生态建设、安全性和用户体验方面的持续进步,进一步巩固了其在全球操作系统市场中的地位。

所以我们今天学习鸿蒙开发就是基于HarmonyOS NEXT星河版来学习的

二,开发者工具

我们要开发鸿蒙应用肯定要有一款得心应手的开发者工具,而华为正好给我们提供了这款开发者工具DevEco Studio,而我们要开发next版肯定用DevEco Studio NEXT Developer更合适。

2-1,下载DevEco Studio NEXT

我们去到华为开发者官网下载即可。

进入后点击开发,然后点击DevEco Studio.

下载之前记得先去登录华为开发者账号。

然后下载自己对应系统的版本即可

下载以后直接安装即可。我们后面就直接用ide来代称华为的这个开发者工具。

安装有几点注意事项

1,此版本的开发者工具已经包含了默认SDK,所以不用再像老版本那样先下载安装sdk了。

2,新版本的DevEco里也内置了node,所以node也不用单独再安装了

如果出现下面这样的,记得选择重启

安装好第一次打开时,会提示下面这样,我们选如下箭头所示即可。

2-2,创建第一个鸿蒙项目

我们进入后就可以创建项目了,点Create Project即可

然后选中第一个Empty Ability,可以看到我们创建的项目支持手机,平板,电脑,车载等。

进入下一步,所有的都保持默认即可,不用修改

然后项目就创建好了,第一次进入项目,需要加载的东西比较多,慢慢等待即可

可以看到我们调用自带的node加载对应的依赖

2-3,编译完成预览页面

编译完成以后,点击右侧的Previewer可以看到手机预览页面显示了文字。

我们可以把文字改下,然后点下刷新。到这里我们的第一个简单的鸿蒙项目就运行成功了。后面我们继续学习别的知识点。

2-5,ide汉语化

既然我们的鸿蒙是百分之百国产,那么我们开发的时候,开发工具显示英文就不是很友好了,所以我们来把ide进行中文显示。

点左上角的file然后找到settings

然后找到Plugins,输入chinese,找到如下图所示的,进行勾选即可。

安装好即可重启下ide

这样我们的ide就变成中文的了,这样对新手来说更友好。

2-6,代码提示不区分大小写

我们在开发过程中,需要代码提示,比如我输入一个h就可以提示出hello,但是idea默认的代码提示是区分大小写的,就好比我要提示Hello,必须输入大写的H才可以提示,这对于我们开发其实是不友好的,所以我们要关闭代码提示的大小写,就是提示代码不再区分大小写。

我们上面汉化完idea后,点击文件,然后设置

在弹出窗口左侧导航栏中选择 编辑器 -->通用 --> 代码补全,取消勾选 “区分大小写”,即可实现代码自动提示不区分大小写。

然后我们不论输入大小写,都可以提示对应的代码了,这样可以大大的节省我们的开发时间,提升开发效率。

汇总:常见问题解决

1,node和npm加载失败问题解决

有的同学可能会遇到下面的问题,就是npm加载失败。如果没有遇到这个问题,就忽略这节,跳过继续看后面的就行了。

官方给出的解决方案是 

可能是由于未设置npm仓的地址,可执行如下命令后进行重新加载依赖

找到我们安装包里自带的node

然后顶部输入cmd打开命令行

然后执行如下命令行,命令行贴出来给到大家

npm config set @ohos:registry=https://repo.harmonyos.com/npm/

设置完以后记得

  • 清理并重建项目:尝试Build -> Clean Project,然后再Build -> Rebuild Project,这有时可以解决构建过程中的临时性问题。

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

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

相关文章

MYSQL2

1.建库以及建表: mysql> create database mydb8_woker; mysql> use mydb8_woker; mysql> create table t_worker( -> department_id int(11) not null comment 部门号, -> worker_id int(11) primary key not null comment 职工号, -&…

Java中的Heap(堆)(如果想知道Java中有关堆的知识点,那么只看这一篇就足够了!)

前言:(Heap)是一种特殊的完全二叉树,它在诸多算法中有着广泛的应用,本文将详细介绍Java中的堆。 ✨✨✨这里是秋刀鱼不做梦的BLOG ✨✨✨想要了解更多内容可以访问我的主页秋刀鱼不做梦-CSDN博客 先让我们看一下本文大…

《Milvus Cloud向量数据库指南》——开源许可证的开放度:塑造AI开发合作与创新的双刃剑

在人工智能(AI)技术日新月异的今天,开源软件作为推动技术创新的重要力量,其许可证的开放度成为了影响AI开发合作、创新模式乃至整个行业生态的关键因素。不同的开源许可证模型,以其各自独特的开放程度,不仅决定了软件项目的可访问性和可定制性,还深刻影响着AI领域内的合…

springboot 实体类加注解校验入参数据

导入的是springboot自身的依赖包 import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.validation.Valid;

R语言进行K折交叉验证问题

在使用R语言进行模型参数评估优化时候,会使用K折交叉验证,其中会遇到各种各样问题: 错误: C5.0 models require a factor outcome > (1-mean(E0));(1-mean(E1)) [1] 1 [1] 1 报错说明C5.0模型需要因子变量输出,源代码如下&am…

还在为电脑录屏困扰吗?试试这4个方法,瞬间解决

现在很多人用手机进行日常操作都知道录屏的功能怎么操作,但是电脑录屏怎么录呢?如果你需要使用电脑进行录屏操作的时候就可以看看这篇文章。 1.福晰录屏大师 这个工具是一个专业的录屏软件。可以控制录制的区域范围,也能控制音频来源&#…

鸿蒙仓颉语言【匹配match】

模式匹配match match特性是现代编程语言中常见的特性,它们在不同的编程语言中有类似的概念和语法,但在细节上可能有一些差异。它们都可以提高代码的灵活性和可重用性,但用法和语法可能会因编程语言而异。 仓颉的match 支持通过箭头函数直接…

python用selenium网页模拟时xpath无法定位元素解决方法2

有时我们在使用python selenium xpath时,无法定位元素,红字显示no such element。上一篇文章写了1种情况,是包含iframe的,详见https://blog.csdn.net/Sixth5/article/details/140342929。 本篇写第2种情况,就是xpath定…

怎样对 PostgreSQL 中的慢查询进行分析和优化?

🍅关注博主🎗️ 带你畅游技术世界,不错过每一次成长机会!📚领书:PostgreSQL 入门到精通.pdf 文章目录 怎样对 PostgreSQL 中的慢查询进行分析和优化?一、理解慢查询的危害二、找出慢查询&#x…

恶补,先验分布,后验分布 ,似然估计

恶补,打一遍增加印象 先验分布后验分布,似然估计 声明:仅记录个人学习,并无其他用途。 先验分布 后验分布, 似然估计 隔壁小哥的故事: 隔壁小哥要去15公里外的一个公园里玩,小哥可以选择步行…

使用 Elasticsearch 和 OpenAI 为你的客户成功应用程序构建对话式搜索

作者:来自 Elastic Lionel Palacin 在此博客中,我们将探讨如何通过利用大型语言模型 (LLM) 和检索增强生成 (RAG) 等技术实施对话式搜索来增强你的客户成功应用程序。 你将了解对话式搜索在客户成功应用程序环境中的优势,以及如何使用 Elast…

复制配置,多个端口号一起开启。

选择 输入:-Dserver.port8082

安卓原生聊天面板开发(一)整体规划

系列文章 安卓原生聊天面板开发(一)整体规划 安卓原生聊天面板开发(二)emoji功能实现 安卓原生聊天面板开发(三)录音交互实现 安卓原生聊天面板开发(四)整体交互实现 背景 产品喝…

Android 小白菜鸟从入门到精通教程

前言 Android一词最早出现于法国作家利尔亚当(Auguste Villiers de l’Isle-Adam)在1886年发表的科幻小说《未来的夏娃》(L’ve future)中。他将外表像人的机器起名为Android。从初学者的角度出发,通过通俗易懂的语言…

记录通过SSH连接Linux(VM)过程

记录通过SSH连接Linux(VM)过程 打开VM的虚拟网络编辑器, 点击NAT 设置,记录一下子网和网关 进入虚拟机,输入:vim /etc/sysconfig/network-scripts/ifcfg-ens*; 网关改成和上面一样的网关,IP…

Zabbix介绍和架构

目录 一.Zabbix简介 1.为什么需要监控 2.需要监控什么 3.常见的监控工具 4.Zabbix使用场景及系统概述 5.Zabbix 架构 6.Zabbix工作流程 7.Zabbix 术语 二. 部署安装zabbix 三.zabbix 配置文件 一.Zabbix简介 1.为什么需要监控 运维行业有句话:“无监控、不运维”&am…

朋友圈运营分享干货

朋友圈运营技巧对于提升个人或品牌的曝光度、增强用户粘性以及实现营销目标至关重要。 本篇是一些清晰、实用的朋友圈运营技巧~ 目标定位 明确目标群体:了解目标用户的年龄、兴趣、需求等特征以便精准定位内容。 竞争对手分析:观察和分析竞争对手的运…

echarts图表

记一个简单的关于轴线和toolip图表配置 getEcharts(xAxisData, analysisData) {// console.log(analysisData,"数据");var chart this.$echarts.init(this.$refs.classEcharts)let option {tooltip: {trigger: axis,className: echarts-tooltip,backgroundColor:…

vue+element的table合并单元格(竖着合并行)及合计行添加并计算

1 效果: 代码分析: 1 表格头配置: 2 懒得写的:自己复制吧 <el-table:data"tableData"style"width: 98%":height"height"v-loading"isLoading"stripe"false" :span-method"objectSpanMethod"show-summary:summ…