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

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
  • 安装运行到OpenHarmony设备
cd demo  
ace run hap

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


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

《鸿蒙 (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.mzph.cn/news/632117.shtml

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

相关文章

spring项目中自定义钩子函数实现常用功能

在Spring项目中,自定义钩子函数(Hook Function)是一种常见的方式,用于实现一些常用功能或在特定生命周期事件发生时执行一些操作。以下是一些在Spring项目中常见的功能和如何通过自定义钩子函数来实现: 日志记录&#…

16.7 基于递归神经网络的分层多楼多层室内定位

文献来源:西交利物浦大学 Elesawi A E A, Kim K S. Hierarchical multi-building and multi-floor indoor localization based on recurrent neural networks[C]//2021 Ninth International Symposium on Computing and Networking Workshops (CANDARW). IEEE, 202…

MySQL优化之SQL调优策略

首先以一张思维导图从全局上给大家分享以下几种SQL优化策略,再详细讲解 1、避免使用SELECT * 在阿里的编码规范中也强制了数据库查询不能使用SELECT *,因为SELECT *方式走的都是全表扫描,导致的结果就是查询效率非常低下,其原因为…

苹果笔记本 macbook 在 office word 中使用 mathtype 的方法

前言 想在 MacBook 中使用 mathtype,去搜索,去 Apple Store 下载也发现没有 解决方法 打开 office Word 的「插入」中的「获取加载项」、「我的加载项」。 在应用商店中下载,需要登录自己的微软账号。 加载成功后就可以使用了。 注意 和…

【Unity实战100例】Unity对Ini格式的配置文件管理和读写

目录 一.编写ini格式配置文件 二.读取解析ini文件 三.调用属性 INI 文件以文本形式存储,易于阅读和编辑。这种人可读的格式使得调整配置参数变得更加直观,不需要专门的工具。 INI 文件是一种轻量级的配置文件格式,不需要复杂的解析器或库。它的结构相对简单,适用于小到

What is `addFormattersdoes` in `WebMvcConfigurer` ?

addFormatters 方法在SpringMVC框架中主要用于向Spring容器注册自定义的格式化器(Formatter) SpringMVC内置了一系列的标准格式化器,用于处理日期、数字和其他常见类型的转换。 开发者也可以通过实现 WebMvcConfigurer 接口,并重写…

Unix时间戳

时间戳,相信很多相关专业的人,计算机软件电子等等都会听过。由于最早是由Unix系统使用所以又叫Unix时间戳。 Unix 时间戳(Unix Timestamp)定义为从UTC(世界协调时)/GMT(格林尼治时)…

内网穿透的应用-使用Docker搭建一个Wiki.Js知识库系统并实现分享他人远程创作

文章目录 1. 安装Docker2. 获取Wiki.js镜像3. 本地服务器打开Wiki.js并添加知识库内容4. 实现公网访问Wiki.js5. 固定Wiki.js公网地址 不管是在企业中还是在自己的个人知识整理上,我们都需要通过某种方式来有条理的组织相应的知识架构,那么一个好的知识整…

设计模式——责任链模式

责任链模式(Chain of Responsibility Pattern)是一种行为型设计模式,它将请求的发送者和接收者解耦,使得多个对象都有机会处理请求,而不是指定特定的接收者。在责任链中,每个对象都是一个处理者&#xff0c…

KNN算法原理及应用

理解KNN 算法原理 KNN是监督学习分类算法,主要解决现实生活中分类问题。 根据目标的不同将监督学习任务分为了分类学习及回归预测问题。 监督学习任务的基本流程和架构: (1)首先准备数据,可以是视频、音频、文本、…

【docker】之基础篇一

目录 一、docker的简单介绍二、centos7安装docker设置ustc的镜像镜像相关的命令:容器相关的命令创建镜像的三种方式存出和载入镜像创建与启动容器目录挂载导入和导出容器 三、redhat安装docker四、搭建本地私有仓库五、软件部署1.mysql部署2.nginx部署3.tomcat部署 …

【C++】STL 算法 - 累加填充算法 ( 元素累加算法 - accumulate 函数 | 元素填充算法 - fill 函数 )

文章目录 一、元素累加算法 - accumulate 函数1、函数原型分析2、代码示例 二、元素填充算法 - fill 函数1、函数原型分析2、代码示例 一、元素累加算法 - accumulate 函数 1、函数原型分析 在 C 语言 的 标准模板库 ( STL , STL Standard Template Library ) 中 , 提供了 accu…

晶格动力学 GULP 软件的安装步骤

---------------------------------------------------------------------- GULP软件现已发展到5.2版本,其使用Fortran编译器,可运行在Linux/Unix系统下,但不提供任何Windows版本的技术支持。 下载网址: http://gulp.curtin.ed…

flink 最后一个窗口一直没有新数据,窗口不关闭问题

flink 最后一个窗口一直没有新数据&#xff0c;窗口不关闭问题 自定义实现 WatermarkStrategy接口 自定义实现 WatermarkStrategy接口 窗口类型&#xff1a;滚动窗口 代码&#xff1a; public static class WatermarkDemoFunction implements WatermarkStrategy<JSONObject…

C#设计模式教程(3):抽象工厂模式

抽象工厂模式是一种创建型设计模式,它提供了一个接口,用于创建一系列相关或相互依赖对象的家族,而无需指定它们具体的类。这种模式是工厂方法模式的一种扩展,它用于创建的不是一个产品,而是多个产品的家族。 C# 代码实现 以下是C#中实现抽象工厂模式的一个简单示例: 首…

10种较流行的网络安全框架及特点分析

网络安全框架主要包括安全控制框架&#xff08;SCF&#xff09;、安全管理框架&#xff08;SMP&#xff09;和安全治理框架&#xff08;SGF&#xff09;等类型。对于那些希望按照行业最佳实践来开展网络安全能力建设的企业来说&#xff0c;理解并实施强大的网络安全框架至关重要…

Demystifying CXL Memory with Genuine CXL-Ready Systems and Devices——论文阅读

MICRO 2023 Paper CXL论文阅读汇总 问题 对更大容量和更高带宽的内存的不断增长的需求推动了基于Compute eXpress Link&#xff08;CXL&#xff09;的内存扩展和分离技术的创新。特别是&#xff0c;基于CXL的内存扩展技术不仅能够经济地扩展内存容量和带宽&#xff0c;还能够…

第3章 语句与函数

插入汇编语句 asm语句可在C或C程序中插入汇编代码。 VS2019编译器使用“_asm”插入汇编代码。 static_assert用于提供静态断言服务&#xff0c;即在编译时判定执行条件是否满足。 使用格式为 static_assert(条件表达式, ”输出信息“)。 不满足则编译报错。 C函数 函数说明不定…

【数据结构】二叉树(遍历,递归)

&#x1f308;个人主页&#xff1a;秦jh__https://blog.csdn.net/qinjh_?spm1010.2135.3001.5343&#x1f525; 系列专栏&#xff1a;《数据结构》https://blog.csdn.net/qinjh_/category_12536791.html?spm1001.2014.3001.5482 ​​​ 目录 二叉树遍历规则 前序遍历 ​…

flutter 客户端日志上传定位错误信息

背景 flutter 开发的app 安装到真机上 无法定位报错信息&#xff0c;只能使用usb连接电脑 使用adb logcat来查看日志效率低下。 想法 如果将flutter 开发的app 运行的时候 将日志写进一个日志文件里面去&#xff0c;然后给flutter app搭建一个http服务器&#xff0c;后端知道对…