方舟开发框架(ArkUI)可运行 OpenHarmony、HarmonyOS、Android、iOS等操作系统

news/2024/12/22 9:49:39/

ArkUI 是华为开发的一套声明式 UI 开发框架,用于构建分布式应用界面。ArkUI-X 是对 ArkUI 框架的扩展,支持开发者使用一套代码构建支持多平台(包括 OpenHarmony、HarmonyOS、Android、iOS)的应用。

一、方舟开发框架的ArkUI-X

        ArkUI-X 是一个跨平台开发框架,它支持开发者使用一套代码来构建支持多个操作系统平台的应用。ArkUI-X 的关键特性包括简洁自然的声明式语法、高效的渲染管线和平台一致性的渲染机制、高效的方舟编译器和运行时、统一的跨平台 API 能力集以及扩展机制,以及动态化特性。

开发者可以利用 ArkUI-X 提供的命令行工具 ACE Tools 或者 DevEco Studio 进行开发,这些工具支持在 Android/iOS 平台的真机和模拟器上运行和调试应用。

ArkUI-X 还提供了平台桥接功能,使得开发者可以轻松地实现客户端(ArkUI)和平台(如 Android 或 iOS)之间的消息传递,包括双向数据传递、调用平台的方法等

ArkUI-X 支持在 Android 平台上运行,并且有详细的开发指南和适配说明,允许开发者复用大部分应用代码并部署到 Android 平台。这意味着您可以在 Android 设备上运行基于 ArkUI 开发的应用,

二、UI开发(ArkTS声明式开发范式)概述

ArkTS是HarmonyOS优选的主力应用开发语言,围绕应用开发在TypeScript(简称TS)生态基础上做了进一步扩展。扩展能力包含声明式UI描述、自定义组件、动态扩展UI元素、状态管理和渲染控制。状态管理作为基于ArkTS的声明式开发范式的特色,通过功能不同的装饰器给开发者提供了清晰的页面更新渲染流程和管道。状态管理包括UI组件状态和应用程序状态,两者协作可以使开发者完整地构建整个应用的数据更新和UI渲染。ArkTS语言的基础知识请参考学习ArkTS语言。 

  • 布局

    布局是UI的必要元素,它定义了组件在界面中的位置。ArkUI框架提供了多种布局方式,除了基础的线性布局、层叠布局、弹性布局、相对布局、栅格布局外,也提供了相对复杂的列表、宫格、轮播。

  • 组件

    组件是UI的必要元素,形成了在界面中的样子,由框架直接提供的称为系统组件,由开发者定义的称为自定义组件。系统内置组件包括按钮、单选框、进度条、文本等。开发者可以通过链式调用的方式设置系统内置组件的渲染效果。开发者可以将系统内置组件组合为自定义组件,通过这种方式将页面组件化为一个个独立的UI单元,实现页面不同单元的独立创建、开发和复用,具有更强的工程性。

  • 页面路由和组件导航

    应用可能包含多个页面,可通过页面路由实现页面间的跳转。一个页面内可能存在组件间的导航如典型的分栏,可通过导航组件实现组件间的导航。

  • 图形

    方舟开发框架提供了多种类型图片的显示能力和多种自定义绘制的能力,以满足开发者的自定义绘图需求,支持绘制形状、填充颜色、绘制文本、变形与裁剪、嵌入图片等。

  • 动画

    动画是UI的重要元素之一。优秀的动画设计能够极大地提升用户体验,框架提供了丰富的动画能力,除了组件内置动画效果外,还包括属性动画、显式动画、自定义转场动画以及动画API等,开发者可以通过封装的物理模型或者调用动画能力API来实现自定义动画轨迹。

  • 交互事件

    交互事件是UI和用户交互的必要元素。方舟开发框架提供了多种交互事件,除了触摸事件、鼠标事件、键盘按键事件、焦点事件等通用事件外,还包括基于通用事件进行进一步识别的手势事件。手势事件有单一手势如点击手势、长按手势、拖动手势、捏合手势、旋转手势、滑动手势,以及通过单一手势事件进行组合的组合手势事件。

三、开发者采用 ArkUI-X  主要原因

开发者是否会采用 ArkUI-X 取决于多个因素,包括但不限于:

  1. 框架的成熟度和稳定性:ArkUI-X 是否提供了足够的稳定性和成熟度,以支持商业应用的开发。
  2. 社区和文档支持:是否有活跃的开发者社区和详尽的文档,这对于开发者解决问题和学习框架至关重要。
  3. 性能和渲染效率:ArkUI-X 是否提供了高性能的 UI 渲染和流畅的用户体验。
  4. 跨平台一致性:ArkUI-X 是否能够在不同平台上提供一致的 UI 和用户体验。
  5. 开发工具的支持:是否有良好的 IDE 支持,如 DevEco Studio,以及是否提供了高效的开发和调试工具。
  6. 许可和成本:ArkUI-X 的许可协议是否对开发者友好,以及是否有额外的成本。

http://www.ppmy.cn/news/1534544.html

相关文章

quiz: python网络爬虫之规则1

下面答错了: B c 8A, 9A

10.3 Linux_并发_创建守护进程

守护进程创建方法 守护进程是什么: 守护进程又叫精灵进程,是一个生存期较长的进程,通常独立于控制终端并且周期性的执行某种任务或等待处理某些发生的事件。它是一个在后台运行的孤儿进程,这使得守护进程不受终端的信息影响&…

C# 字符串(String)的应用说明一

一.字符串(String)的应用说明: 在 C# 中,更常见的做法是使用 string 关键字来声明一个字符串变量,也可以使用字符数组来表示字符串。string 关键字是 System.String 类的别名。 二.创建 String 对象的方法说明&#x…

【学习笔记】手写一个简单的 Spring IOC

目录 一、什么是 Spring IOC? 二、IOC 的作用 1. IOC 怎么知道要创建哪些对象呢? 2. 创建出来的对象放在哪儿? 3. 创建出来的对象如果有属性,如何给属性赋值? 三、实现步骤 1. 创建自定义注解 2. 创建 IOC 容器…

影响 Linux、Unix 系统的 CUPS 漏洞可导致 RCE

在经过大量炒作和第三方过早泄露信息之后,安全研究员 Simone Margaritelli 公布了有关通用 UNIX 打印系统 (CUPS) 中的四个零日漏洞的详细信息。 这些漏洞可被远程、未经身份验证的攻击者滥用,在易受攻击的 Linux 和类 Unix 系统上实现代码执行。 CUPS…

力扣题解 1928

题目描述(困难) 规定时间内到达终点的最小费用 一个国家有 n 个城市,城市编号为 0 到 n - 1 ,题目保证 所有城市 都由双向道路 连接在一起 。道路由二维整数数组 edges 表示,其中 edges[i] [xi, yi, timei] 表示城市…

Redis: 集群测试和集群原理

集群测试 1 ) SET/GET 命令 测试 set 和 get 因为其他命令也基本相似,我们在 101 节点上尝试连接 103 $ /usr/local/redis/bin/redis-cli -c -a 123456 -h 192.168.10.103 -p 6376我们在插入或读取一个 key的时候,会对这个key做一个hash运算&#xff0c…

C语言-指针

0.引入 int a; //定义了一个整型变量 名为a a 100; // a作为左值, 把100存放到a所对应的存储单元中 int b a; // a作为右值, 取a所对应的存储单元(变量本身)的值, 然后再把这个值存放到变量b对应的空间中 在C语言中, 任何一个变量名 都有两层含义: …