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

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

一、配套关系

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

目标平台 项目编译使用OS SDK版本 备注
OpenHarmony 4.0 (API Version 10) Beta2
Android Android 8+ (API level 26+) NA
iOS iOS 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列表

项目名称 简介
HelloWorld HellWorld应用工程示例,支持Android、iOS和OpenHarmony应用构建。
Shopping 仿购物应用工程示例,支持Android、iOS和OpenHarmony应用构建。
HealthyDiet 健康饮食应用工程示例,支持Android、iOS和OpenHarmony应用构建。
Native NAPI应用工程示例,支持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下载地址,并配置到环境变量。

  1. 配置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
  1. 配置ohpm环境

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

  1. 配置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命令

七、开发环境检查

复制代码
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.......

相关推荐
三少爷的鞋10 分钟前
为什么应该先在 IntelliJ 中学习 Kotlin 与协程,而不是直接上 Android Studio
android
CocoaKier15 小时前
苹果谷歌商店:如何监控并维护用户评分评论
ios·google·apple
不爱说话郭德纲15 小时前
告别漫长的HbuilderX云打包排队!uni-app x 安卓本地打包保姆级教程(附白屏、包体积过大排坑指南)
android·前端·uni-app
iOS日常17 小时前
iOS设备崩溃日志获取与查看
ios·xcode
Sinclair20 小时前
简单几步,安卓手机秒变服务器,安装 CMS 程序
android·服务器
SummerKaze1 天前
为鸿蒙开发者写一个 nvm:hmvm 的设计与实现
harmonyos
雮尘1 天前
手把手带你玩转Android gRPC:一篇搞定原理、配置与客户端开发
android·前端·grpc
wangruofeng1 天前
AI 助力 Flutter 3.27 升级到 3.38 完整指南:两周踩坑与实战复盘
flutter·ios·ai编程
ktl1 天前
Android 编译加速/优化 80%:一个文件搞定,零侵入零配置
android
alexhilton1 天前
使用FunctionGemma进行设备端函数调用
android·kotlin·android jetpack