技术分享 2026-03-30 4 浏览

别再手写 UI 了! 华为开源TinyEngine,前端开发进入“拖拽自由”时代

张经理
华创云枢

“低代码 = 玩具?”——那是你还没遇到 TinyEngine


如果你还在为重复搭建表单、页面布局、审批流而头疼;如果你曾尝试过某些“可视化搭建平台”,却发现生成的代码无法维护、组件无法扩展、后端对接像黑盒……那么,是时候认识一下 TinyEngine 了。


这不是又一个“只能做 Demo”的低代码工具,而是由 华为 OpenTiny 团队开源、真正面向 开发者二次开发 的低代码引擎。它不替你做决定,而是给你一套强大、灵活、可插拔的“乐高积木”,让你既能快速出活,又能完全掌控底层逻辑。


图片

一、“低代码”为什么总被前端嫌弃?

先说个扎心的事实:很多前端开发者对“低代码”天然抵触。

为什么?因为市面上大多数低代码平台存在三大痛点:

  • 生成的代码不可读、不可维护:平台把逻辑全塞进 JSON 或隐藏在运行时,一旦需求变更,只能重做。

  • 组件封闭,无法集成自有业务组件:想加个带审批状态的按钮?抱歉,不在组件库里。

  • 前后端割裂:前端能拖拽,但后端接口、权限、数据模型全靠手动对接,效率没提升多少。

结果就是:低代码平台成了产品经理的玩具,开发团队还得擦屁股。

但 TinyEngine 不一样。它的定位很明确:不是替代开发者,而是赋能开发者。

图片
图片

二、TinyEngine 是什么?不只是“拖拽工具”

TinyEngine 是华为 OpenTiny 团队于 2023 年开源的 通用低代码引擎,核心目标是:让开发者能基于它,快速搭建出属于自己的低代码平台。

它有几个关键特性,让它在众多低代码方案中脱颖而出:

 基于 Vue 3 + Vite,前端体验丝滑

整个设计器用 Vue 3 构建,响应式、组合式 API、TypeScript 支持一应俱全。你在 TinyEngine 里拖拽的每个组件,最终都会生成 真实、可读、可 Git 管理的 Vue 源码,而不是一堆神秘的 DSL。

图片

 真·插件化架构,扩展无上限

TinyEngine 提供了完整的插件体系:面板插件、画布插件、物料插件、构建插件……你想加个 AI 自动生成布局的功能?写个插件就行。社区已有开发者贡献了侧边栏管理、AI 辅助编码等插件。

图片

✅ 前后端全链路打通,告别 Mock Server

很多开源低代码项目只给前端设计器,后端要自己写。TinyEngine 直接开源了 Java 版本的服务端(tiny-engine-backend-java),包含:

  • 物料管理

  • 页面 Schema 存储

  • 构建任务调度

  • 用户权限控制

图片
图片

本地部署后,前端通过 VITE_ORIGIN 配置指向后端,就能实现完整闭环。

支持私有组件库 + 自定义 DSL

你可以把自己的业务组件打包成 NPM 包,发布到私有仓库(比如 Verdaccio),再通过 TinyEngine 的 物料注册机制 接入设计器。更酷的是,它允许你自定义 DSL(领域特定语言),这意味着你可以定义自己的页面描述协议,生成 React、Svelte 甚至小程序代码!

图片

三、手把手:5 分钟跑通 TinyEngine

别被“全链路”吓到,其实启动非常简单。

前端启动(快速体验)





git clone -b develop git@github.com:opentiny/tiny-engine.gitcd tiny-enginepnpm installpnpm dev

访问 http://localhost:8090,就能看到设计器界面。这时候用的是内置的 Mock Server,适合初步体验。

后端启动(真实环境)




git clone -b develop git@github.com:opentiny/tiny-engine-backend-java.git# 修改 application-dev.yml 中的数据库配置./mvnw spring-boot:run

默认启动在 7090 端口。

然后回到前端项目,修改:

  • designer-demo/env/.env.development → VITE_ORIGIN=http://127.0.0.1:7090

  • designer-demo/engine.config.js → 确保物料地址正确

最后运行:


pnpm serve:frontend


现在你拥有了一个 可持久化保存页面、支持多人协作、能生成真实项目 的低代码平台!


四、如何接入你的私有组件库?

这是 TinyEngine 最受企业欢迎的功能之一。

假设你有一个内部组件库 @mycorp/ui-kit,想在设计器里直接拖拽使用:

1、用 Verdaccio 搭建私有 NPM 仓库





git clone -b develop git@github.com:opentiny/tiny-engine.gitcd tiny-enginepnpm installpnpm dev

修改配置监听 0.0.0.0:4873,方便局域网访问。

2、发布组件库

在组件库的 package.json 中添加:





git clone -b develop git@github.com:opentiny/tiny-engine.gitcd tiny-enginepnpm installpnpm dev

然后 npm publish --registry http://localhost:4873

3、部署静态资源服务(可选)

使用 lzwme/unpkg 镜像 Verdaccio,提供 JS/CSS 资源:





git clone -b develop git@github.com:opentiny/tiny-engine.gitcd tiny-enginepnpm installpnpm dev

启动后,组件资源可通过 http://127.0.0.1:4874/@mycorp/ui-kit@1.0.0/dist/index.mjs 访问。

4、在 TinyEngine 中注册物料

执行 pnpm splitMaterials 生成物料模板,然后在 materials/packages.json 中添加:





git clone -b develop git@github.com:opentiny/tiny-engine.gitcd tiny-enginepnpm installpnpm dev

再为每个组件写一个 component.json 描述其属性、事件、图标等。

搞定!现在你的业务组件就能在画布上自由拖拽了。

五、不止于页面搭建:TinyEngine 的未来想象力

TinyEngine 的野心不止于“搭页面”。根据官方路线图,它正在向 AIGC + 模型驱动 演进:

  • AI 辅助生成:输入“我要一个带搜索的日志列表页”,AI 自动生成 Schema 和代码。

  • 流程编排:不仅页面,还能可视化编排审批流、数据流。

  • 多端输出:同一份 Schema,可生成 Web、移动端、大屏甚至服务端渲染(SSR)应用。

更重要的是,它完全开源(Apache 2.0 协议),你可以 fork、商用、深度定制,没有任何法律风险。

图片

TinyEngine 的出现,标志着低代码正在从“黑盒工具”走向“开放平台”。它不试图取代程序员,而是把重复劳动自动化,把创造力还给开发者。

如果你:

  • 厌倦了重复造轮子

  • 想为团队搭建统一的页面搭建平台

  • 对“可视化编程”充满好奇但又不愿放弃代码控制权

那么,TinyEngine 值得你花一个周末试试。

GitHub 地址:https://github.com/opentiny/tiny-engine

官方文档:https://opentiny.design/tiny-engine



相关文章