鸿蒙ArkUI:【从代码到UI表现的团体渲染流程】
ArkUI方舟开发框架(简称ArkUI)是鸿蒙开发的UI框架,提供如下两种开发范式,我们 只学声明式开发范式
[*][基于ArkTS的声明式开发范式]
[*][兼容JS的类Web开发范式]
[*]开发前请熟悉鸿蒙开发指导文档:gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击大概复制转到。
团体架构图
https://i-blog.csdnimg.cn/blog_migrate/cc39fced7c51addc6bc6b5de74940795.png
我们使用ArkTS写完页面描述后,交给语言运行时举行语法解析,再之后由C++编写的后端引擎将UI转换为渲问鼎令交给渲染引擎绘制到屏幕上
ArkUI语法初见
https://i-blog.csdnimg.cn/blog_migrate/cee4168f67351119b3365d89883059f1.png
[*]ArkTS对TypeScript语言举行扩展,提供值范例结构struct。
[*]struct定义自定义组件,必须搭配Component大概CustomDialog使用
[*]ArkUI中组件定义和状态管理都是通过装饰器来做的。TS中的装饰器重要有类装饰器、属性装饰器、方法装饰器以及参数装饰器四种
[*]变乱方法和属性方法只是方法的入参不一样,一个是基本值大概表达式值,一个是函数。
[*]在TS中函数我们就把函数当成变量来用就行,只不过平凡变量是存储一个范例的值,而函数用来存储一个输入到输出的变化过程
[*]还记得我们上面说的描述UI嘛,在这里就在build函数中描述。框架会主动调用build,不必要我们手动调用
从代码到UI表现的团体渲染流程
https://i-blog.csdnimg.cn/blog_migrate/bb08be94aab4ff885e4cb1c78b10bf30.png
ArkUI的渲染分为两大环境
从创建到表现(①~⑤)
① 通过devEco将源码编译成带范例标识的字节码文件,同时携带创建这个结构所需信息的指令流
② 通过跨语言调用生成C++层的Component树。这一步只是把ArkTS描述变化成了使用C++描述
③ 通过Component树生成Element树,Element是Component的实例,用于表示一个具体的组件节点。界面在运行时的树形结构就是通过Element树来维持的,同时主动更新的diff算法也是依赖Element树来淘汰复杂度的
④ 对于每个可表现的Element都会为其创建对应的RenderNode。RenderNode负责一个节点的表现信息,它形成的Render树维护着整个界面渲染必要用到的信息,包括位置、巨细、绘制下令等。后续的结构、绘制都是在Render树上举行的
⑤ 实现真正的渲染并表现绘制结果。HarmonyOS与OpenHarmony鸿蒙文档籽料:mau123789是v直接拿
https://i-blog.csdnimg.cn/blog_migrate/7cac666e807c029c42a89e1c213d53be.png
按钮点击到更新表现(⑥~⑪)
⑥ 点击变乱转达到组件,组件的onClick变乱方法被触发执行
⑦ 由于onClick变乱方法中@State注解过的变量改变了,相应getter/setter函数会被触发
⑧ 状态管理模块定位出关联的UI组件
⑨ 状态管理模块更新相应的Element树的信息
⑩ 更新相应的UI组件的渲染信息
⑪ 界面表现,与⑤雷同
盒子模子
https://i-blog.csdnimg.cn/blog_migrate/76d05bbbc47d086ca62ba530c1ffd239.png
上面我们说的结构原理,子视图上报给父视图自身巨细的值是指 组件内容区的巨细
鸿蒙开发岗位必要掌握那些核心要领?
现在还有许多小伙伴不知道要学习哪些鸿蒙技术?不知道重点掌握哪些?为了制止学习时频仍踩坑,终极浪费大量时间的。
本身学习时必须要有一份实用的鸿蒙(Harmony NEXT)资料非常有须要。 这里我推荐,根据鸿蒙开发官网梳理与华为内部人员的分享总结出的开发文档。内容包含了:【ArkTS、ArkUI、Stage模子、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、Harmony南向开发、鸿蒙项目实战】等技术知识点。
废话就不多说了,接下来好好看下这份资料。
如果你是一名Android、Java、前端等等开发人员,想要转入鸿蒙方向发展。可以直接领取这份资料辅助你的学习。鸿蒙OpenHarmony知识←前往。下面是鸿蒙开发的学习门路图。
https://i-blog.csdnimg.cn/blog_migrate/77e86028e3b72882b8b24170d6d152e3.png
https://i-blog.csdnimg.cn/blog_migrate/5147348ec6dea843efc1b5b48b017bfb.png
https://i-blog.csdnimg.cn/blog_migrate/c0f6c7b149de98b962177f2037c826c9.png
针对鸿蒙发展门路打造的鸿蒙学习文档。鸿蒙(OpenHarmony )学习手册(共计1236页)与鸿蒙(OpenHarmony )开发入门教学视频,帮助大家在技术的道路上更进一步。
此中内容包含:
《鸿蒙开发底子》鸿蒙OpenHarmony知识←前往
[*]ArkTS语言
[*]安装DevEco Studio
[*]运用你的第一个ArkTS应用
[*]ArkUI声明式UI开发
[*].……
《鸿蒙开发进阶》鸿蒙OpenHarmony知识←前往
[*]Stage模子入门
[*]网络管理
[*]数据管理
[*]电话服务
[*]分布式应用开发
[*]通知与窗口管理
[*]多媒体技术
[*]安全技能
[*]任务管理
[*]WebGL
[*]国际化开发
[*]应用测试
[*]DFX面向未来计划
[*]鸿蒙系统移植和裁剪定制
[*]……
《鸿蒙开发实战》鸿蒙OpenHarmony知识←前往
[*]ArkTS实践
[*]UIAbility应用
[*]网络案例
[*]……
最后
鸿蒙是完全具备无与伦比的机遇和潜力的;预计到年底将有 5,000 款的应用完成原生鸿蒙开发,这么多的应用必要开发,也就意味着必要有更多的鸿蒙人才。鸿蒙开发工程师也将会迎来爆发式的增长,学习鸿蒙势在必行!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]