草庐IT

猿创征文|低代码开发15个高效开源项目推荐

共饮一杯无 2023-06-17 原文

低代码开发平台(LCDP)是无需编码(0代码)或通过少量代码就可以快速生成应用程序的开发平台。通过可视化进行应用程序开发的方法,使具有不同经验水平的开发人员可以通过图形化的用户界面,使用拖拽组件和模型驱动的逻辑来创建网页和移动应用程序。具体什么是低代码可以查看我这篇博客:什么是低代码
本文主要推荐15个优质的低代码开源项目。

文章目录

Alibaba Formily

Formily是阿里巴巴开源的统一前端表单解决方案。将每个表单字段的状态做了分布式管理,从而大大提升了表单操作性能。同时深度整合了 JSON Schema 协议,可以帮助您快速解决后端驱动表单渲染的问题。
关键特性如下:

  • 🖼 可设计,借助 Form Builder 可以快速搭建表单。
  • 🚀 高性能,字段分布式渲染,大大减轻 React 渲染压力。
  • 💡 支持 Ant Design/Fusion Next 组件体系。
  • 🎨 JSX 标签化写法/JSON Schema 数据驱动方案无缝迁移过渡。
  • 🏅 副作用逻辑独立管理,涵盖各种复杂联动校验逻辑。
  • 🌯 支持各种表单复杂布局方案。

设计器界面:

官方社区和文档都挺全面的,
官方文档:https://www.formilyjs.org/zh-CN/guide,社区:https://github.com/alibaba/formily/discussions

lowcode-engine

lowcode-engine是阿里巴巴团队开源的另一款低代码引擎。官方定义为:一套面向扩展设计的企业级低代码技术体系(An enterprise-class low-code technology stack with scale-out design)。
关键特性如下:

  • 🌈 提炼自企业级低代码平台的面向扩展设计的内核引擎,奉行最小内核,最强生态的设计理念
  • 📦 开箱即用的高质量生态元素,包括 物料体系、设置器、插件 等
  • ⚙️ 完善的工具链,支持 物料体系、设置器、插件 等生态元素的全链路研发周期
  • 🔌 强大的扩展能力,已支撑近 100 个各种垂直类低代码平台
  • 🛡 使用 TypeScript 开发,提供完整的类型定义文件

设计器界面:

官方文档:https://lowcode-engine.cn/docV2/intro

Amis

Amis是百度开源的一款前端低代码开发框架,通过 JSON 配置就能生成各种后台页面,极大减少开发成本,甚至可以不需要了解前端。
设计器界面:

官方文档地址:https://aisuda.bce.baidu.com/amis/zh-CN/docs/index

form-generator

Element UI表单设计及代码生成器,可将生成的代码直接运行在基于Element的vue项目中;也可导出JSON表单,使用配套的解析器将JSON解析成真实的表单。
设计器界面:

h5-Dooring

h5-Dooring官方定义为:让H5制作像搭积木一样简单, 轻松搭建H5页面, H5网站, PC端网站,LowCode平台。
设计器界面:

官方文档:http://h5.dooring.cn/doc/zh/guide/

yao

YAO 是一款开源应用引擎,使用 Golang 编写,以一个命令行工具的形式存在, 下载即用。适合用于开发业务系统、网站/APP API 接口、管理后台、自建低代码平台等。
YAO 采用 flow-based 的编程模式,通过编写 YAO DSL (JSON 格式逻辑描述) 或使用 JavaScript 编写处理器,实现各种功能。 YAO DSL 可以有多种编写方式:

  1. 纯手工编写
  2. 使用自动化脚本,根据上下文逻辑生成
  3. 使用可视化编辑器,通过“拖拉拽”制作

官方案例:

官方文档地址:https://yaoapps.com/doc

sparrow

场景化低代码(LowCode)搭建工作台;sparrow的核心目标仅有一条“提升研发效率”,目前提供基于vue、element-ui组件库中后台项目的实践,实时输出源代码,新功能持续新增中;
关键特性:

  • 低代码开发, 快速生成可读性强、vue element-ui组件库的源代码。
  • 可视化开发, 通过GUI生成页面代码源文件。
  • 资产市场, 代码资源共享,包含组件、编辑区块、静态区块、搜索业务组件、插件、场景搭建编辑器。

