大家好,我是开源大叔!
大叔过去几篇文章已经给大家介绍了不少的低代码平台,但今天介绍的对比以前更偏向于前端构建的项目,有很大的不同,非常值得大家去关注一下!!
这个项目名非常好记,和姚明同名:Yao
Yao介绍
Yao 是一款采用 Go 语言开发的低代码引擎,其最大的特点是可以通过 JSON 的编写,即可实现 90% 的页面交互功能,特别适合开发如 CRM、ERP 等内部管理系统。
直到今日,Yao 已经在 GitHub 上积累了 4.2k Star
了,并且增长速度还很快。
界面效果
下面是使用 Yao 开发的界面效果,这个是暗黑风格的,还是非常时尚炫酷的!
(⚠️注意这些页面全是通过 JSON 配置出来的,不需要写代码!!)
功能特点
- 只需要使用 JSON 就能完成前端页面、数据库模型、API接口的开发,不需要写一行代码,超高生产力。
- 可运行在云端或物联网设备上。
- 采用 Go 语言开发,对比 Java、PHP、Python 等开发语言,拥有更高的性能优势。
- 支持多种方式扩展数据流处理器,使得 Yao 具有极好的通用性。
- 得益于优秀的架构设计,使得支持采用 Vue、React 等通用的前端框架进行组件扩展,满足特异化功能开发的需求。
JSON窥探
下面将通过一个「宠物」的例子
创建数据模型
可以通过编写数据模型描述文件,定义数据表
代码语言:javascript复制{
"name": "宠物",
"table": { "name": "pet", "comment": "宠物表" },
"columns": [
{ "label": "编号", "name": "sn", "type": "string", "unique": true },
{ "label": "名称", "name": "name", "type": "string", "index": true },
],
"values": [
{ "sn": "100001", "name": "Cookie", "kind": "猫", "desc": "一只猫" },
{ "sn": "100002", "name": "Beibei", "kind": "狗", "desc": "一只狗" }
],
"option": { "timestamps": true, "soft_deletes": true }
}
编写接口
同时我们也可以根据 JSON 编写我们的接口,比如下列定义出查询和保存的接口。
代码语言:javascript复制{
"name": "宠物",
"version": "1.0.0",
"description": "宠物接口",
"guard": "bearer-jwt",
"group": "pet",
"paths": [
{
"path": "/search",
"method": "GET",
"guard": "-",
"process": "models.pet.Paginate",
"in": [":query-param", "$query.page", "$query.pagesize"],
"out": {
"status": 200,
"type": "application/json"
}
}
]
}
描述界面
我们最后通过简单的 JSON 描述,构建出我们的宠物列表,并提供了查询功能。
代码语言:javascript复制{
"name": "宠物",
"version": "1.0.0",
"decription": "宠物管理表格",
"bind": { "model": "pet" },
"filters": {
"关键词": {
"label": "关键词",
"bind": "where.name.match",
"input": { "type": "input", "props": { "placeholder": "请输入关键词" } }
}
},
"list": {
"primary": "id",
"layout": {
"columns": [
{ "name": "编号", "width": 100 },
{ "name": "名称", "width": 200 },
{ "name": "类型" }
],
"filters": [{ "name": "关键词" }]
}
}
}
最后通过上述的 JSON 文件,就能从前端到后端一次性构建出完整可交付的页面功能,是不是很棒!!
总结
今天大叔带大家体验了一下 Yao 的魅力,它确实是一款很有特点的低代码平台,不需要一句代码,就能够大大的提高开发效率!
感兴趣的小伙伴,赶快去试试吧!!
项目地址为:
代码语言:javascript复制https://github.com/YaoApp/yao