鸿蒙:1.入门

news2024/10/7 12:20:16

概述

简介

鸿蒙操作系统(HarmonyOS)是华为公司发布的一款智能终端系统,是基于微内核的面向全场景的分布式操作系统。它致力于提供更加安全、高效、低延迟、低功耗的操作体验,可通过技术手段对应用程序和设备进行智能协同,并在用户界面、资源管理和功耗等方面进行优化。

发展历程

  • 2012年,华为开始规划自有操作系统,并在芬兰赫尔辛基设立智能手机研发中心,招募相关技术人才。

  • 2016年5月,华为消费者BG软件部开始立项研发分布式操作系统1.0版本。

  • 2017年,鸿蒙内核1.0完成技术验证,软件部门继续立项研发2.0版本,并于次年研发出用于终端TEE的鸿蒙内核2.0。

  • 2018年初,消费者软件部提出打造全场景时代的软件底座,把华为的系统装载到各种设备上,这一思路获得任正非认可。同年5月,自研分布式操作系统获得华为消费者BG投资,成为正式项目,同年8月24日,华为申请了“华为鸿蒙”商标,随后该系统被取名为“鸿蒙”。

  • 2019年5月,美国对华为实施相关限制措施。同年6月,华为轮值董事长胡厚崑表示华为已采用包括鸿蒙操作系统在内的替代方案。同年8月9日,华为在开发者大会上发布EMUI 10的同时宣告了HarmonyOS 1.0的诞生,但此时鸿蒙系统只搭载在家用电器上,尚未应用于手机系统,其第一个落地产品是华为旗下荣耀的智慧屏。

  • 2020年12月,华为发布HarmonyOS 2.0手机开发者Beta版本。

  • 2021年5月18日,华为智能硬件生态品牌Works with HUAWEI HiLink 与 Powered by HarmonyOS全面升级为HarmonyOS Connect(鸿蒙智联)。同年5月25日,EMUI官博正式更名为HarmonyOS。6月2日,HarmonyOS 2.0正式发布,鸿蒙操作系统正式覆盖手机等移动终端。同年9月23日,HarmonyOS 2.0的用户数量超过1.2亿,成为全球增长最快的移动操作系统之一。

  • 2022年7月,Harmony 3.0正式发布,“鸿蒙世界”的概念被首次提出。

  • 2023年8月,Harmony 4.0正式发布。9月,全新鸿蒙HarmonyOS NEXT蓄势待发,鸿蒙原生应用全面启动。

  • 2024年1月18日,HarmonyOS NEXT鸿蒙星河版面向开发者开放申请。截至2024年5月15日,鸿蒙生态设备数量超8亿台。2024年第一季度,华为鸿蒙HarmonyOS在中国市场首次超越苹果iOS,并成为中国第二大操作系统。

官方文档

HarmonyOS:3.1/4.0

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V2/1_1_u5feb_u901f_u5165_u95e8-0000001478340845-V2

HarmonyOS:NEXT

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/application-dev-guide-V5

搭建

安装node.js

简介

Node.js是一个免费、开源、跨平台的 JavaScript 运行时环境,它让开发人员能够创建服务器、Web 应用、命令行工具和脚本。 

 注意

鸿蒙要求:Node.js版本要求为v14.19.1及以上,且低于v17.0.0;对应的npm版本要求为6.14.16及以上 

下载 

官网下载https://nodejs.org/en/ 历史版本下载:https://nodejs.org/dist/ 16.16.0LTS是目前比较稳定的版本,下载后直接无脑下一步即可 安装路径默认就行(C:\Program Files\nodejs\) 

node.js官网icon-default.png?t=N7T8https://nodejs.org/en/配置环境变量

系统path:C:\Program Files\nodejs\ 配置npm国内镜像

npm是Node的包管理工具【安装Nodejs时会附带】,npm仓库在国外,使用npm是可能下载失败

安装npm的国内镜像:npm install -g cnpm --registry=https://registry.npmmirror.com

配置国内淘宝镜像:npm config set registry https://registry.npm.taobao.org

查看配置的镜像是否成功: npm config get registry

查看nodejs版本

node -v

查看npm版本

npm -v

单独安装ohpm

简介

OHPM CLI 作为鸿蒙生态三方库的包管理工具,支持OpenHarmony共享包的发布、安装和依赖管理

文档

文档地址:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V2/ide-command-line-ohpm-0000001490235312-V2

下载

下载地址:https://developer.huawei.com/consumer/cn/deveco-studio/#download_cli

下载位置【【D:\A_harmonyOS\Autils\commandline-tools-windows-2.0.0.2】】

初始化

