AI + 低代码 技术揭秘(二): 核心架构
本文档介绍了为 VTJ 低代码平台提供支持的基本架构组件,包括 Engine 编排层、Provider 服务系统、数据模型和代码生成管道。有关 UI 组件库和 widget 系统的信息,请参阅 UI 组件库 。有关特定于平台的实施,请参阅平台实施 。
引擎、提供商和服务层
VTJ 架构围绕三个主要编排组件构建:用于设计时管理的 Engine
、用于运行时服务的 Provider
和用于基于 iframe 的渲染的 Simulator
。
设计时引擎架构
类 Engine
充当设计时环境的中央业务流程协调程序。它通过几个关键职责来管理整个生命周期:
- 项目管理 :通过
Service
界面协调ProjectModel
实例和文件操作 - 模拟器控制 :管理模拟器以进行基于 iframe 的组件渲染和预览
- Asset Management:通过
Assets
类处理材质加载和组件注册 - 事件协调 :绑定到模型事件以实现实时更新和持久性
Provider 服务架构
Provider
类跨不同执行模式(ContextMode.Design
、ContextMode.Runtime
、ContextMode.Raw
)管理运行时服务和资源加载。关键架构模式包括:
- 资源加载 :根据项目配置异步加载依赖项、材料和组件
- API 管理 :通过
createSchemaApis
创建和管理基于 schema 的 API - 组件注册 :动态组件解析和 Vue 插件安装
- DSL 渲染 :用于创建将 BlockSchema 转换为 Vue 组件的渲染器的工厂方法
项目模型和块模型
数据层以反应式模型为中心,这些模型通过事件驱动架构管理项目状态和组件定义。
模型层次结构和事件
ProjectModel
管理完整的项目状态,包括页面、块、依赖项和配置。它实现了几个关键模式:
- 文件管理 :
PageFile
和BlockFile
的 CRUD 操作,包括验证和事件发出 - 依存关系管理 :外部库和材料的动态加载和版本管理
- 状态同步 :事件驱动的更新,通过
Service
层触发持久性 - 平台适配:支持不同目标平台(
web
、h5
、uniapp
)
关键作包括用于文件管理的 createPage()
、createBlock()
、setDeps()
和 active()
, 每个作都会触发相应的事件以进行 UI 同步。
块模型和节点层次结构
BlockModel
将单个组件或页面表示为 NodeModel
实例的树。该架构支持:
- 层次结构 :基于插槽的内容组织的父子关系
- 组件集成 :通过 MaterialDescription 和 NodeFrom 配置动态加载组件
- 状态管理 :具有锁定、可见性和验证状态的响应式属性
- 序列化:运行时模型和可序列化 BlockSchema/NodeSchema 之间的双向转换
代码生成和解析管道
VTJ 通过复杂的解析和代码生成管道实现 Vue 单文件组件 (SFC) 和低代码 DSL 之间的双向转换。
DSL 到组件渲染管道
渲染管道通过几个阶段将 BlockSchema
定义转换为可执行的 Vue 组件:
- DSL 加载 :createLoader 函数创建一个递归解析组件依赖关系的 BlockLoader
- 组件解析 :NodeFrom 配置指定如何加载组件(
Schema
、UrlSchema
、Plugin
类型) - 异步组件创建 :Vue 的
defineAsyncComponent
支持通过 loaders 进行缓存的延迟加载组件 - 上下文集成 :
CreateRendererOptions
提供包括 Vue 实例、组件库和 API 在内的运行时上下文
Vue SFC 解析和代码生成
双向转换系统支持视觉设计和代码之间的无缝过渡:
- 解析器集成:
@vtj/parser
将 Vue SFC 转换为BlockSchema
以进行可视化编辑 - 代码生成 :
@vtj/coder
包从BlockSchema
定义生成完整的 Vue 项目 - 服务层 :通过
Service.saveFile()
和Service.getFile()
进行的文件作保持同步 - AI 集成 :
Engine.applyAI()
方法使 AI 生成的 DSL 能够集成到设计工作流程中
Engine.genSource()
方法编排完整的代码生成过程,而 createRawPage()
支持具有可视化组件和基于代码的组件的混合工作流。
运行时架构和上下文管理
运行时系统通过分层上下文架构管理不同模式和平台上的组件执行
上下文和模式管理
运行时体系结构根据 ContextMode
调整行为:
- 设计模式 :完整的设计时功能,带有热重载和可视化编辑工具
- 运行时模式 :针对生产部署优化组件执行
- Raw 模式:直接执行 Vue 组件,无低代码开销
模拟器
会创建一个隔离的 iframe 环境 (contentWindow
),其中包含自己的 SimulatorEnv
:
- 组件注册表:从 Materials 和 dependencies 解析的组件
- API 层 :具有模拟数据支持的基于 Schema 的 API
- 平台适配器 :
Web
与uniapp
平台的不同应用程序创建策略
多平台运行时适配
特定于平台的运行时创建可处理不同的执行环境:
- Web 平台 :带有 Vue 路由器和 DOM 安装的标准 Vue 应用程序
- UniApp 平台 :使用
setupUniApp()
和UniH5
运行时集成进行专门设置 - 插件安装 :根据依赖项配置自动安装库插件
- 路由器配置:具有不同历史模式的平台适当路由设置
Provider.install()
方法管理跨平台的插件安装和全局属性设置。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
“AI十八罗汉” 拓数派:赋能企业打造专属的智能体工场
6月6日,由中国投资发展促进会创投专委会、杭州市创投协会及上城区未来产业专班联合主办的中国独角兽俱乐部2025私享会“遇见杭州AI十八罗汉”暨“元聚上城 创享未来”创业沙龙在杭州圆满举行。在2025年万物生长大会上,杭州市创投协会与微链共同发布了杭州AI卧龙图,于业界引起了巨大反响。拓数派凭借在 AI 基础领域的深厚积累与卓越成就,作为卧龙图中基础AI领域的“AI十八罗汉”代表,受邀亮相本次活动。 拓数派创始人兼CEO 冯雷 活动期间,拓数派创始人兼 CEO 冯雷发表主题为《智能体工场》的精彩演讲,深度揭秘拓数派在 AI 智能体领域的创新实践与前沿布局。拓数派作为 AI 大模型数据计算领域的开创者,建立了下一代可信数据空间和计算空间的前沿标准,并在信创硬件完成了软硬一体的系统构建。 拓数派旗下大模型数据计算系统 πDataCS(简称:DataCS)以独创的「简墨」主动元数据认知系统,实现”数据+模型“自主耦合,为企业在大模型时代连续训练与开发AI垂类模型和智能体提供了关键底座支撑。在智算时代浪潮中,DataCS 推动 AI 智能体的百花齐放,助力企业打造专属的智能体工场。目前,Data...
- 下一篇
k8m v0.0.129 已经发布,轻量级的 Kubernetes 仪表板
k8m v0.0.129 已经发布,轻量级的 Kubernetes 仪表板 此版本更新内容包括: 更新内容 refactor(InspectionSummary): 移除未使用的弹窗过滤类型状态 refactor(InspectionEventList, InspectionSummary): 清理代码,移除未使用的状态和属性,统一代码风格 fix(lua_scripts): 修复服务选择器检查逻辑,确保至少有一个Pod关联 feat(lua_scripts): 更新Lua检查脚本,优化数据库查询参数 feat(lua_scripts): 更新内置检查脚本,添加规则编码字段 feat(lua_scripts): 添加ValidatingWebhookConfiguration合规性检查脚本 feat(lua_scripts): 添加StatefulSet、StorageClass、PersistentVolume和Persist… feat(lua_scripts): 添加安全检查脚本,包括ServiceAccount、RoleBinding和Pod的合规性检测 feat(lua_sc...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS7设置SWAP分区,小内存服务器的救世主
- Mario游戏-低调大师作品
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- 2048小游戏-低调大师作品
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题