鸿蒙ArkUI:【从代码到UI表现的团体渲染流程】

打印 上一主题 下一主题

主题 825|帖子 825|积分 2475

ArkUI

方舟开发框架(简称ArkUI)是鸿蒙开发的UI框架,提供如下两种开发范式,我们 只学声明式开发范式

  • [基于ArkTS的声明式开发范式]
  • [兼容JS的类Web开发范式]
  • 开发前请熟悉鸿蒙开发指导文档:gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击大概复制转到。
团体架构图



我们使用ArkTS写完页面描述后,交给语言运行时举行语法解析,再之后由C++编写的后端引擎将UI转换为渲问鼎令交给渲染引擎绘制到屏幕上
ArkUI语法初见




  • ArkTS对TypeScript语言举行扩展,提供值范例结构struct。
  • struct定义自定义组件,必须搭配Component大概CustomDialog使用
  • ArkUI中组件定义和状态管理都是通过装饰器来做的。TS中的装饰器重要有类装饰器、属性装饰器、方法装饰器以及参数装饰器四种
  • 变乱方法和属性方法只是方法的入参不一样,一个是基本值大概表达式值,一个是函数。
  • 在TS中函数我们就把函数当成变量来用就行,只不过平凡变量是存储一个范例的值,而函数用来存储一个输入到输出的变化过程
  • 还记得我们上面说的描述UI嘛,在这里就在build函数中描述。框架会主动调用build,不必要我们手动调用
从代码到UI表现的团体渲染流程



ArkUI的渲染分为两大环境
从创建到表现(①~⑤)

① 通过devEco将源码编译成带范例标识的字节码文件,同时携带创建这个结构所需信息的指令流
② 通过跨语言调用生成C++层的Component树。这一步只是把ArkTS描述变化成了使用C++描述
③ 通过Component树生成Element树,Element是Component的实例,用于表示一个具体的组件节点。界面在运行时的树形结构就是通过Element树来维持的,同时主动更新的diff算法也是依赖Element树来淘汰复杂度的
④ 对于每个可表现的Element都会为其创建对应的RenderNode。RenderNode负责一个节点的表现信息,它形成的Render树维护着整个界面渲染必要用到的信息,包括位置、巨细、绘制下令等。后续的结构、绘制都是在Render树上举行的
⑤ 实现真正的渲染并表现绘制结果。HarmonyOS与OpenHarmony鸿蒙文档籽料:mau123789是v直接拿


按钮点击到更新表现(⑥~⑪)

⑥ 点击变乱转达到组件,组件的onClick变乱方法被触发执行
⑦ 由于onClick变乱方法中@State注解过的变量改变了,相应getter/setter函数会被触发
⑧ 状态管理模块定位出关联的UI组件
⑨ 状态管理模块更新相应的Element树的信息
⑩ 更新相应的UI组件的渲染信息
⑪ 界面表现,与⑤雷同
盒子模子



上面我们说的结构原理,子视图上报给父视图自身巨细的值是指 组件内容区的巨细
鸿蒙开发岗位必要掌握那些核心要领?

现在还有许多小伙伴不知道要学习哪些鸿蒙技术?不知道重点掌握哪些?为了制止学习时频仍踩坑,终极浪费大量时间的。
本身学习时必须要有一份实用的鸿蒙(Harmony NEXT)资料非常有须要。 这里我推荐,根据鸿蒙开发官网梳理与华为内部人员的分享总结出的开发文档。内容包含了:【ArkTS、ArkUI、Stage模子、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、Harmony南向开发、鸿蒙项目实战】等技术知识点。
废话就不多说了,接下来好好看下这份资料。
如果你是一名Android、Java、前端等等开发人员,想要转入鸿蒙方向发展。可以直接领取这份资料辅助你的学习。鸿蒙OpenHarmony知识←前往。下面是鸿蒙开发的学习门路图。






针对鸿蒙发展门路打造的鸿蒙学习文档。鸿蒙(OpenHarmony )学习手册(共计1236页)与鸿蒙(OpenHarmony )开发入门教学视频,帮助大家在技术的道路上更进一步。
此中内容包含:

《鸿蒙开发底子》鸿蒙OpenHarmony知识←前往

  • ArkTS语言
  • 安装DevEco Studio
  • 运用你的第一个ArkTS应用
  • ArkUI声明式UI开发
  • .……
《鸿蒙开发进阶》鸿蒙OpenHarmony知识←前往

  • Stage模子入门
  • 网络管理
  • 数据管理
  • 电话服务
  • 分布式应用开发
  • 通知与窗口管理
  • 多媒体技术
  • 安全技能
  • 任务管理
  • WebGL
  • 国际化开发
  • 应用测试
  • DFX面向未来计划
  • 鸿蒙系统移植和裁剪定制
  • ……
《鸿蒙开发实战》鸿蒙OpenHarmony知识←前往

  • ArkTS实践
  • UIAbility应用
  • 网络案例
  • ……
最后

鸿蒙是完全具备无与伦比的机遇和潜力的;预计到年底将有 5,000 款的应用完成原生鸿蒙开发,这么多的应用必要开发,也就意味着必要有更多的鸿蒙人才。鸿蒙开发工程师也将会迎来爆发式的增长,学习鸿蒙势在必行!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

万有斥力

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表