鸿蒙 Harmony 工具篇

本文介绍了鸿蒙HarmonyOS的开发工具DevEco Studio,强调它是基于IntelliJ平台,对Java开发者友好。文章讨论了DevEco Studio与Android Studio的相似之处,如都基于IntelliJ,支持SDK和包管理工具。同时,文章指出两者在开发语言、构建工具和工程结构上的差异,如HarmonyOS支持ArkTS,构建工具使用hvigor/json5。此外,文中还提及了在安装和使用过程中遇到的问题,如Node.js版本、签名问题以及与Android设备的兼容性问题。
摘要由CSDN通过智能技术生成

开发工具

鸿蒙的主开发 IDE 为 DevEco-Studio(DevelopEcology Studio,生态开发 Studio),和 Android Studio 一样,基于 IntelliJ 平台做的自定义 IDE。因此,对于 Java 开发者而言,DevEco 只是“在熟悉中带有一点点陌生”。

  • 安装 Node.js

在安装好 DevEco 之后,首次点开需要开发者设置 Node.js 环境,并且有版本要求:

Node.js version: even-
numbered version marked LTS, in the v14.19.1 to v16 range npm version: 6.14.16 or later

下载时需要注意选择 Node 长期维护的版本并且使用较新的版本安装包(可以选择使用自装包也可以通过 IDE 下载。有坑,见问题一)。

  • ohpm

ohpm(OpenHarmony Package Manager,亦称 ohsdkmgr),是鸿蒙系统的包管理工具(类似于 Android SDK Package Manager),支持查看、安装和卸载 SDK 组件,SDK 组件包括 API 和工具链,也需要独立安装。这里推荐直接在 DevEco IDE 中安装,能省事不少。

  • HarmonyOS SDK

和 Android SDK 相同,除了 Manager 工具之外,还需要下载鸿蒙系统用于开发的各个系统版本的 SDK APIs 和工具,也推荐直接在 DevEco IDE 中傻瓜式安装。从 SDK 大小看,275.93MB 中规中矩,大概是刚起步的原因,内容并不多。SDK 中包含了如下内容(Mac 中的下载路径:/Users/xxxx/Library/Huawei/Sdk):

3.1.0(API 9)
Previewer 3.2.3.6 75.00 MB
Toolchains 3.2.3.6 21.99 MB
OpenHarmony(API 9)
ArkTS 3.2.12.5 46.87 MB
JS 3.2.12.5 21.92 MB
Previewer 3.2.12.5 97.52 MB
Toolchains 3.2.12.5 12.64 MB

截止当前,SDK 提供的最高版本是 3.1.0 API 9(鸿蒙 4.0+ 的系统需要额外的企业账号授权才能体验),里面包含了两部分:Harmony SDKOpenHarmony SDK

HarmonyOS SDK VS OpenHarmony SDK
大家看到这里应该会有一个疑惑,HarmonyOS 和
OpenHarmony 是两个概念,有什么区别? 首先 OpenHarmony 是一个开源项目,有开放原子开源基金会(OpenAtom
Foundation)孵化和运营。相当于 Android 的 AOSP,但不支持 Java 开发应用,不支持模拟器运行。 而
HarmonyOS 是在开源基础上,实现现有 Android 生态应用在部分搭载该 HarmonyOS
设备上运行(可以理解为鸿蒙过渡阶段,中间态)。既然如此,那么在开发语言支持方面,自然是支持 Java/C/C++ 的。
同时,值得开发者注意的是,OpenHarmony 和 HarmonyOS 的 API
略有差别,且打包签名的方式也不同,代码层面上的不同在后面「编码篇」我们在详细展开。

这里对不熟悉 ArkTS 的同学在简单解释下概念,ArkTS 是一个 TS 应用开发框架,支持 Node.js 和 WebAssembly(能力可扩展到 C/C++ 领域),所以它支持多种编程语言实现,ArkTS 涉及了多组件,如编译器 TS 前端、TS 后端、TS 运行时、TS 调试器等。其中,ArkTS Runtime 是 OpenHarmony 上 TS 应用使用的运行时,包含了 TS 对象的分配器以及垃圾回收器、符合 ECMAScript 规范的标准库、用于运行 Ark 前端组件生成的「方舟」字节码(ArkBytecode)的解释器、用于存储隐藏类的内联缓存、对外的函数接口(AFFI)等模块。

ArkTS 就可以理解为是 TypeScript 语言基础上的一个框架,该框架匹配了 ArkUI 框架,扩展了声明式 UI、状态管理等相应的能力,让开发者可以以更简洁、更自然的方式开发跨端应用。

ArkTS、TypeScrip t和 JavaScript 之间的关系: JavaScript 是一种属于网络的高级脚本语言,已经被广泛用于
Web 应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。 TypeScript 是 JavaScript
的一个超集,它扩展了 JavaScript 的语法,通过在 JavaScript 的基础上添加静态类型定义构建而成,是一个开源的编程语言。
ArkTS 兼容 TypeScript 语言,拓展了声明式 UI、状态管理、并发任务等能力。

在这里插入图片描述

<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值