跨Android、iOS、鸿蒙多平台框架ArkUI-X

news/2024/7/20 21:07:53 标签: android, ios, harmonyos, 分布式, OpenHarmony, 华为, 鸿蒙开发

ArkUI是一套构建分布式应用界面的声明式UI开发框架。它使用极简的UI信息语法、丰富的UI组件、以及实时界面预览工具,帮助您提升移动应用界面开发效率30%。您只需使用一套ArkTS API,就能在Android、iOS、鸿蒙多个平台上提供生动而流畅的用户界面体验。

一、配套关系

表1 版本软件和平台配套关系

目标平台项目编译使用OS SDK版本备注
OpenHarmony4.0 (API Version 10)Beta2
AndroidAndroid 8+ (API level 26+)NA
iOSiOS 10+NA

二、SDK获取

表2 获取SDK路径列表

SDK版本版本信息下载站点SHA256校验码
ArkUI-X SDK包(macOS)1.0.0 Canary1站点SHA256校验码
ArkUI-X SDK包(macOS-M1)1.0.0 Canary1站点SHA256校验码
ArkUI-X SDK包(Windows)1.0.0 Canary1站点SHA256校验码
ArkUI-X SDK包(Linux)1.0.0 Canary1站点SHA256校验码

三、Samples

表3 Samples列表

项目名称简介
HelloWorldHellWorld应用工程示例,支持Android、iOS和OpenHarmony应用构建。
Shopping仿购物应用工程示例,支持Android、iOS和OpenHarmony应用构建。
HealthyDiet健康饮食应用工程示例,支持Android、iOS和OpenHarmony应用构建。
NativeNAPI应用工程示例,支持Android、iOS和OpenHarmony应用构建。
Library平台库应用工程示例,支持Android、iOS和OpenHarmony应用构建。

四、开发工具

ACE Tools是一套为ArkUI-X应用开发者提供的命令行工具,支持在Windows/Ubuntu/macOS平台运行,用于构建OpenHarmony、HarmonyOS、Android和iOS平台的应用程序, 其功能包括开发环境检查,新建项目,编译打包,安装调试等。

五、环境准备

前置条件: Ubuntu需要18.04以上版本,macOS需要11.6.2及以上版本,Windows需要Windows 10版本。

1. 配置Node.js环境

运行ACE Tools和OpenHarmony SDK需Node.js环境支持,建议下载14.19.1 - 16.19.1版本。可命令行运行 node -v 查看本地Node.js版本,如不存在或版本不符合要求,请自行下载安装稳定版本:Node.js下载地址,并配置到环境变量。

2. 配置Java环境

Android和OpenHarmony/HarmonyOS应用打包需Java环境支持,建议下载JDK11.0.2以上版本,下载请点击此处。推荐环境变量配置如下:

[macOS]

// 配置环境变量
export JAVA_HOME=/path-to-java-sdk
export PATH=$JAVA_HOME/bin:$PATH

[Windows]

// 配置环境变量  
set JAVA\_HOME\=/path-to-java-sdk  
set PATH\=%PATH%;%JAVA\_HOME%/bin

3. 配置ohpm环境

OHPM CLI(OpenHarmony Package Manager Command-line Interface)是OpenHarmony应用工程的三方库的包管理工具,可通过DevEco Studio > File > Settings > Build, Execution, Deployment > Ohpm 查看ohpm home的安装路径,并配置到环境变量中。

4. 配置ArkUI-X SDK环境

ArkUI-X SDK下载路径,可通过DevEco Studio > File > Settings > ArkUI-X(macOS为DevEco Studio > Preferences > ArkUI-X)查看ArkUI-X的下载路径,并配置到环境变量中。推荐环境变量配置如下:

[macOS]

// 配置环境变量  
export ARKUIX\_SDK\_HOME\=/path-to-arkui-x-sdk

[Windows]

// 配置环境变量  
set ARKUIX\_SDK\_HOME\=/path-to-arkui-x-sdk

六、命令安装

安装ace命令

  • 修改npm源,前往用户目录,在.npmrc文件中添加如下内容:
@ohos:registry=https://repo.harmonyos.com/npm/  
registry\=https://repo.huaweicloud.com/repository/npm/
  • 全局安装ACE命令
cd arkui-x/toolchains/ace\_tools    // 根据ArkUI-X SDK下载路径,进入ACE Tools实际所在目录。  
npm install  
npm install . \-g

七、开发环境检查

ace check

执行 ace check 命令可以检查ArkUI-X应用本地开发环境是否完备。

