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

OpenHarmony应用开发-ArkUI方舟开发框架简析

方舟开发框架(简称ArkUI)为OpenHarmony应用的UI开发提供了完整的基础设施,包括简洁的UI语法、丰富的UI功能(组件、布局、动画以及交互事件),以及实时界面预览工具等,可以支持开发者进行可视化界面开发。

 

一、基本概念

UI: 即用户界面。开发者可以将应用的用户界面设计为多个功能页面,每个页面进行单独的文件管理,并通过页面路由API完成页面间的调度管理如跳转、回退等操作,以实现应用内的功能解耦。

组件: UI构建与显示的最小单位,如列表、网格、按钮、单选框、进度条、文本等。开发者通过多种组件的组合,构建出满足自身应用诉求的完整界面。

两种开发范式

针对不用的应用场景及技术背景,方舟开发框架提供了两种开发范式,分别是基于ArkTS的声明式开发范式(简称“声明式开发范式”)和兼容JS的类Web开发范式(简称“类Web开发范式”)。

声明式开发范式:采用基于TypeScript声明式UI语法扩展而来的ArkTS语言,从组件、动画和状态管理三个维度提供UI绘制能力。

类Web开发范式:采用经典的HML、CSS、JavaScript三段式开发方式,即使用HML标签文件搭建布局、使用CSS文件描述样式、使用JavaScript文件处理逻辑。该范式更符合于Web前端开发者的使用习惯,便于快速将已有的Web应用改造成方舟开发框架应用。

在开发一款新应用时,推荐采用声明式开发范式来构建UI,主要基于以下几点考虑:

开发效率: 声明式开发范式更接近自然语义的编程方式,开发者可以直观地描述UI,无需关心如何实现UI绘制和渲染,开发高效简洁。

应用性能: 如下图所示,两种开发范式的UI后端引擎和语言运行时是共用的,但是相比类Web开发范式,声明式开发范式无需JS框架进行页面DOM管理,渲染更新链路更为精简,占用内存更少,应用性能更佳。

发展趋势:声明式开发范式后续会作为主推的开发范式持续演进,为开发者提供更丰富、更强大的能力。

方舟开发框架示意图  

 

二、不同应用类型支持的开发范式

根据所选用OpenHarmony应用模型(Stage模型、FA模型)和页面形态(应用或服务的普通页面、卡片)的不同,对应支持的UI开发范式也有所差异,详见下表。

支持的UI开发范式

应用模型

页面形态

支持的UI开发范式

Stage模型(推荐)

应用或服务的页面

声明式开发范式(推荐)

卡片

声明式开发范式(推荐)
类Web开发范式

FA模型

应用或服务的页面

声明式开发范式
类Web开发范式

卡片

类Web开发范式

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

相关文章:

  • 【Transformer系列(4)】Transformer模型结构超详细解读
  • Idea启动运行报错:Error:java: 无效的源发行版: 13
  • 【元分析研究方法】学习笔记1.形成问题
  • 2023年3月 青少年软件编程(Python) 等级考试试卷(五级)
  • 必须要知道的hive调优知识(上)
  • 什么是Cache Aside Pattern与延迟双删
  • frp 流量特征
  • Unity --- UGUI(Unity Graphical user interface)--- Canvas画布
  • c++积累6-内联函数
  • ESP32学习笔记13-MCPWM主要用于无刷电机驱动
  • MyBatis-plu 和 JPA 对比
  • 一文详解Python中多进程和进程池的使用方法
  • 前端部署发布项目后,如何通知用户刷新页面、清除缓存
  • 项目上线|慕尚集团携手盖雅工场,用数字化推动人效持续提升
  • Java重载 与封装、继承
  • sed正则表达式替换字符方法
  • 不讲废话普通人了解 ChatGPT——基础篇第一课
  • MATLAB计算气象干旱指标:SAPEI
  • GPT对SaaS领域有什么影响?
  • backward()和zero_grad()在PyTorch中代表什么意思
  • C++多线程编程(一) thread类初窥
  • Qt QVector 详解:从底层原理到高级用法
  • 快速弄懂RPC
  • ONVIF协议介绍
  • AI大模型内卷加剧,商汤凭什么卷进来
  • 企业网络安全漏洞分析及其解决_kaic
  • Docker网络模式与cgroups资源控制
  • Linux/C++:基于TCP协议实现网络版本计算器(自定义应用层协议)
  • 并发之阻塞队列
  • nodejs+vue 智能餐厅菜品厨位分配管理系统