设计器界面:

文档地址:https://sparrow-js.github.io/sparrow-vue-site/

vite-vue3-lowcode

vite-vue3-lowcode是H5移动端低代码平台,具备可视化拖拽 可视化编辑器 visual editor。 类似易企秀的H5制作、建站工具、可视化搭建工具。
设计器界面:


上述主要是偏前端的低代码开源项目,接下来分享几个偏后端的低代码开源项目。

JeecgBoot

JeecgBoot 是一款基于代码生成器的低代码开发平台!前后端分离架构 SpringBoot2.x,SpringCloud,Ant Design&Vue,Mybatis-plus,Shiro,JWT,支持微服务。强大的代码生成器让前后端代码一键生成,实现低代码开发! JeecgBoot 引领新的低代码开发模式(OnlineCoding-> 代码生成器-> 手工MERGE), 帮助解决Java项目70%的重复工作,让开发更多关注业务。既能快速提高效率,节省研发成本,同时又不失灵活性。
大屏设计器界面:

微服务架构图:

功能比较强大,代码不是完全开源,高阶版本需要收费。

人人开源

renren-security:https://github.com/renrenio/renren-security

  • renren-security是一个轻量级的,前后端分离的Java快速开发平台,能快速开发项目并交付【接私活利器】
  • 采用SpringBoot、Shiro、MyBatis-Plus框架,开发的一套权限系统,极低门槛,拿来即用。设计之初,就非常注重安全性,为企业系统保驾护航,让一切都变得如此简单。
  • 提供了代码生成器,只需编写30%左右代码,其余的代码交给系统自动生成,可快速完成开发任务
  • 支持MySQL、Oracle、SQL Server、PostgreSQL等主流数据库

dataease

DataEase 是开源的数据可视化分析工具,帮助用户快速分析数据并洞察业务趋势,从而实现业务的改进与优化。DataEase 支持丰富的数据源连接,能够通过拖拉拽方式快速制作图表,并可以方便的与他人分享。
关键功能:

  • 图表展示:支持 PC 端、移动端、大屏;
  • 图表制作:支持丰富的图表类型(Apache ECharts / AntV)、支持拖拉拽方式快速制作仪表板;
  • 数据引擎:支持直连模式、本地模式(基于 Apache Doris / Kettle 实现);
  • 数据连接:支持数据仓库/数据湖、OLAP 数据库、OLTP 数据库、Excel 数据文件、API 等各种数据源。

官方文档:https://dataease.io/docs/index.html

datagear

DataGear是一款开源免费的数据可视化分析平台,自由制作任何您想要的数据看板,支持接入SQL、CSV、Excel、HTTP接口、JSON等多种数据源。

官方文档地址:http://www.datagear.tech/documentation

flow

企业级流程中心(基于flowable和bpmn.js封装的流程引擎,采用Springboot,Mybatis-plus, Ehcache, Shiro 等框架技术,前端采用Vue3&Antd,Vben)

liteFlow

LiteFlow就是为解耦复杂逻辑而生,如果你要对复杂业务逻辑进行新写或者重构,用LiteFlow最合适不过。它是一个轻量,快速的组件式流程引擎框架,组件编排,帮助解耦业务代码,让每一个业务片段都是一个组件,并支持热加载规则配置,实现即时修改。
使用LiteFlow,你需要去把复杂的业务逻辑按代码片段拆分成一个个小组件,并定义一个规则流程配置。这样,所有的组件,就能按照你的规则配置去进行复杂的流转。
注意:LiteFlow只做基于逻辑的流转,而不做基于角色任务的流转。如果你想做基于角色任务的流转,推荐使用flowable,activiti这2个框架。
特性:

  • 复杂业务的解耦编排利器,为所有组件提供统一化的实现方式
  • 基于规则文件来编排流程,支持xml,json,yml三种规则文件写法方式
  • 框架中提供本地文件配置源,zk配置源的实现
  • 框架提供自定义配置源,只需实现一个接口,即可从任何地方加载配置源
  • 支持SpringBoot的自动装配,也支持Spring的配置和非Spring的项目
  • 提供串行和并行2种模式,提供常见常见的表达式语句
  • 可以定义脚本语言节点,支持QLExpress和Groovy两种脚本
  • 组件可以支持重试,每个组件均可自定义重试配置和指定异常
  • 提供无级嵌套的显式子流程模式,隐式子流程模式
  • 数据槽隔离机制,在多并发下上下文独立而稳定
  • 支持优雅平滑热刷新特性
  • 对系统损耗极低,可以稳定运行在核心业务大规模的微服务中
  • 自带简单的监控,能够知道每个组件的运行耗时排行