注意:初始化ohpm前,需先完成node.js环境变量配置

1.解压文件,进入commandline-tools-windows-2.0.0.2\command-line-tools\ohpm\bin

2.执行:init.bat

配置环境变量【用户和系统环境都配置】

OHPM_HOME:D:\A_harmonyOS\Autils\commandline-tools-windows-2.0.0.2\command-line-tools\ohpm

Path:%OHPM_HOME%\bin

检查版本

ohpm -v

HUAWEI DevEco Studio

简介

HUAWEI DevEco Studio是基于IntelliJ IDEA Community开源版本打造,为运行在HarmonyOS和OpenHarmony系统上的应用和服务提供一站式的开发平台。

特点

1.高效智能代码编辑:支持ArkTS、JS、C/C++等语言的代码高亮、代码智能补齐、

代码错误检查、代码自动跳转、代码格式化、代码查找等功能,提升代码编写效率。

2.低代码可视化开发:丰富的UI界面编辑能力,支持自由拖拽组件和可视化数据绑定,

可快速预览效果,所见即所得;同时支持卡片的零代码开发,降低开发门槛和提升界面开发效率。

3.多端双向实时预览:支持UI界面代码的双向预览、实时预览、动态预览、组件预览以及多端设备预览,便于快速查看代码运行效果。

4.多端设备模拟仿真:提供HarmonyOS本地模拟器,支持手机等设备的模拟仿真,便捷获取调试环境。

运行环境要求

操作系统:Windows10 64位、Windows11 64位

内存:8GB及以上

硬盘:100GB及以上

分辨率:1280*800像素及以上

文档

官方文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V2/deveco_overview-0000001053582387-V2

下载安装

下载地址:https://developer.huawei.com/consumer/cn/deveco-studio/

1.进入HUAWEI DevEco Studio产品页,单击下载列表右侧的下载按钮,下载DevEco Studio

2.选择安装路径,单击Browse指定其安装路径【默认C:\Program Files】

3.勾选DevEco Studio

配置开发环境【可单独安装node.js和ohpm】

1.安装Node.js与ohpm【Node.js版本要求为v14.19.1及以上,且低于v17.0.0;对应的npm版本要求为6.14.16及以上】

如果本地没有合适的版本,可以选择Install按钮【C:\Users\86150\nodejs】【C:\Users\86150\AppData\Local\Huawei\ohpm】

可能有做前端的同学是有Node.js的环境,由于版本和路径的原因,仍然建议单独安装

2.在SDK Setup界面,设置HarmonyOS SDK存储路径【C:\Users\86150\AppData\Local\Huawei\Sdk】

入门

创建第一个项目HelloWorld

创建一个新工程

1.打开DevEco Studio,在欢迎页单击Create Project,创建一个新工程

2.选择“Empty Ability”模板,填写工程相关信息,保持默认值即可

预览项目效果

在DevEco Studio右侧菜单栏,单击Previewer【如果项目过于复杂,则需要使用模拟器或者真机测试】

Previewer热更新

Previewer支持热更新,在修改代码之后,保存可以自动更新效果

创建模拟器

简介

Previewer预览项目,这种预览方式可以快速看到项目效果,但是如果项目过于复杂,则需要使用模拟器或者真机测试

安装

1.Tools > SDK,勾选System-image-phone进行下载【下载的项目比较大,等待时间较长】

2.Tools > Device Manager,创建模拟器

模拟器可以创建手表模拟器、电视模拟器和手机模拟器

在模拟器创建的高级设置中,可以配置模拟器的内存、存储空间和CPU等设置

内存分配根据自己的电脑需求配置,如果电脑内存小,可以适当调小内存,但是至少要保持4G

3.创建完成之后启动模拟器,点击Action启动即可

4.回到IDE中,选择手机模拟器,然后点击运行即可

启动

1.打开DevEco Studio,找到最上面Tools/Device Manager,进入页面启动即可

连接项目

注意:启动了会识别src/main/ets/pages/Index.ets的页面

工程目录结构

AppScope > app.json5:应用的全局配置信息

entry:HarmonyOS工程模块,编译构建生成一个HAP包

src > main > ets:用于存放ArkTS源码

src > main > ets > entryability:应用/服务的入口

src > main > ets > pages:应用/服务包含的页面

src > main > resources:用于存放应用/服务所用到的资源文件,如图形、多媒体、字符串、布局文件等。关于资源文件

src > main > module.json5:Stage模型模块配置文件。主要包含HAP包的配置信息、应用/服务在具体设备上的配置信息以及应用/服务的全局配置信息

