AI + 低代码技术揭秘(二):核心架构

简介: VTJ低代码平台架构包含引擎编排层、Provider服务系统、数据模型及代码生成管道,支持设计时与运行时功能。Engine管理设计流程,Provider处理服务加载,Simulator实现组件渲染,数据模型通过事件驱动同步状态。代码生成管道可双向转换Vue组件与DSL,支持多平台适配,如Web、H5和UniApp。系统提供可视化编辑、热重载与AI集成,满足高效开发需求。

本文档介绍了为 VTJ 低代码平台提供支持的基本架构组件,包括 Engine 编排层、Provider 服务系统、数据模型和代码生成管道。有关 UI 组件库和 widget 系统的信息,请参阅 UI 组件库 。有关特定于平台的实施,请参阅平台实施 。

引擎、提供商和服务层

VTJ 架构围绕三个主要编排组件构建:用于设计时管理的 Engine、用于运行时服务的 Provider 和用于基于 iframe 的渲染的 Simulator

设计时引擎架构

Engine 充当设计时环境的中央业务流程协调程序。它通过几个关键职责来管理整个生命周期:

  • 项目管理 :通过 Service 界面协调 ProjectModel 实例和文件操作
  • 模拟器控制 :管理模拟器以进行基于 iframe 的组件渲染和预览
  • Asset Management:通过 Assets 类处理材质加载和组件注册
  • 事件协调 :绑定到模型事件以实现实时更新和持久性

Provider 服务架构

Provider 类跨不同执行模式(ContextMode.DesignContextMode.RuntimeContextMode.Raw)管理运行时服务和资源加载。关键架构模式包括:

  • 资源加载 :根据项目配置异步加载依赖项、材料和组件
  • API 管理 :通过 createSchemaApis 创建和管理基于 schema 的 API
  • 组件注册 :动态组件解析和 Vue 插件安装
  • DSL 渲染 :用于创建将 BlockSchema 转换为 Vue 组件的渲染器的工厂方法

项目模型和块模型

数据层以反应式模型为中心,这些模型通过事件驱动架构管理项目状态和组件定义。

模型层次结构和事件

