前言
2025年蛇年已经到来,TinyEngine v2.1.0 版本也已经蛇气腾腾的发布了出来,新年新气象,为了让大家更详细了解到 v2.1.0 的内容更新,我们特此列举了该版本中的一些重要特性更新。
v2.1.0变更特性概览
1、使用了新的纯前端区块构建方案,区块构建速度从分钟级别提升到秒级别。
2、新增了页面的UI默认规范,随手拖拉拽就拥有美观大方的页面。
3、画布通信使用全新方案,解决插件及时监听schema 变动痛点,为引擎可扩展性增加无限可能。
4、优化了那么大的一堆UI、交互与功能细节。
详情可见:https://github.com/opentiny/tiny-engine/releases/tag/v2.1.0
TinyEngine v2.1.0新特性解读
一、全新区块构建方案
原来的区块构建发布方案中,区块发布构建需要经过:
- 后端得到区块 schema,调用 DSL 进行出码。
- 将出码写入到区块模板工程中。
- 执行 npm install 安装依赖。
- 执行 npm run build:block 构建区块,得到 dist 中的目标产物。
- 将得到的产物上传到自部署的 unpkg cdn 托管平台。
原区块构建方案示意图
原区块构建发布方案有以下痛点:
- 需要搭建自部署的 unpkg cdn 托管平台,对很多前端同学来说,有一定的门槛。
- 每次的构建发布过程中,都需要经过出码 -> 依赖安装 -> 构建 -> 上传产物的复杂流程(即使是仅改动了一个字符!),耗费了一定的时间,不利于敏捷开发。
@ajaxzheng 同学从 @vue/compiler-sfc 中得到启发,发现我们其实可以在前端直接编译区块,省去在后端大量的安装依赖和构建的时间。
新方案简要流程为:
- 得到区块 schema,调用 DSL 进行出码。
- 根据出码,调用 @opentiny/tiny-engine-block-compiler 构建区块,得到区块的模块代码(blob url 形式)。
- 画布使用异步组件加载得到的模块代码。
新区块构建方案示意图
更多细节请查看PR: https://github.com/opentiny/tiny-engine/pull/906
于是,经过新方案的改造之后,我们区块的构建速度从分钟级提升到了秒级,大幅提高开发效率。欢迎大家来体验!
PS: 后端升级改动点:
如果是 fork Node.js 后端的用户需要使用 TinyEgine v2.1.0 新特性 ,更多细节请查看PR:https://github.com/opentiny/tiny-engine-webservice/pull/25
二、新增页面UI默认规范
原本界面编辑视图,选择组件/区块到画布之后无默认间距,需要用户自行调整。
现在对界面的元素布局进行了优化,用户通过拖拉拽生成界面时可以无需过多关注界面规范。
只通过拖拉拽生成的界面效果图:
改动点如下:
a.对页面、组件、区块新增了可配置的默认基础样式
-
设计器界面的显示如下
-
代码配置如下
在registry.js的plugins中可按需配置
Materials的配置项