注:开发环境检查主要针对Android/iOS/OpenHarmony/HarmonyOS IDE以及对应SDK的默认安装和下载路径进行检查。如果提示结果与实际不符,请您通过ace config命令指定实际的IDE安装和SDK下载路径。

八、创建应用

以创建一个 Stage模型‘demo’项目为例:

ace create project  
? Please enter the project name: demo  
? Please enter the bundle name (com.example.demo):com.example.demo  
? Please enter the system (1: OpenHarmony, 2: HarmonyOS): 1  
? Please enter the project type (1: Application, 2: Library): 1  
? Please enter the template (1: Empty Ability, 2: Native C++): 1   //选择创建Empty Ability或者Native C++项目

执行 `ace create project` 命令,接着输入工程名 demo。

九、应用运行

  • 安装运行到Android设备
cd demo  
ace run apk
  • 安装运行到iOS设备
cd demo  
ace run app
cd demo  
ace run hap

上述命令会完成应用构建打包,并安装到目标平台设备运行。


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

OpenHarmony_146">《鸿蒙 (OpenHarmony)开发学习手册》

入门必看:https://qr21.cn/FV7h05

  1. 应用开发导读(ArkTS)
  2. ……

HarmonyOS 概念:https://qr21.cn/FV7h05

  1. 系统定义
  2. 技术架构
  3. 技术特性
  4. 系统安全

如何快速入门?:https://qr21.cn/FV7h05

  1. 基本概念
  2. 构建第一个ArkTS应用
  3. 构建第一个JS应用
  4. ……

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


http://www.niftyadmin.cn/n/5334118.html

相关文章

30分钟带你深入优化安卓Bitmap大图

30分钟带你源码深入了解Bitmap以及优化安卓大图 一、前言二、Bitmap入门1. 如何创建Bitmap?2. Bitmap的堆内存分布在哪里3. 图片文件越大,Bitmap堆内存会越大吗?4. 如何管理Bitmap的内存?5. 实战修改Bitmap的堆内存,改变图片的图…

【前沿技术杂谈:智能对话的未来】深入比较ChatGPT与文心一言

【前沿技术杂谈:智能对话的未来】深入比较ChatGPT与文心一言 引言主体智能回复语言准确性知识库丰富度 深入分析:ChatGPT与文心一言的技术对比技术架构和算法数据处理和隐私用户界面和体验 应用场景分析未来展望技术进步的趋势潜在的挑战对社会的影响 结…

【2024 目标检测】CascadeV-Det:探究基于点的 3D 目标检测中心点定位的对模型精度影响

【2024 目标检测】CascadeV-Det:探究基于点的 3D 目标检测中心点定位的对模型精度影响 摘要:观察:方法:Instance-Aware Voting:Cascade Positive Assignment: 实验结果: 来源:Arxiv …

[python]裁剪文件夹中所有pdf文档并按名称保存到指定的文件夹

最近在写论文的实验部分,由于latex需要pdf格式的文档,审稿专家需要对pdf图片进行裁剪放大,以保证图片质量。 原图: 裁剪后的图像: 代码粘贴如下。将input_folder和output_folder替换即可。(x1, y1), (x2…

【Flink】FlinkSQL读取Mysql表中时间字段相差13个小时

问题:Flink版本1.13,在我们使用FlinkSQL读取Mysql中数据的时候,发现读取出来的时间字段中的数据和Mysql表中的数据相差13个小时,Mysql建表语句及插入的数据如下; CREATE TABLE `mysql_example` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 自增ID, `name` v…

MacOS受欢迎的数据库开发工具 Navicat Premium 15 中文版

Navicat Premium 15 Mac是一款数据库管理工具,提供了一个全面的解决方案,用于连接、管理和维护各种数据库系统。以下是Navicat Premium 15 Mac的一些主要功能和特点: 软件下载:Navicat Premium 15 中文版下载 多平台支持&#xff…

微电网优化MATLAB:火鹰优化算法(Fire Hawk Optimizer,FHO)求解微电网优化(提供MATLAB代码)

一、火鹰优化算法FHO 火鹰优化算法(Fire Hawk Optimizer,FHO)由Mahdi Azizi等人于2022年提出,该算法性能高效,思路新颖。 单目标优化:火鹰优化算法(Fire Hawk Optimizer,FHO&#…

对一手游的自定义 luajit 字节码的研究

对一手游的自定义 luajit 字节码的研究 前言 最近闲下来之后无聊研究起了一个unity手游 大量使用了 lua (或者说就是 lua 写的 ) 看到网上已有的一些针对方案 都觉得太不方便 于是深入研究了一下 他自定义的 luajit 情况研究 首先 这是一个 unity的 传…