ProjectModel 管理完整的项目状态,包括页面、块、依赖项和配置。它实现了几个关键模式:

  • 文件管理PageFileBlockFile 的 CRUD 操作,包括验证和事件发出
  • 依存关系管理 :外部库和材料的动态加载和版本管理
  • 状态同步 :事件驱动的更新,通过 Service 层触发持久性
  • 平台适配:支持不同目标平台(webh5uniapp

关键作包括用于文件管理的 createPage()createBlock()setDeps()active(), 每个作都会触发相应的事件以进行 UI 同步。

块模型和节点层次结构

BlockModel 将单个组件或页面表示为 NodeModel 实例的树。该架构支持:

  • 层次结构 :基于插槽的内容组织的父子关系
  • 组件集成 :通过 MaterialDescription 和 NodeFrom 配置动态加载组件
  • 状态管理 :具有锁定、可见性和验证状态的响应式属性
  • 序列化:运行时模型和可序列化 BlockSchema/NodeSchema 之间的双向转换

代码生成和解析管道

VTJ 通过复杂的解析和代码生成管道实现 Vue 单文件组件 (SFC) 和低代码 DSL 之间的双向转换。

DSL 到组件渲染管道

渲染管道通过几个阶段将 BlockSchema 定义转换为可执行的 Vue 组件:

  • DSL 加载 :createLoader 函数创建一个递归解析组件依赖关系的 BlockLoader
  • 组件解析 :NodeFrom 配置指定如何加载组件(SchemaUrlSchemaPlugin 类型)
  • 异步组件创建 :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
  • 平台适配器Webuniapp 平台的不同应用程序创建策略

多平台运行时适配

特定于平台的运行时创建可处理不同的执行环境:

  • Web 平台 :带有 Vue 路由器和 DOM 安装的标准 Vue 应用程序
  • UniApp 平台 :使用 setupUniApp()UniH5 运行时集成进行专门设置
  • 插件安装 :根据依赖项配置自动安装库插件
  • 路由器配置:具有不同历史模式的平台适当路由设置

Provider.install() 方法管理跨平台的插件安装和全局属性设置。



源码仓库

https://gitee.com/newgateway/vtj

相关文章
|
11天前
|
人工智能 文字识别 自然语言处理
有了AI叠buff,低代码行业在沉寂了一段时间后,好似又活过来了?
曾被质疑“难堪大用”的低代码平台,在AI驱动下正焕发新生。借助大模型,AI可理解自然语言、自动生成应用、智能补全数据、解析文档图表,大幅提升开发效率与业务响应速度。从“拖拉拽”到“你说我做”,低代码已迈入智能化时代,加速企业数字化转型。
|
12天前
|
Java Linux 虚拟化
【Docker】(1)Docker的概述与架构,手把手带你安装Docker,云原生路上不可缺少的一门技术!
1. Docker简介 1.1 Docker是什么 为什么docker会出现? 假定您在开发一款平台项目,您的开发环境具有特定的配置。其他开发人员身处的环境配置也各有不同。 您正在开发的应用依赖于您当前的配置且还要依赖于某些配置文件。 您的企业还拥有标准化的测试和生产环境,且具有自身的配置和一系列支持文件。 **要求:**希望尽可能多在本地模拟这些环境而不产生重新创建服务器环境的开销 问题: 要如何确保应用能够在这些环境中运行和通过质量检测? 在部署过程中不出现令人头疼的版本、配置问题 无需重新编写代码和进行故障修复
150 1
|
12天前
|
人工智能 小程序 Java
电子班牌管理系统源代码,基于AI人脸识别技术的智能电子班牌云平台解决方案
电子班牌管理系统源码,基于AI人脸识别的智慧校园云平台,支持SaaS架构,涵盖管理端、小程序与安卓班牌端。集成考勤、课表、通知、门禁等功能,提供多模式展示与教务联动,助力校园智能化管理。
71 0
|
12天前
|
人工智能 JavaScript 前端开发
GenSX (不一样的AI应用框架)架构学习指南
GenSX 是一个基于 TypeScript 的函数式 AI 工作流框架,以“函数组合替代图编排”为核心理念。它通过纯函数组件、自动追踪与断点恢复等特性,让开发者用自然代码构建可追溯、易测试的 LLM 应用。支持多模型集成与插件化扩展,兼具灵活性与工程化优势。
67 6
|
12天前
|
人工智能 Kubernetes Cloud Native
Higress(云原生AI网关) 架构学习指南
Higress 架构学习指南 🚀写在前面: 嘿,欢迎你来到 Higress 的学习之旅!
159 0
|
14天前
|
机器学习/深度学习 人工智能 自然语言处理
用AI守护迷途少年:戒毒所青少年心理疏导系统的技术实践
在戒毒所中,青少年心理更脆弱却难言苦痛。我们打造AI心理疏导系统,以多模态情绪识别、个性化疏导引擎与隐私优先架构,用技术补位心理支持,主动发现风险,精准干预,守护迷途少年重拾希望。(239字)
|
16天前
|
人工智能 自然语言处理 安全
AI助教系统:基于大模型与智能体架构的新一代教育技术引擎
AI助教系统融合大语言模型、教育知识图谱、多模态交互与智能体架构,实现精准学情诊断、个性化辅导与主动教学。支持图文语音输入,本地化部署保障隐私,重构“教、学、评、辅”全链路,推动因材施教落地,助力教育数字化转型。(238字)
|
18天前
|
人工智能 搜索推荐 机器人
07_大模型未来趋势:2025年AI技术前沿展望
2025年,人工智能技术正站在一个新的历史节点上。经过过去几年的爆发式发展,大语言模型(LLM)已从实验室走向各行各业,成为推动数字化转型的核心力量
|
23天前
|
设计模式 人工智能 API
AI智能体开发实战:17种核心架构模式详解与Python代码实现
本文系统解析17种智能体架构设计模式,涵盖多智能体协作、思维树、反思优化与工具调用等核心范式,结合LangChain与LangGraph实现代码工作流,并通过真实案例验证效果,助力构建高效AI系统。
262 7
|
24天前
|
机器学习/深度学习 人工智能 数据安全/隐私保护
阿里云 Qwen3 全栈 AI 模型:技术解析、开发者实操指南与 100 万企业落地案例
阿里云发布Qwen3全栈AI体系,推出Qwen3-Max、Qwen3-Next等七大模型,性能全球领先,开源生态超6亿次下载。支持百万级上下文、多模态理解,训练成本降90%,助力企业高效落地AI。覆盖制造、金融、创作等场景,提供无代码与代码级开发工具,共建超级AI云生态。
388 6