官方文档地址:https://liteflow.yomahub.com/

URule

URule是一款纯Java规则引擎,它以RETE算法为基础,提供了向导式规则集、脚本式规则集、决策表、交叉决策表(PRO版提供)、决策树、评分卡及决策流共六种类型的规则定义方式,配合基于WEB的设计器,可快速实现规则的定义、维护与发布。

官方地址:https://www.bstek.com/

参考:
https://github.com/alibaba/formily
https://github.com/alibaba/lowcode-engine
https://github.com/baidu/amis
https://github.com/JakHuang/form-generator
https://github.com/MrXujiang/h5-Dooring
https://github.com/YaoApp/yao
https://github.com/sparrow-js/sparrow
https://github.com/buqiyuan/vite-vue3-lowcode
https://github.com/jeecgboot/jeecg-boot
https://github.com/dataease/dataease
https://gitee.com/datagear/datagear
https://gitee.com/lwj/flow
https://gitee.com/dromara/liteFlow
https://gitee.com/youseries/urule

本文内容到此结束了,
如有收获欢迎点赞👍收藏💖关注✔️,您的鼓励是我最大的动力。
如有错误❌疑问💬欢迎各位指出。
主页共饮一杯无的博客汇总👨‍💻

保持热爱,奔赴下一场山海。🏃🏃🏃

