当前位置: 首页 > news >正文

【HarmonyOS】ArkUI-X 跨平台框架入门详解(一)

【HarmonyOS】ArkUI-X 跨平台框架入门详解(一)

一、前言

1、ArkUI-X框架是什么?

ArkUI-X是在ArkUI开发框架的基础上,进行扩展。支持多个OS平台,目前支持OpenHarmony、HarmonyOS、Android、 iOS。
在这里插入图片描述
2、ArkUI-X目前的能力现状:
在gitCode可以查询到跨平台框架的源码和使用说明等。不过目前维护推进速度比较慢,很多ArkUI上的API在框架上还不支持。并且安卓上操作效果也一般。

二、配置开发环境

1、以Android端开发为例,Android开发环境这里就不赘述了,可以当官方去看下。

2、DevEco IDE下载ArkUI-X的SDK:
File - Setting 选择 ArkUI-X,选择下载地址路径,选择自己需要的SDK版本。
在这里插入图片描述

3、配置ACE Tool (ArkUI Cross-Platform Environment)的环境变量


在Path系统环境变量,新增arkui-x的tolchains-bin地址即可,示例:
D:\CodeAPP\DevEcoStudio\ArkUI-X-SDK\17\arkui-x\toolchains\bin

在这里插入图片描述
4、检查ACE Tool的环境


ace check -v

5、检查多平台环境变量
在这里插入图片描述

三、创建DEMO工程

1、在File-Project-Create Project,选择Application中的ArkUI-X Emptry Ability 示例项目:
在这里插入图片描述
2、编译ArkUI-X框架项目:
在项目结构上看,与普通鸿蒙项目区别不大,只是多了arkui-x的文件夹。
DevEco Studio可打包生成不同平台的应用包。在主菜单栏,单击Build > Build Hap(s)/APP(s) > Build APP(s)。
当插入设备编译时,会检查环境,如有提示弹框,根据提示进行配置:
在这里插入图片描述
3、编译项目后,使用Ace或者AndroidStudio安装apk到安卓手机。
在这里插入图片描述

@Entry
@Component
struct Index {@State message: string = 'Hello World';build() {Row() {Column() {Text(this.message).fontSize($r('app.float.page_text_font_size')).fontWeight(FontWeight.Bold).onClick(() => {this.message = 'Welcome ArkUI-X';})}.width('100%')}.height('100%')}
}

我们可以看到示例项目中,page页面内的写法,与普通鸿蒙ArkTS写法是一致。跨平台处理都在arkui-x文件中:
在这里插入图片描述

http://www.lryc.cn/news/589534.html

相关文章:

  • 3.正则化——新闻分类
  • 【stm32】新建工程
  • STM32裸机开发(中断,轮询,状态机)与freeRTOS
  • MyBatis与Spring整合优化实战指南:从配置到性能调优
  • Conda 核心命令快速查阅表
  • 系统编程是什么
  • 22-C#的委托简单使用-2
  • ai问答推荐企业排名优化?:五大企业核心竞争力全景对比
  • 从0开始学习R语言--Day47--Nomogram
  • 【51单片机先流水2秒后数码显示2秒后显示END】2022-9-5
  • 判断QMetaObject::invokeMethod()里的函数是否调用成功
  • 密码协议的基本概念
  • 【Linux手册】重定向是如何实现的?Linux下为什么一切皆文件?
  • 【env环境】rtthread5.1.0使用fal组件
  • npm install failed如何办?
  • 差分信号接口选型指南:深入解析LVDS、SubLVDS、SLVDS与SLVDS-EC**
  • 回顾一下Docker的基本操作
  • 项目:从零开始制作一个微信小程序(第六天)
  • 专业文档搜索工具,快速定位文本内容
  • Spring AI Alibaba 1.0 vs Spring AI 深度对比
  • EPLAN 电气制图(九):直流电源绘制+端子排绘制
  • 3.创建表-demo
  • 深入解析环境变量:从基础概念到系统级应用
  • 墨刀原型图的原理、与UI设计图的区别及转换方法详解-卓伊凡|贝贝
  • TypeScript之旅
  • 基于STM32与中航ZH-E3L字符卡通信在LED屏显示数据
  • ArrayList列表解析
  • [附源码+数据库+毕业论文]基于Spring+MyBatis+MySQL+Maven+vue实现的酒店预订管理系统,推荐!
  • Nestjs框架: 数据库架构设计与 NestJS 多 ORM 动态数据库应用与连接池的配置
  • 缓存穿透的“黑暗森林”假说——当攻击者学会隐藏恶意流量