概述
VTJ.PRO 是一个专为 Vue3 开发者构建的 AI 驱动低代码开发平台,具备可视化设计器、内置低代码引擎、渲染器和代码生成器。它实现了 Vue 源代码与低代码 DSL 之间的双向智能转换,为零学习曲线的前端开发者设计,可无缝集成到现有开发工作流中。
该平台通过其设计器-渲染器分离架构脱颖而出,确保输出代码整洁,对你的开发环境零污染。与传统需要学习专有范式的低代码平台不同,VTJ.PRO 遵循标准 Vue 开发模式,任何 Vue 开发者都能立即上手。
核心功能
VTJ.PRO 提供了一套全面的功能,旨在加速 Vue3 应用开发,同时保持代码质量和灵活性:
| 功能分类 | 能力 | 优势 |
|---|---|---|
| 技术栈 | Vue3 + TypeScript + Vite, ElementPlus, Axios, ECharts, VueUse | 现代化、高性能、开箱即用的行业标准工具 |
| 代码自由度 | 源码级定制,无限扩展可能 | 实现手写代码能做到的任何功能 |
| 零适配 | 遵循标准 Vue 开发模式,无专有范式 | Vue 开发者无学习曲线 |
| 引擎架构 | 模块化低代码引擎,可独立使用 | 基于 VTJ 构建你自己的低代码平台 |
| 代码整洁 | 设计器-渲染器分离,输出纯 Vue 代码 | 可维护,二次开发友好 |
| 物料库 | 企业级组件库,页面模板,可复用块 | 使用预构建组件加速开发 |
| AI 集成 | 自然语言 → Vue 组件,设计 → 代码 | 从描述或设计生成组件 |
| 双向转换 | DSL ↔ Vue 源代码,无缝切换 | 可视化设计 ↔ 手写代码按需切换 |
💡 提示: 双向代码转换能力是 VTJ 的核心创新——你可以可视化设计页面,将其导出为整洁的 Vue 代码,手动修改代码,然后将其导回设计器进行进一步的可视化调整。这消除了可视化开发与代码控制之间的传统权衡。
架构概览
VTJ.PRO 遵循模块化架构,关注点分离清晰,既支持集成使用,也支持独立组件部署:
graph TD
subgraph 展示层
PlatformApps[平台特定应用<br/>H5, Pro, UniApp 等]
end
subgraph 设计器层
Designer[可视化设计器<br/>组件库, 图标集]
end
subgraph 核心引擎层
Engine[核心引擎<br/>模型, 解析, 代码生成]
end
subgraph 运行时层
Renderer[渲染器]
end
subgraph 工具层
Tools[CLI, 物料库, 基础工具]
end
PlatformApps --> Designer --> Engine --> Renderer --> Tools
架构分为四个不同的层:
- 展示层:使用设计器的平台特定应用
- 设计器层:包含组件库和图标集的可视化编辑器界面
- 核心引擎层:模型、解析和代码生成能力
- 运行时层:用于显示生成组件的渲染引擎
- 工具层:CLI 工具、物料库和基础工具
这种分层架构支持多种部署场景:使用带有 Pro 应用的完整平台,将设计器集成到你自己的应用中,或独立利用核心引擎或渲染器等单个包。
项目结构
该 monorepo 按逻辑领域组织,支持完整的开发工作流:
vtj/
├── packages/
│ ├── base/ # 共享工具和辅助函数
│ ├── charts/ # ECharts 集成和图表组件
│ ├── cli/ # 命令行界面工具
│ ├── coder/ # DSL 到 Vue 代码生成引擎
│ ├── core/ # 核心模型、协议和类型定义
│ ├── designer/ # 可视化设计器实现
│ ├── icons/ # 图标库集合
│ ├── local/ # 本地存储和状态管理
│ ├── materials/ # 组件物料定义和 schema
│ ├── node/ # Node.js 工具和服务端功能
│ ├── parser/ # Vue 源代码到 DSL 解析器
│ ├── renderer/ # 运行时渲染引擎
│ ├── ui/ # UI 组件库
│ ├── uni/ # UniApp 特定的运行时功能
│ └── utils/ # 额外的工具函数
│
├── platforms/ # 平台特定的应用实现
│ ├── h5/ # H5 移动应用
│ ├── pro/ # 功能齐全的 Pro 平台
│ ├── pro-uni/ # 支持 UniApp 的 Pro 平台
│ ├── uni-app/ # UniApp 集成
│ └── web/ # Web 应用
│
├── apps/ # 应用模板和示例
│ ├── app/ # Web 应用模板
│ ├── extension/ # 扩展模板
│ ├── h5/ # H5 移动模板
│ ├── library/ # 组件库模板
│ ├── material/ # 物料库模板
│ ├── plugin/ # 插件开发模板
│ └── uniapp/ # UniApp 模板
│
├── create-vtj/ # 项目脚手架 CLI 工具
├── dev/ # 开发环境和演示场
├── docs/ # 文档源文件
└── scripts/ # 构建和维护脚本
packages/core 模块作为架构基础,定义了包括 ProjectModel、BlockModel、PropModel、EventModel 和 DirectiveModel 在内的基础数据模型,这些模型构成了 DSL schema 的构建块。
支持的平台
VTJ.PRO 为不同的应用场景提供全面的平台支持:
| 平台 | 描述 | 用例 | CLI 命令 |
|---|---|---|---|
| Web | PC 浏览器应用 | 企业管理系统,仪表板 | npm create vtj@latest -- -t app |
| H5 | 移动端 Web 应用 | 移动优先界面,响应式 Web 应用 | npm create vtj@latest -- -t h5 |
| UniApp | 跨平台移动应用 | iOS, Android, 小程序 | npm create vtj@latest -- -t uniapp |
每个平台都通过专用的运行时实现(UniApp 对应 packages/uni)、平台特定的构建配置和物料库适配得到完全支持,确保在所有部署目标上功能一致。
关键技术概念
VTJ.PRO 基于几个核心技术概念运行,这些概念赋予了它强大的能力:
DSL (Domain Specific Language) Schema
DSL 作为可视化设计和 Vue 代码之间的中间表示,由 packages/core/src/protocols/ 中的协议定义。该 schema 捕获了 Vue 组件的完整结构,包括 props、events、directives、styles 和 children,实现了可视化和代码表示之间的无损往返转换。
双向代码转换
在 DSL 和 Vue 源代码之间进行双向转换的独特能力是通过两个互补的包实现的:
- Parser (
packages/parser):将 Vue 源代码(.vue文件)转换为 DSL - Coder (
packages/coder):将 DSL 转换为整洁、人类可读的 Vue 源代码
这种双向流使开发者能够在可视化设计和代码编辑之间无缝切换,每种格式都可以在适当的时候作为单一事实来源。
设计器-渲染器分离
该架构将设计时(packages/designer)与运行时(packages/renderer)关注点完全分离。这确保生成的代码不包含对设计器的依赖,产生可以独立维护的整洁 Vue 代码,并实现设计器对开发环境的零影响嵌入。
💡 提示: 设计器-渲染器分离在架构上具有重要意义,这意味着你可以使用 VTJ 可视化地原型设计应用,导出整洁代码,然后完全使用手写代码继续开发,而无需对 VTJ 有任何运行时依赖。该平台成为了一个加速工具,而不是锁定框架。
Provider 系统
VTJ 实现了可扩展的 provider 模式,允许在不修改核心代码的情况下自定义数据源、事件处理和生命周期行为。这使得与现有后端系统、状态管理解决方案和 API 层的集成成为可能。
入门选项
VTJ.PRO 提供了多种入门方式,具体取决于你的需求:
选项 1:在线平台(立即体验)
访问 app.vtj.pro 直接在浏览器中体验完整平台,无需任何安装。这是了解功能和工作流的最快方式。
选项 2:本地开发(推荐)
为了获得完整功能和最佳性能,请使用 CLI 创建本地项目:
# 创建一个 Web 应用
npm create vtj@latest --registry=https://registry.npmmirror.com -- -t app
# 创建一个 H5 移动应用
npm create vtj@latest --registry=https://registry.npmmirror.com -- -t h5
# 创建一个 UniApp 跨平台应用
npm create vtj@latest --registry=https://registry.npmmirror.com -- -t uniapp
这将使你能够访问所有包,并能够扩展或修改平台的任何组件。
推荐学习路径
要有效利用 VTJ.PRO,请遵循以下结构化学习进阶:
- 当前页面:概述(了解平台的目的和功能)
- 下一步:快速入门 - 创建你的第一个项目的动手体验
- 基础:安装和环境配置 - 详细的环境配置
- 模板:
- 创建 Web 应用 用于基于 PC 的项目
- 创建 H5 移动应用 用于移动优先的项目
- 深入:架构概览 - 全面的技术理解
完成“入门”部分后,继续进入“深入”部分,以掌握 DSL schema、引擎生命周期、渲染器系统、物料开发和插件架构等高级主题。
社区和资源
VTJ.PRO 是一个积极维护的开源项目,拥有全面的文档和社区资源:
- 官方文档:vtj.pro
- 在线平台:app.vtj.pro
- Gitee 仓库:gitee.com/newgateway/…
该项目使用行业标准工具构建,包括用于 monorepo 管理的 Lerna、用于高效包安装的 pnpm、用于类型安全的 TypeScript 以及用于快速开发构建的 Vite,确保了现代化、可维护的代码库。