ArkUI框架,更懂程序员的UI信息语法

HarmonyOS开发(ArkUI简单使用) Componentbuild(){//组件UI描述@Componentbuild(){//使用组件Com({title:'标题'})//UI描述@Componentbuild(){@Component//UI描述build(){ 阅读详情

ArkUI框架,更懂程序员的信息语法

原文:ArkUI框架,更懂程序员的UI信息语法,点击链接查看更多技术内容。

ArkUI框架简化代码的“秘密”

在传统的开发过程中,总有个问题在困扰我:如何实现前端view与后端数据的同步更改?例如:在某个视频类app的页面,如果我想要实现视频的点击播放功能,需要怎么样进行呢?

如果我使用传统的命令式开发框架去实现,容易造成的麻烦在于,每次后端的数据发生更改,我都需要手动更新前端view。

为了解决这个问题,我便在ArkUI上实现了同样的功能,神奇的事情发生了,瞬间代码干净了很多,只用几行代码就实现了相同的功能。

于是我搜索了一下ArkUI有什么优势。发现很重要的一个原因:ArkUI使用了声明式UI开发框架,同时在UI描述上运用了可以和语言运行时深度结合的自研语言ArkTS。

声明式框架的“庐山真面目”

这里肯定会有小伙伴提出疑问:什么是声明式开发框架?在介绍之前,我们先了解一下传统的命令式开发框架思路,作为一个程序员,一旦我想要更改View,就需要先更改View对应的Data,然后再更改View的显示内容。

而声明式开发框架则不同,ArkUI的声明式框架框架更为高效,可以让data与前端view同步更新数据。

那ArkUI框架是如何实现同步更新的呢?这个原理非常简单,想象一下我现在要盖一栋大楼,我需要把项目先交给包工头,包工头再把具体的工作分配给工人,工人依据图纸建造大楼,当图纸变动的时候,工人也需要按照图纸更改建造动作。

与此相对的,在ArkUI命令式框架内部,有两个重要的角色,代理和拦截器。

代理可以将目标数据进行代理,并为目标数据绑定到拦截器上。而拦截器会监听目标数据的变化,当数据更新时,拦截器就会重写数据的set方法,同时自动更新数据对应的前端页面,整个过程不需要程序员进行手动命令更新。

原子布局能力实现页面布局一致性

声明式开发框架成功解决了传统开发过程中,代码冗长的问题。但是在了解声明式开发框架的过程中,我不经想到一个问题:有没有方法,让我开发一次代码,就可以在多个设备上适配呢?

ArkUI就提供了这一功能,于是我动手试了一下。当设备尺寸变宽时,我可以通过原子布局的均分能力去实现页面布局的一致性,也可以通过栅格布局,去解决多尺寸多设备的动态布局问题。

刚刚提到的原子布局能力包含均分能力,折行能力,拉伸能力,缩放能力,延伸能力,占比能力和隐藏能力。可以帮助我们在不同设备上保持体验的一致性。这样自适应的问题解决了。

针对设备独有的特性,比如平板适配左侧导航栏,这个有什么方法实现呢?这里我找到了媒体查询,它可以判断设备类型,设计出相匹配的布局样式,同时还可以监听屏幕尺寸动态变化,比如横竖屏切换可以通过orientation属性判断屏幕横竖状态来动态适配,另外还支持判断分屏状态、折叠屏展开状态等,这样就解决了我一次开发多端部署的难题。

同时,ArkUI框架为开发者提供了多态组件,同一控件在不同的设备上会呈现出不同的形态,所以开发者在使用多态组件时,无需考虑设备差异,只需关注功能实现即可。

常用组件

在这里我们总结了一下常用组件:

常见的容器类组件有列表,弹出框。

展示类组件有文本,进度条,事件标记和气泡指示。

导航类组件有Tab页签。

操作类组件有按钮,下拉选项,选择器,评分条,搜索框和菜单。

这样一来,我只需要选择合适的组件进行开发,就可以一次开发,多端部署。大大节省我的开发时间。

总结

根据前文不难看出,ArkUI是一套用于构建HarmonyOS应用界面的UI开发框架。

我们总结一下它主要有以下三个特性:

  1. 极简的UI信息语法
  2. 支持多设备开发,一次开发多端部署
  3. 开箱即用的多态UI组件
     

从而帮助开发者提升HarmonyOS应用界面的开发效率。

关于ArkUI的介绍今天就到这里了,需想了解更多?

感兴趣的伙伴们可以点击链接ArkUI框架,更懂程序员的信息语法_哔哩哔哩_bilibili进行学习。

如果你喜欢这期的视频,欢迎在下方留言点赞分享,你的支持就是我们更新的最大动力,我们下期再见~

鸿蒙应用开发之UI框架方舟ArkUI使用参考 HarmonyOS提供了⼀套UI开发框架,即⽅⾈开发框架(ArkUI框架)。⽅⾈开发框架可为开发者提供应⽤UI开发所必需的能⼒,⽐如多种组件、布局计算、动画能⼒、UI交互、绘制等。 阅读详情

相关推荐

Harmony NEXT 开发-ArkUI框架速成一ArkUI概述和特点

自定义能力是UI开发框架提供给开发者对UI界面进行开发和定制化的能力。包括:自定义组合、自定义扩展、自定义节点和自定义渲染。可以关注我,后续这些都会一一更新,新的一年加油!

程序员Feri 1458

方舟开发框架(ArkUI)概述

ArkTSArkTS是UI开发语言,基于TypeScript(简称TS)语言扩展而来,是TS的超集。扩展能力包含各种装饰器、自定义组件、UI描述机制。状态数据管理作为基于ArkTS的声明式开发范式的特色,通过功能不同的装饰器给开发者提供了清晰的页面更新渲染流程和管道。状态管理包括UI组件状态和应用程序状态,两者协作可以使开发者完整地构建整个应用的数据更新和UI渲染。ArkTS语言的基础知识请参考学习ArkTS语言。布局布局是UI的必要元素,它定义了组件在界面中的位置。

2855

体验 ArkUI 进行 HarmonyOS 开发并与 Compose 简单对比

在谷歌的 Compose 推出后就赶紧去学,但是又觉得好像 Compose 的热度也不算太高,又去学 Flutter。转头两个都还没学明白呢,大佬们又在说鸿蒙下次更新不兼容安卓了,再不学鸿蒙开发就等着失业吧。啊?这?这能忍?这必须学啊!于是抽出时间来简单了解了一下使用 ArkUI 的鸿蒙应用开发。

liuhaojiabin的博客 952

ArkUI,更高效的框架设计

在预编译的过程中,数据的静态类型信息会携带在生成的统一字节码中,后端编译的时候能直接利用这种类型信息加速机器码的执行,避免了运行时收集对象造成的额外开销,同时这些类型信息被用于AOT编译过程,使得应用启动时就可以执行AOT生成的优化机器码获得高性能运行体验。完成项目开发将项目进行打包时,方舟编译器将编写的高级编程语言通过内置的工具链,编译为一种与运行设备和系统无关的可移植介质,这种介质就叫统一字节码(又称方舟码,abc文件),这个过程也称为字节码预编译。完整版的内容可查看上方的视频,我们下期再见~

HarmonyOSDev的博客 3963

鸿蒙HarmonyOS实战-ArkUI组件(Row Column)_arkui 设置控件高度自适应(1)

HarmonyOS的布局组件是一组用于构建用户界面布局的组件,包括线性布局、相对布局、网格布局等。这些组件帮助开发者以简单和灵活的方式管理和组织应用程序中的视图,并支持多种不同的设备屏幕尺寸和方向。使用HarmonyOS的布局组件可以提高应用程序的可读性和可维护性,并帮助快速构建适应不同设备的用户界面。

2401_84182073的博客 1448

Harmony南向开发实战:JS-UI框架子组件

部署在轻量系统上,为应用提供UI开发能力。

DMZDAMS的博客 905

【HarmonyOS4.0】第四篇-ArkUI基础实战

ArkUI开发框架是方舟开发框架的简称,它是一套构建 HarmonyOS / OpenHarmony 应用界面的声明式UI开发框架,它使用极简的UI信息语法、丰富的UI组件以及实时界面语言工具,帮助开发者提升应用界面开发效率 30%,开发者只需要使用一套 TS / JS API,就能在多个 HarmonyOS / OpenHarmony 设备上提供既丰富又流畅的用户界面体验。

weixin_42533732的博客 3386

体验一下使用 ArkUI 进行 HarmonyOS 开发并与 Compose 简单对比

最近几年各个技术公众号和技术群都在唱衰原生安卓开发,疯狂贩卖焦虑。搞得我也焦虑的不行,在谷歌的 Compose 推出后就赶紧去学,但是又觉得好像 Compose 的热度也不算太高,又去学 Flutter。转头两个都还没学明白呢,大佬们又在说鸿蒙下次更新不兼容安卓了,再不学鸿蒙开发就等着失业吧。啊?这?这能忍?这必须学啊!于是抽出时间来简单了解了一下使用 ArkUI 的鸿蒙应用开发。

m0_70748458的博客 1374

Harmony OS 开发-ArkUI框架速成一

自定义能力是UI开发框架提供给开发者对UI界面进行开发和定制化的能力。包括:自定义组合、自定义扩展、自定义节点和自定义渲染。可以关注我,后续这些都会一一更新,新的一年加油!

程序员Feri 1250

Win11下高效管理JDK1.8与JDK17双环境的实战指南

本文提供了一份在Windows 11系统上高效管理JDK 1.8与JDK 17双环境的实战指南。文章详细讲解了如何实现双版本切换,包括如何干净安装两个JDK、通过巧妙配置环境变量实现命令行一键切换,以及在不同IDE和构建工具中为项目独立配置JDK版本,旨在帮助Java开发者彻底解决版本冲突问题,提升开发效率。

ipfs8storage的博客 543

Cadence数模混合仿真实战:从Verilog到ADE L的完整流程解析

本文详细解析了Cadence数模混合仿真的完整流程,从Verilog代码编写到ADE L仿真环境配置。通过实战案例讲解如何创建Config文件、搭建混合信号原理图,并分享提高仿真效率的技巧和常见问题排查方法,帮助工程师掌握这一关键芯片设计验证技术。

weixin_29246195的博客 986

鸿蒙ArkUI即将取代Java UI?

关注前端开发的同学,一定听过近些年,DSL 描述式的 UI 构建写法,大有取代传统命令式布局的趋势。 传统上,写一套 UI 代码,需要根据数据的逻辑,手动的在业务代码里,去改变界面 UI 元素的状态,造成业务代码和 UI 代码搅在一起,黑话=“耦合性极高”。结果就是,把人人都炼成了一身诸哥的本事,事必躬亲,鞠躬尽瘁… 好的。话说在网页开发的远古时代(2013 年以前),想写一个炫酷的网页,往往需要直接操作 HTML 元素,比如控制网页上一个价格数字根据选择不同优惠券的变化,需要直接操作这个价格文字元素。 类

张晨光老师的播客 6618

Hi3516CV610硬件设计避坑指南:从电源模块到DDR布线实战解析

本文深入解析了Hi3516CV610硬件设计中的关键难点与实战技巧。重点剖析了电源架构的选型陷阱与PCB布局要点,详细阐述了DDR3/L高速布线的等长匹配、信号完整性及端接策略,并提供了MIPI接口与时钟电路的隔离设计指南。旨在帮助工程师规避常见设计错误,提升系统稳定性与可靠性。

ooo22的博客 255

一文彻底搞清楚Harmony NEXT的ArkUI

在移动开发领域,长期以来存在着两大阵营:iOS和Android。为了满足不同平台的需求,开发者往往需要分别编写两套代码,这无疑增加了开发成本和维护难度。在这种背景下,跨平台UI框架应运而生,旨在实现“一套代码,多平台运行”。目前主流的跨端开发框架:React Native由Facebook开发Flutter是由Google公司开发的uni-app 是国内的DCloud开发的ArkUI 是华为推出一款跨平台Weex是由阿里巴巴开发的跨平台。

程序员Feri 1196

EnlightenGAN训练复现记录

记录EnlightenGAN过程中的问题和解决方式。提示:以下是本篇文章正文内容,下面案例可供参考。

L_27N113E的博客 3847

NVIDIA DGX Spark实战指南:从开箱到部署200B参数大模型

本文详细介绍了NVIDIA DGX Spark桌面AI超级计算机的开箱体验与实战部署指南。文章深入解析了其Grace Blackwell架构与128GB统一内存的核心优势,并逐步演示了从系统初始化、运行200B参数大模型到进行QLoRA微调的全过程。该设备将高达1 PetaFLOP的AI算力浓缩于桌面,为开发者和研究团队提供了本地化、高性能的AI开发与部署一体化解决方案。

weixin_29274969的博客 2230

Harmony OS开发-ArkUI框架速成二

在创建的时候,可以创建Page也可以直接创建ArkTS,Page其实也是一个ArkTS,只是自带了一些装饰器和对应的结构。● 基于目前预览器和常规手机的显示能力,vp 和 px 的对应关系,大约为 3 倍,1vp ≈ 3px (超清屏手机)问题:如果用 px 作为宽高单位,又想保证不同显示能力的设备,视觉效果一样大,好了,夜已深,本篇就到这里啦,关注我,跟着我轻松拿下Harmony OS开发!物理像素,也叫设备像素,设备实际拥有的像素点(出场设置、分辨率单位)● 当数值不带单位时,默认单位 vp。

程序员Feri 745

【Java】JAVA知识总结浅析

Java是一门功能强大的编程语言,广泛应用于多个领域。Java的编程思想,包括面向过程和面向对象编程,Java的发展历史,各版本的特点,JVM原理,数据类型,Java SE与Java EE的区别,应用场景,JDK与JDBC,Java Web技术,Spring Boot系列,以及MyBatis框架的基本实现,最后还将讨论Java在大数据、人工智能、嵌入式和Android等领域的应用。

wnm23的专栏 5220

ArkUI概述

ArkUI是鸿蒙操作系统中用于构建用户界面(UI)的一套声明式编程语言和API集合。它旨在帮助开发者快速创建响应式、高性能的用户界面。ArkUI使用JS/TS语言,并且具有以下特点:声明式UI:通过直观的语法定义用户界面布局。高效的渲染引擎:优化的渲染算法确保了流畅的用户体验。丰富的内置组件:提供了众多预定义的UI组件,如按钮、文本框等。样式与动画支持:可以方便地添加样式和动画效果来增强视觉体验。

qq_40698086的博客 930

【38】OpenCV C++实战篇——基于多项式插值的亚像素边缘定位算法

亚像素边缘定位算法实现 本文介绍了一种基于多项式插值的亚像素边缘定位算法,用于提高图像边缘检测的精度。文章首先分析了传统像素级边缘检测方法(如Canny、Sobel)的局限性,指出其在测量应用中的精度不足问题。 算法核心 梯度计算:使用8个方向模板进行卷积运算生成梯度图像 亚像素定位:采用多项式插值方法改进边缘定位精度 实现步骤: 生成8个方向的卷积模板(0°、45°、90°等) 利用filter2D函数计算各方向梯度 通过归一化处理显示梯度图像 代码特点 提供完整的C++实现代码 包含模板生成、梯度计算和

程序员,他们想的是什么?他们想的永远都是技术,他们崇尚的也永远都是技术。 1099

【CANdelaStudio编辑CDD】-21.2-创建OBD诊断$03,$07,$0A和$04服务以及OBD DTC

案例背景(共11页精讲):创建OBD诊断$03,$07,$0A和$04服务;以及OBD DTC。 在《【ISO15031_OBD诊断】-3.1-$03服务Request emission-related diagnostic trouble codes理论部分https://blog.youkuaiyun.com/qfmzhu/article/details/122157513》, 《【ISO15031_OBD诊断】-7.1-$07服务Request emission-related diagnostic trou

「汽车电子助手」的博客 1697

鸿蒙ArkUI-X框架开发:【开发准备】

本文档适用于ArkUI-X框架开发的初学者。通过环境搭建、代码下载、代码编译、API扩展和使用,快速了解跨平台项目开发流程。

m0_62167422的博客 1444

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

【鸿蒙应用开发进阶指南】:Java程序员必备的ArkUI组件设计模式

掌握Java鸿蒙ArkUI组件开发核心方法,解决跨端UI适配难题。涵盖常用组件设计模式、响应式布局技巧及高性能渲染方案,适用于多设备应用开发。提升开发效率与界面一致性,值得收藏。

DebugVibe的博客 965

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

第七篇【传奇开心果系列】鸿蒙开发技术点案例示例:ArkUI声明式UI编程思想_arkui声明式开发范式 让应用开发更加便捷 下载

ArkUI是一个基于ArkTS的声明式UI组件库,它提供了一系列可复用的UI组件,用于灵活高效美观地构建Web应用程序的用户界面。ArkUI声明式UI编程思想是鸿蒙开发重要编程思想。也是当前官方推荐的鸿蒙开发编程风格。声明式编程:ArkUI采用声明式编程风格,通过组合和配置组件来描述用户界面。开发者只需要声明所需的UI组件及其属性,而无需直接操作DOM或编写大量的JavaScript代码。组件化开发:ArkUI以组件为基本单位,将界面拆分为独立的、可复用的组件。

2401_84181975的博客 989

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Harmony OS 开发-ArkUI框架速成七之线性布局一

线性布局(LinearLayout)是开发中最常用的布局,通过线性容器 Row 和 Column 构建。Column容器内子元素按照垂直方向排列Row容器内子元素按照水平方向排列。根据不同的排列方向,我们自己可选择使用Row或Column容器创建线性布局。

程序员Feri 765

黑马程序员鸿蒙课程 ArkUI 组件(适合小白学习)

2023黑马程序员鸿蒙课程 ArkUI 组件(适合小白学习)

programmer1027的博客 967
上一篇: DevEco Studio 3.1差异化构建打包,提升多版本应用开发效率
下一篇: 搜电充电:创新“服务卡片”,让即时充电更便捷
「已注销」
博客等级 码龄5年 1045粉丝 297原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

「已注销」

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值