有关猿创征文|低代码开发15个高效开源项目推荐的更多相关文章

  1. ruby - 如何在 buildr 项目中使用 Ruby 代码? - 2

    如何在buildr项目中使用Ruby?我在很多不同的项目中使用过Ruby、JRuby、Java和Clojure。我目前正在使用我的标准Ruby开发一个模拟应用程序,我想尝试使用Clojure后端(我确实喜欢功能代码)以及JRubygui和测试套件。我还可以看到在未来的不同项目中使用Scala作为后端。我想我要为我的项目尝试一下buildr(http://buildr.apache.org/),但我注意到buildr似乎没有设置为在项目中使用JRuby代码本身!这看起来有点傻,因为该工具旨在统一通用的JVM语言并且是在ruby中构建的。除了将输出的jar包含在一个独特的、仅限ruby​​

  2. ruby-on-rails - Rails 源代码 : initialize hash in a weird way? - 2

    在rails源中:https://github.com/rails/rails/blob/master/activesupport/lib/active_support/lazy_load_hooks.rb可以看到以下内容@load_hooks=Hash.new{|h,k|h[k]=[]}在IRB中,它只是初始化一个空哈希。和做有什么区别@load_hooks=Hash.new 最佳答案 查看rubydocumentationforHashnew→new_hashclicktotogglesourcenew(obj)→new_has

  3. ruby - 使用 C 扩展开发 ruby​​gem 时,如何使用 Rspec 在本地进行测试? - 2

    我正在编写一个包含C扩展的gem。通常当我写一个gem时,我会遵循TDD的过程,我会写一个失败的规范,然后处理代码直到它通过,等等......在“ext/mygem/mygem.c”中我的C扩展和在gemspec的“扩展”中配置的有效extconf.rb,如何运行我的规范并仍然加载我的C扩展?当我更改C代码时,我需要采取哪些步骤来重新编译代码?这可能是个愚蠢的问题,但是从我的gem的开发源代码树中输入“bundleinstall”不会构建任何native扩展。当我手动运行rubyext/mygem/extconf.rb时,我确实得到了一个Makefile(在整个项目的根目录中),然后当

  4. ruby-on-rails - 项目升级后 Pow 不会更改 ruby​​ 版本 - 2

    我在我的Rails项目中使用Pow和powifygem。现在我尝试升级我的ruby​​版本(从1.9.3到2.0.0,我使用RVM)当我切换ruby​​版本、安装所有gem依赖项时,我通过运行railss并访问localhost:3000确保该应用程序正常运行以前,我通过使用pow访问http://my_app.dev来浏览我的应用程序。升级后,由于错误Bundler::RubyVersionMismatch:YourRubyversionis1.9.3,butyourGemfilespecified2.0.0,此url不起作用我尝试过的:重新创建pow应用程序重启pow服务器更新战俘

  5. ruby-on-rails - 新 Rails 项目 : 'bundle install' can't install rails in gemfile - 2

    我已经像这样安装了一个新的Rails项目:$railsnewsite它执行并到达:bundleinstall但是当它似乎尝试安装依赖项时我得到了这个错误Gem::Ext::BuildError:ERROR:Failedtobuildgemnativeextension./System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/rubyextconf.rbcheckingforlibkern/OSAtomic.h...yescreatingMakefilemake"DESTDIR="cleanmake"DESTDIR="

  6. Ruby Sinatra 配置用于生产和开发 - 2

    我已经在Sinatra上创建了应用程序,它代表了一个简单的API。我想在生产和开发上进行部署。我想在部署时选择,是开发还是生产,一些方法的逻辑应该改变,这取决于部署类型。是否有任何想法,如何完成以及解决此问题的一些示例。例子:我有代码get'/api/test'doreturn"Itisdev"end但是在部署到生产环境之后我想在运行/api/test之后看到ItisPROD如何实现? 最佳答案 根据SinatraDocumentation:EnvironmentscanbesetthroughtheRACK_ENVenvironm

  7. ruby-on-rails - 浏览 Ruby 源代码 - 2

    我的主要目标是能够完全理解我正在使用的库/gem。我尝试在Github上从头到尾阅读源代码,但这真的很难。我认为更有趣、更温和的踏脚石就是在使用时阅读每个库/gem方法的源代码。例如,我想知道RubyonRails中的redirect_to方法是如何工作的:如何查找redirect_to方法的源代码?我知道在pry中我可以执行类似show-methodmethod的操作,但我如何才能对Rails框架中的方法执行此操作?您对我如何更好地理解Gem及其API有什么建议吗?仅仅阅读源代码似乎真的很难,尤其是对于框架。谢谢! 最佳答案 Ru

  8. ruby - 是否可以覆盖 gemfile 进行本地开发? - 2

    我们的git存储库中目前有一个Gemfile。但是,有一个gem我只在我的环境中本地使用(我的团队不使用它)。为了使用它,我必须将它添加到我们的Gemfile中,但每次我checkout到我们的master/dev主分支时,由于与跟踪的gemfile冲突,我必须删除它。我想要的是类似Gemfile.local的东西,它将继承从Gemfile导入的gems,但也允许在那里导入新的gems以供使用只有我的机器。此文件将在.gitignore中被忽略。这可能吗? 最佳答案 设置BUNDLE_GEMFILE环境变量:BUNDLE_GEMFI

  9. ruby - 模块嵌套代码风格偏好 - 2

    我的假设是moduleAmoduleBendend和moduleA::Bend是一样的。我能够从thisblog找到解决方案,thisSOthread和andthisSOthread.为什么以及什么时候应该更喜欢紧凑语法A::B而不是另一个,因为它显然有一个缺点?我有一种直觉,它可能与性能有关,因为在更多命名空间中查找常量需要更多计算。但是我无法通过对普通类进行基准测试来验证这一点。 最佳答案 这两种写作方法经常被混淆。首先要说的是,据我所知,没有可衡量的性能差异。(在下面的书面示例中不断查找)最明显的区别,可能也是最著名的,是你的

  10. ruby - 寻找通过阅读代码确定编程语言的ruby gem? - 2

    几个月前,我读了一篇关于ruby​​gem的博客文章,它可以通过阅读代码本身来确定编程语言。对于我的生活,我不记得博客或gem的名称。谷歌搜索“ruby编程语言猜测”及其变体也无济于事。有人碰巧知道相关gem的名称吗? 最佳答案 是这个吗:http://github.com/chrislo/sourceclassifier/tree/master 关于ruby-寻找通过阅读代码确定编程语言的rubygem?,我们在StackOverflow上找到一个类似的问题:

随机推荐