写点什么

华为云低代码引擎 TinyEngine 服务端正式开源

作者:TinyEngine 团队

  • 2024-01-22
    北京
  • 本文字数:2730 字

    阅读完需:约 9 分钟

华为云低代码引擎 TinyEngine 服务端正式开源

背景介绍

TinyEngine 低代码引擎介绍


随着企业对于低代码开发平台的需求日益增长,急需一个通用的解决方案来满足各种低代码平台的开发需求。正是在这种情况下,低代码引擎应运而生。它是一种通用的开发框架,通过对低代码平台系统常用的功能进行解构,将其划分为多个功能模块,并为每个模块定义了相应的协议和开发范式,使得开发者可以根据自身的业务需求,轻松定制开发出自己的低代码开发平台。


TinyEngine 提供了低代码底层能力,并集成了人工智能,从而使用户能够高效开发。TinyEngine 具有强大的拖拽功能,无论是图元还是复杂组件,都能在画布上带来流畅的体验。它适用于多场景的低代码平台开发,包括资源编排、流程编排、服务端渲染、模型驱动、移动端、大屏端以及页面编排等低代码平台。


TinyEngine 官网:_https://opentiny.design/tiny-engine


TinyEngine 源码:_https://github.com/opentiny/tiny-engine (欢迎 star)


服务端开源介绍


2023 年 9 月 21 日,TinyEngine 在华为全联接大会正式宣布开源,引发了广泛的关注,3 个月时间收获了 960 个 Star,组建了 4 个用户交流社群,成员数 772 名。


很多企业和个人开发者尝试基于 TinyEngine 搭建自己的低代码平台,为搭建企业 Web 应用提效。在使用过程中,大家也遇到了很多问题,比较常见的包括:如何对接服务端、如何导入第三方组件库、如何使用插槽、如何生成代码、如何开发自定义插件等,为此我们在 10 月 27 日策划了一次线上直播答疑活动,邀请了团队技术专家为大家答疑解惑。


其中如何对接服务端是众多开发者非常关注的问题,为了帮助开发者打通低代码平台搭建的前后端整体流程,本次 TinyEngine 低代码引擎服务端配套代码的开源,让开发者能够深入了解 TinyEngine 低代码引擎的前后端运行机制,更能够让更多的小伙伴以更深的层次参与到产品共建,共同探讨并改进系统,推动其不断优化,带来更高的创新潜力,使得更多的人能够从中受益。


同时服务端的开源为自由定制和扩展提供了可能,开发者可以参考 TinyEngine 的代码,根据自身需求对服务端进行改造创新,从而使得产品更具灵活性,能够满足各种复杂的业务需求,构建一个强大而健壮的 TinyEngine 生态系统。


核心特性


当今互联网应用的复杂性和用户需求的多样性要求我们搭建一套灵活的、便于扩展的系统架构,以满足不断变化的业务需求。因此我们引入了微服务的概念,将系统拆分为小而独立的服务单元,使得每个服务单元都可以独立开发、测试和部署。这种架构不仅提高了团队的协作效率,还使得系统更容易扩展和维护。


  • TinyEngine 设计器微服务选择了基于 Node.js 的技术栈,为前端开发者提供了一致的开发体验,无需学习额外的语言即可全栈开发,降低了开发难度和学习曲线,避免了学习新语言的困扰。更能够从服务端的角度去理解 TinyEngine 设计器的运行原理与设计思想。

  • 在我们的架构设计中,我们采用了 Egg.js 作为业务接口微服务的框架。Egg.js 优秀的设计和丰富的插件生态系统,使得我们能够迅速构建可维护、可扩展的微服务,从而确保系统的稳定性和可维护性。

  • 为了降低服务耦合,我们还单独封装了提供数据库操作接口的数据中心微服务,在框架选型上我们选择了 Strapi,Strapi 是一个开源数据管理框架。不仅提供了强大的数据管理和查询功能,还支持自定义内容类型和灵活的 API 构建,为我们的微服务提供了丰富的数据支持。Strapi 的易用性和可扩展性使得我们能够高效地管理和发布数据,确保前端业务接口始终能够获得及时、准确的数据支持。


综上所述,我们的技术架构旨在提供高效、可维护、可扩展的系统,充分利用 Node.js 和现代化的开源工具,使我们能够更好地满足不断变化的业务需求。这种架构不仅提高了开发效率,还为未来的扩展和创新提供了坚实的基础。


服务端架构


根据上面的介绍,开发者可以根据微服务这一特性,轻松扩展并实现自己的 TinyEngine 服务端架构。


  • 业务接口微服务(webService):构建业务的引擎, 汇总连接其他微服务为前端提供接口。

  • 数据中心 (dataCenter):作为数据基座,统一进行数据管理,为其他微服务提供一致性的数据支持。



根据上述架构特点,我们可以在此基础上,通过核心的 webService (业务接口微服务) 搭配任务队列服务 (RabbitMq、 Kafka、 RocketMq 等等) 连接其他功能微服务, 从而拓展整体系统的功能,例如:


  • 构建服务:由 webService 收集用户请求触发任务队列执行耗费机器资源的构建设计器、区块、物料的相关服务。

  • 爬虫服务:单独封装 安装了 puppeteer 服务器的微服务,由 webService 触发去执行一些爬取数据、代理登录等等操作。

  • AI 大模型相关服务:连接自己内部 AI 大模型, 进行设计器智能化相关的 AI 代码生成、指令操作等等功能的。

  • 发布服务:封装自己的 CI/CD 流水线微服务,结合设计器代码产出,使代码生产 - 构建 - 部署一条龙式运作。