build-profile.json5:当前的模块信息、编译信息配置项,包括buildOption、targets配置等。其中targets中可配置当前运行环境,默认为HarmonyOS

hvigorfile.ts:模块级编译构建任务脚本,开发者可以自定义相关任务和代码实现

oh_modules:用于存放三方库依赖信息

build-profile.json5:应用级配置信息,包括签名、产品配置等

hvigorfile.ts:应用级编译构建任务脚本

代码初始结构

/**
 * 装饰器:用于装饰类、结构、方法以及变量,并赋予其特殊的含义。
 * @Entry:表示该自定义组件为入口组件,有这次才能启动项目
 * @Component:表示自定义组件
 * @State:表示组件中的状态变量,状态变量变化会触发UI刷新
 */
@Entry
@Component
  /**
   * HarmonyOS是组件化开发
   * struct Index{}:自定义组件,可复用的UI单元,可组合其他组件
   */
struct Index {
  @State message: string = 'Hello World'
  /**
   * UI描述
   * build(){}:以声明式的方式来描述UI的结构
   *
   * https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V2/arkts-create-custom-components-0000001473537046-V2#section1150911733811
   1.所有声明在build()函数的语言,我们统称为UI描述
   2.@Entry装饰的自定义组件,其build()函数下的根节点唯一且必要,且必须为容器组件,其中ForEach禁止作为根节点。
   3.@Component装饰的自定义组件,其build()函数下的根节点唯一且必要,可以为非容器组件,其中ForEach禁止作为根节点。
   */
  build() {
    /**
     * 系统组件
     * Row/Column/Text:有ArkUI提供的组件
     *  - 容器组件:用来完成布局,例如:Row/Column
     *  - 基础组件:自带样式功能的页面元素,例如:Text
     */
    Row() {
      Column() {
        Text(this.message)
          /**
           * 属性方法:设置组件的UI样式,方法比较多,后面在慢慢讲解
           */
          .fontSize(50)
          .fontWeight(FontWeight.Bold)
          .fontColor(Color.Red)
      }
      .width('100%')
    }
    .height('100%')
  }
}

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

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

相关文章

「植物大战僵尸杂交版」保姆级攻略大全以及下载指南

植物大战僵尸杂交版自推出以来,以其独特的植物组合和策略玩法,迅速赢得了玩家们的喜爱。如果你正准备加入这场植物与僵尸的战斗,或者已经在战斗中寻求突破,那么这份保姆级的攻略大全将是你的得力助手。同时,我们也提供…

【收藏级神丹】Liae384_刘亦菲_直播可用,平衡度最高的原创神丹,独家珍稀资源

Liae384_刘亦菲_DFL神丹:点击下载 此丹较重,小卡可以使用但不能训练,实测复训适合24G卡8G、12G、16G卡下载练好的专丹直接使用即可384的Liae对各类杂论视频兼容比较好,高参也能容忍高分辨率的DST复用方式: 非必要不用删除AB&…

解决前后端同一个端口跨域问题

