前言
介绍了 TinyEngine 低代码引擎服务端 Java 版本的正式开源,以及其特性、技术栈、架构、数据模型设计,并与 Node.js 版本进行了对比。今日前端早读课文章由 @路延刚分享,公号:OpenTiny 授权。
正文从这开始~~
TinyEngine 低代码引擎简介
低代码引擎是一种通用的开发框架,通过对低代码平台系统常用的功能进行解构,将其划分为多个功能模块,并为每个模块定义了相应的协议和开发范式,使得开发者可以根据自身的业务需求,轻松定制开发出自己的低代码开发平台。
TinyEngine 低代码引擎作为低代码平台的底座,提供可视化搭建页面等基础能力,既可以通过线上搭配组合使用,也可以通过 cli 创建个人工程进行二次开发,实时定制出自己的低代码平台。适用于多场景的低代码平台开发,如:资源编排、服务端渲染、模型驱动、移动端、大屏端、页面编排等。
TinyEngine 官网:https://opentiny.design/tiny-engine
TinyEngine 源码:https://github.com/opentiny/tiny-engine (欢迎 star)
Java 版本开源介绍
自 TinyEngine 开源以来,我们发现越来越多企业和个人开发者开始基于 TinyEngine 搭建自己的低代码平台,也有大量用户对服务端 Java 版本有着强烈的期待。针对这一需求,TinyEngine 团队果断将服务端 Java 版本开发列入重要计划。经过团队成员的不懈努力,服务端 Java 版本终于问世,希望能为开源生态贡献新的力量。
本次 TinyEngine 低代码引擎服务端 Java 版本代码的开源,让开发者能够深入了解 TinyEngine 低代码引擎的前后端运行机制,更能够让更多的小伙伴以更深的层次参与到产品共建,共同探讨并改进系统,推动其不断优化,带来更高的创新潜力,使得更多的人能够从中受益。
同时服务端的开源为自由定制和扩展提供了可能,开发者可以参考 TinyEngine 的代码,根据自身需求对服务端进行改造创新,从而使得产品更具灵活性,能够满足各种复杂的业务需求,构建一个强大而健壮的低代码生态系统。
TinyEngine 服务端 Java 源码:https://github.com/opentiny/tiny-engine-backend-java(欢迎 star)
1、项目概述
tiny-engine-backend-java 是一个基于 springboot、mybatisPlus、mysql 的服务端系统,主要用于管理 TinyEngine 的业务逻辑、数据存储、操作。该项目简化开发,提高效率,具有高扩展和高可维护性。
2、技术栈
-
Spring Boot:为项目提供快速开发和自动配置功能,简化了传统 JavaEE 项目开发流程,它提供了内嵌式的 Web 服务器(Tomcat)以及自动化配置功能,减少了大量的配置工作。
-
MyBatis Plus:在 MyBatis 基础上封装的增强工具,简化了数据库的操作,如自动生成 CRUD 操作代码、动态 sql、分页查询等,减少了手写 sql 负担,增加了开发效率。
-
MySQL:项目的关系型数据库管理系统,负责持久化数据,支持复杂的查询和事务管理。
3、Java 版本特性介绍
-
自动化配置:Spring Boot 自动化配置减少了繁琐的 xml 配置,使得开发者可以专注于业务逻辑的开发。
-
高可拓展性:项目采用了松耦合的设计,便于后续功能扩展,例如可以添加更多功能模块、支持多数据源等。
-
低耦合:为了降低服务耦合度,在 Node.js 版本的基础上对数据库表进行了重构,并对相关逻辑进行优化,降低了开发难度和学习曲线,更能够从服务端的角度去理解 TinyEngine 设计器的运行原理与设计思想 。
-
服务减负:去除了区块构建,改用区块新方案,不再对 verdaccio 和 unpack 服务依赖,部署更轻松简便,使用更得心应手。
4、服务端架构
5、数据模型设计
Java 版本重新设计了数据模型,对原有 js 版本的表字段做调整,去除由于 Strapi 的使用建立的冗余关联表,让表与表之间的关系更清晰。
Java 版本与 Node.js 差异
附:Node.js 版本介绍
2024 年年初 OpenTiny 开源了 TinyEngine 的 Node.js 版本服务端,其中包含 tiny-engine-webservice 和 tiny-engine-data-center 两个微服务,每个服务单元都可以独立开发、测试和部署。这种架构不仅提高了团队的协作效率,还使得系统更容易扩展和维护。
【第3070期】低代码引擎 TinyEngine 正式发布!!!
Node.js 版本开源介绍详情可见:
【开源】TinyEngine 服务端正式开源啦!!!
FAQ
1、Java 服务端开源之后,如果不想启动服务端服务器,是否还能沿用原来 mockServer?
答:可以正常使用 mockServer,启动方式和原先一致,直接在项目里执行 pnpm dev 即可
2、如果本地启动了 Java 后端,那么前端本地工程是否还需要更改配置?如果需要,如何更改配置?
答:需要更改配置,更改流程如下:启动 tinyengine
修改 env 目录下的
env.development
文件中的 VITE_ORIGIN 变量为本地 tiny-engine-backend-java 项目的地址端口
修改 engine.config.js 文件中的 material 值如图
运行如下脚本启动
pnpm install # 第一次启动项目需要