低代码平台 h5-dooring 解读之渲染引擎

本文深入解析低代码平台 h5-dooring 的渲染引擎,重点介绍了SourceBox、ViewRender和DynamicEngine。ViewRender利用智能网格布局系统处理原子数据,DynamicEngine实现按需加载组件。通过理解这种渲染机制,有助于加速组件二次开发,但在代码出码时,现有方式需要进一步优化,可能涉及JSON Schema到源码的转换和AST解析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首发自 语雀文档@blueju

前言

渲染引擎,一般来说我认为可以这么解释:将物料拖拽到设计器画布后,将其渲染成真实的组件的一种机制。

接下来将从代码层面由外到里地解读 h5-dooring 的渲染引擎。

SourceBox

SourceBox 组件是一个包含了工具栏、右键菜单、物料栏、画布、属性栏的大组件,由于渲染引擎所在的画布内的逻辑很多,便将其作为独立组件,名为 ViewRender。

只需要将关键数据作为属性传入即可完成渲染,属性名为 pointData,直译较为奇怪,暂且可理解为原子数据,记录了画布上所有组件信息。

ViewRender 组件还可传入拖拽、改变画布大小等一些修改 pointData 的 API 方法,无非是,此处便不做延展叙述了。
image.png

ViewRender

在这一层,有了些渲染引擎的端倪——布局处理(采用的是作者所说的基于 grid 的智能网格布局系统)

对原子数据 pointData 进行归类处理,划分出对布局有特殊要求的组件:固定组件、导航组件、头部组件、其他组件,在智能网格系统组件 GridLayout 的包裹下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值