硬件配置


本地开发


推荐使用 windows 操作系统, 推荐配置如下:


  • 64 位操作系统

  • 12 核 CPU

  • 32G 内存


服务容器化部署


以下信息为支撑 50 qps 并发量的配置参考, 开发者可根据实际情况进行具体问题具体分析,配置信息仅供参考.


配置单位:


  • U: cpu 核数

  • G: 内存单位


在配置负载均衡的情况下推荐:



FAQ


服务端开源之后,如果不想启动 webService 和 dataCenter 两个后端服务器,是否还能沿用原来 mockServer?


答:可以正常使用 mockServer,启动方式和原先一致,直接在项目里执行 pnpm dev 即可


如果本地启动了 webService 和 dataCenter,那么前端本地工程是否还需要更改配置?如果需要,如何更改配置?


答:需要更改配置,更改流程如下:启动 tinyengine 修改 packages/design-core/vite.config.js 中 origin 的值为自己本地 webService 项目的地址端口(webService 端口默认为 7011)


运行如下脚本并启动


pnpm install  # 第一次启动项目需要pnpm serve:frontend
复制代码


启动成功后浏览器会自动打开设计器页面



具体搭建流程可参考官网本地化部署文档:https://opentiny.design/tiny-engine#/help-center/course/backend/51


未来规划


人工智能:计划将低代码平台与 AIGC(人工智能生成内容)技术相结合,为用户提供更加智能、高效的应用开发体验。后续我们考虑将低代码平台的开发流程与 AIGC 技术相结合,通过自然语言处理、机器学习和深度学习等技术,实现应用界面的自动生成、功能模块的智能推荐和代码的自动化生成等功能。


模型驱动:我们将致力于将低代码平台与模型驱动能力相结合,为用户提供更加高效、智能的开发体验。深入研究各种业务模型,包括数据模型、业务流程模型等,以了解其特性和需求。后续,我们将低代码平台的开发流程与模型驱动能力相结合,通过可视化建模工具和自动化技术,实现业务模型的快速构建和部署。通过这一创新性的接入方式,用户将能够更加高效地构建和调整业务模型,降低开发难度和成本。

2024-01-22 10:195298

评论

发布
暂无评论
发现更多内容

律师们有福了,DS满血版加持下的AlphaGPT将带来超凡的办案体验

科技汇

iCourt,法律行业两个问题与三个实现增长的机会

科技汇

创新与商业潜力兼具的 Real-Time AI 是怎样的?丨RTE Open Day@AGI Playground 参会指南

声网

鸿蒙组件通用属性深度解析:从基础样式到高级定制的全场景指南

谢道韫

Illustrator 2024最新破解下载 AI完整激活安装包

Rose

TypeScript实用类型之Omit

不在线第一只蜗牛

typescript

如何在应用中实现地图关键字搜索和标记聚合功能?

HarmonyOS SDK

harmoyos

华为云亮相 KubeCon China 2025,开源生态引领 AI 时代技术跃迁

华为云开源

开源 云原生 华为云 KubeCON

环球影城APP的兼容性测试实践—腾讯优测

优测云服务平台

兼容性测试

混合应用开发:企业降本增效之道——面向2025年移动应用开发趋势的实践路径

xuyinyin

Meta 和 Oakley 将推出运动 AI 眼镜;Deepgram 发布 Voice Agent API,每小时 4.5 美元

声网

Logic Pro X for mac(音乐创作软件)

Geek贝

等保一体机:网络安全的坚实守护者

等保测评

移动应用开发:AI赋能混合开发思考

Speedoooo

移动应用开发 小程序技术 小程序容器技术 AI应用开发

终于有人用了6小时就把Linux讲明白了,共1.76G,34部分内容

程序员高级码农

程序员‘ Linux 运维

Easysearch 索引备份之 Clone API

极限实验室

easysearch

龙蜥社区两大委员会月度会议圆满召开

OpenAnolis小助手

开源 操作系统 龙蜥社区 OpenAnolis Anolis OS

4中常见的数据集成方式

RestCloud

ETL 数据集成工具 整库同步 数据合并

从 Cursor 到 Claude Code:AI 编程助手的高效协作艺术全攻略

AI段舸

Golang基础笔记一之变量声明和类型介绍

Hunter熊

golang fmt包 fmt

智能化 Graviton 迁移:Amazon Q CLI 加速应用架构现代化

亚马逊云科技 (Amazon Web Services)

NebulaAI亮相华为开发者大会:NebulaAI×iDME,AI赋能千行百业,松山湖见!

行云创新

AI 华为开发者大会2025

LOCKTON年营收突破40亿美元

财见

等保测评:网络安全的重要防线

等保测评

Proxyman Premium for Mac(网络调试和分析工具)

Geek贝

超 10 倍查询加速,N-Gram Index 设计与优化全解析

Databend

2025 EDR XDR MDR认证测试

财见

阿里云百炼开源面向 Java 开发者的 NL2SQL 智能体框架

阿里巴巴云原生

sql 阿里云 微服务 云原生

TortoiseSVN使用-TortoiseSVN更换或重置登录用户

刘大猫

svn 版本管理工具 版本管理 大模型 tortoiseSVN

有趣的git

溪抱鱼

git 前端

鸿蒙运动项目开发:封装超级好用的 RCP 网络库(中)—— 错误处理,会话管理与网络状态检测篇

王二蛋和他的张大花

华为云低代码引擎 TinyEngine 服务端正式开源_低代码_InfoQ精选文章