前端起了一个代理 如果url是api开头的自动代理访问8080端口(解决前后端端口不一致要么是前端代理,要么是后端加过滤器) proxy:{/api:{target:http://localhost:8080,changeOrigin : true,// 替换去掉路径上的api// rewrite:(path)>path.r…

(0)2024年基于财务的数据科学项目Python编程基础(Jupyter Notebooks)

目录 前言学习目标:学习内容:大纲 前言 随着数据科学的迅猛发展,其在财务领域的应用也日益广泛。财务数据的分析和预测对于企业的决策过程至关重要。 本专栏旨在通过Jupyter Notebooks这一强大的交互式计算工具,介绍基于财务的数…

【SqlServer无法远程连接】之解决办法

【SqlServer无法远程连接】之解决办法 打开这个软件,并把对应的项启动即可

Https网站如何申请免费的SSL证书及操作使用指南

前言 在当今互联网环境下,HTTPS已成为网站安全的标配,它通过SSL/TLS协议为网站数据传输提供加密,保障用户信息的安全。申请并部署免费SSL证书,不仅能够提升网站的专业形象,还能增强用户信任。本文将详细介绍如何在知名…

vue 模糊查询加个禁止属性

vue 模糊查询加个禁止属性 父组件通过属性传,是否禁止输入-------默认可以输入

AJAX-day1:

注:文件布局: 一、AJAX的概念: AJAX是浏览器与服务器进行数据通信的技术 >把数据变活 二、AJAX的使用: 使用axios库,与服务器进行数据通信 基于XMLHttpRequest封装,代码简单 Vue,React项目使用 学习…

C++基础22 字符串与字符数组及其相关操作

这是《C算法宝典》C基础篇的第22节文章啦~ 如果你之前没有太多C基础,请点击👉C基础,如果你C语法基础已经炉火纯青,则可以进阶算法👉专栏:算法知识和数据结构👉专栏:数据结构啦 ​ 目…

野指针的概念 如果规避野指针

目录 野指针的概念 有关野指针的代码 如何规避野指针 野指针的概念 野指针就是指针指向的位置是不可知的&#xff08;随机的&#xff0c;不正确的&#xff0c;没有明确限制的&#xff09; 有关野指针的代码 指针未初始化&#xff1a; #include<stdio.h> int main…

【全网最全ABC三题完整版】2024年APMCM第十四届亚太地区大学生数学建模竞赛(中文赛项)完整思路解析+代码+论文

我是Tina表姐&#xff0c;毕业于中国人民大学&#xff0c;对数学建模的热爱让我在这一领域深耕多年。我的建模思路已经帮助了百余位学习者和参赛者在数学建模的道路上取得了显著的进步和成就。现在&#xff0c;我将这份宝贵的经验和知识凝练成一份全面的解题思路与代码论文集合…

【fastadmin开发实战】经营数据自动识别录入

项目场景描述&#xff1a;每日录入各个门店的员工经营数据&#xff0c;直接从微信复制报数、系统识别录入。 解决方案&#xff1a;各个门店按照固定的汇报模板进行汇报&#xff08;如福田店有员工1、2、3、4、5号员工&#xff0c;每个员工按模板报数&#xff09; 例如&#xf…

FTP、http 、tcp

HTTP VS FTP HTTP &#xff1a;HyperText Transfer Protocol 超文本传输协议&#xff0c;是基于TCP协议 FTP&#xff1a; File Transfer Protocol 文件传输协议&#xff0c; 基于TCP协议&#xff0c; 基于UDP协议的FTP 叫做 TFTP HTTP 协议 通过一个SOCKET连接传输依次会话数…

《安全行业大模型技术应用态势发展报告(2024)》

人工智能技术快速迭代发展&#xff0c;大模型应用场景不断拓展&#xff0c;随着安全行业对人工智能技术的应用程度日益加深&#xff0c;大模型在网络安全领域的应用潜力和挑战逐渐显现。安全行业大模型技术的应用实践不断涌现&#xff0c;其在威胁检测、风险评估和安全运营等方…

SCI一区级 | Matlab实现BO-Transformer-LSTM多特征分类预测/故障诊断

SCI一区级 | Matlab实现BO-Transformer-LSTM多特征分类预测/故障诊断 目录 SCI一区级 | Matlab实现BO-Transformer-LSTM多特征分类预测/故障诊断效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.【SCI一区级】Matlab实现BO-Transformer-LSTM特征分类预测/故障诊断&…

Patch SCN使用说明---惜分飞

软件说明 该软件是惜分飞&#xff08;https://www.xifenfei.com&#xff09;开发&#xff0c;仅用来查看和修改Oracle数据库SCN(System Change Number),主要使用在数据库因为某种原因导致无法正常启动的情况下使用该工具进行解决.特别是Oracle新版本中使用隐含参数,event,orad…

光伏电站数据采集方案(基于工业路由器部署)

​ 一、方案概述 本方案采用星创易联SR500工业路由器作为核心网关设备&#xff0c;实现对光伏电站现场数据的实时采集、安全传输和远程监控。SR500具备多接口、多功能、高可靠性等特点&#xff0c;能够满足光伏电站数据采集的各种需求。&#xff08;key-iot.com/iotlist/sr500…

昆虫学(书籍学习资料)

包括昆虫分类&#xff08;上下册&#xff09;、昆虫生态大图鉴等书籍资料。

【SpringBoot3学习 | 第1篇】SpringBoot3介绍与配置文件

文章目录 前言 一. SpringBoot3介绍1.1 SpringBoot项目创建1. 创建Maven工程2. 添加依赖(springboot父工程依赖 , web启动器依赖)3. 编写启动引导类(springboot项目运行的入口)4. 编写处理器Controller5. 启动项目 1.2 项目理解1. 依赖不需要写版本原因2. 启动器(Starter)3. Sp…

溶解氧(DO)理论指南(1)

转载自梅特勒官网资料&#xff0c;仅用于学习交流&#xff0c;侵权则删&#xff01; 溶解氧理论指南 1 溶解氧(DO)原理1.1 溶解氧和分压1.2 氧气在水中的溶解度1.3 溶解氧对生物的重要性1.4 溶解氧对工业的重要性 1 溶解氧(DO)原理 氧是宇宙中第三大常见元素&#xff0c;也是…