用于创建 Web 服务和仪表板的低代码引擎(用于创建 web 服务和仪表板的低代码引擎有哪些)

《开源精选》是我们分享Github、Gitee等开源社区中优质项目的栏目,包括技术、学习、实用与各种有趣的内容。本期推荐的是一个用于创建 Web 服务和仪表板的低代码引擎——Yao。

用于创建 Web 服务和仪表板的低代码引擎(用于创建 web 服务和仪表板的低代码引擎有哪些)

Yao 是一个只需使用 JSON 即可创建数据库模型、编写 API 接口、描述管理后台界面的低代码引擎,使用 Yao 构建的应用可运行在云端或物联网设备上。 开发者不需要写一行代码,就可以拥有 10 倍生产力。

Yao 基于 flow-based 编程思想,采用 Go 语言开发,支持多种方式扩展数据流处理器。这使得 Yao 具有极好的通用性,大部分场景下可以代替编程语言, 在复用性和编码效率上是传统编程语言的 10 倍;应用性能和资源占比上优于 PHP, JAVA 等语言。

Yao 内置了一套数据管理系统,通过编写 JSON 描述界面布局,即可实现 90% 常见界面交互功能,特别适合快速制作各类管理后台、CRM、ERP 等企业内部系统。对于特殊交互功能亦可通过编写扩展组件或 HTML 页面的方式实现。内置管理系统与 Yao 并不耦合,亦可采用 VUE, React 等任意前端技术实现管理界面。

用于创建 Web 服务和仪表板的低代码引擎(用于创建 web 服务和仪表板的低代码引擎有哪些)

功能特性

  • 无代码:使用JSON创建数据库模型、编写接口、描述界面,真正意义上的无代码编程
  • 万物互联:支持在 ARM 设备上运行,可用于物联网、边缘计算、工业互联网
  • 数据可视化:简单易用的BI组件和功能,赋予商业更多的可能性
  • 处理器:内置一系列可以通过数据流、Javascirpt 和 GRPC 插件进行功能扩展的处理器
  • 数据流:通过数据流,开发者可以对数据进行任意形式的处理,且支持Javascript
  • 插件:基于GRPC的插件机制,支持使用nodejspython等语言进行功能拓展
  • 管理后台:通过编写JSON描述界面布局,快速搭建各种CRM、ERP等企业内部系统
  • 文件系统路由:每一个在apis文件夹下的文件都会成为一个可供调用的接口
  • 实时查询:内置媲美ES的查询引擎,且通过DSL实现JSON查询,简单且易用
  • 极致性能:底层使用Go语言,性能远超Java、PHP,分布式部署,一行命令搞定
  • 企业级安全:权限分级,管理员和员工账户分离,Api级别的权限控制,且支持自定义
  • 天然分布式:Go语言打包生成各个平台二进制文件,对于有上云需求的用户,很方便

安装部署

部署推荐使用Docker,也可以自行手动部署。

使用 Docker

1 创建容器:

安装 Docker 下载安装 Docker创建并启动容器: docker run -d --restart unless-stopped --name yao -v <app root>:/data/app -p <Port>:5099 yaoapp/yao:0.9.1-amd64

Yao Docker Images:

镜像

环境

使用场景

yaoapp/yao:0.9.1-amd64

生产环境

适用于云端部署

yaoapp/yao:0.9.1-arm64

生产环境

适用于物联网边缘设备部署

2 检查服务状态:

curl http://127.0.0.1:<Port>/api/xiang/ping


手动部署

1 运行安装脚本:

curl -fsSL HTTPS://website.yaoapps.com/install.sh | bash

2 添加用户:

useradd yao

3 创建应用文件夹:

mkdir /yaoapps

4 将应用代码复制到应用目录,例如:

git clone https://github.com/YaoApp/demo-crm.git /yaoapps/demo-crm

注意:生产环境中,请将启动模式设置为 production 。

5 配置服务,使用 pm2 supervisor 等服务进程管理工具。

supervisor 配置示例:

[program:demo-crm-server]directory=/yaoapps/demo-crmcommand=/usr/local/bin/yao startprocess_name=demo-crm-servernumprocs=1autostart=trueautorestart=trueuser=yaogroup=yaoredirect_stderr=truestdout_logFile=/yaoapps/demo-crm/supervisor.log

注意:不要使用 root 用户启动服务。

6 启动服务:

supervisor start

7 检查服务状态:

curl http://127.0.0.1:<Port>/api/xiang/ping


代理服务器

如需要使用 HTTPS 或者 一台机器上安装有多个应用,可以使用 Nginx, traefik 等代理服务器。

traefik 配置示例:

[[tls.certificates]]certFile = "/data/certs/star.yaoapps.com.crt"keyFile = "/data/certs/star.yaoapps.com.key"[http.routers.demo-crm]tls = truerule = "Host(`demo-crm.yaoapps.com`)"service = "demo-crm@file"[http.services][http.services.demo-crm.loadBalancer][[http.services.demo-crm.loadBalancer.servers]]url = "http://127.0.0.1:<port>/"

组件示例

A 链接

跳转第三方站点、跳转自定义扩展的页面、各个系统之间进行跳转

{ "Link": { "label": "外部链接", "view": { "type": "a", "props": { "value": ":link" } } }}

Tooltip 提示

提示,鼠标悬浮出现说明文字,常用于简化页面,内容聚焦。

{ "说明": { "label": "说明", "view": { "type": "tooltip", "props": { "value": ":desc" } } }}

Tree 树形控件

文件夹、组织架构、生物分类、国家地区等等,世间万物的大多数结构都是树形结构。使用 树控件 可以完整展现其中的层级关系,并具有展开收起选择等交互功能。

{ "Tree": { "label": "Tree", "edit": { "type": "tree", "props": { "value": ":tree", "checkable": true, "remote": { "api": "/api/tree/search", "query": { "select": ["id", "name"] } } } } }}

NumberCard 数字卡片

数字卡片,通常用来展示关键性的指标信息。

在图表页使用:

{ "name": "云计算相关企业", "width": 6, "type": "numberCard", "props": { "icon": "cloud-outline", "unit": "家" }}

在表单页使用:

{ "表格图表": { "label": "表格图表", "edit": { "type": "chart", "props": { "type": "numberCard", "value": ":service", "hide_label": true, "chart_props": { "height": 240, "icon": "cloud-outline", "unit": "家" } } } }}

折线图

用于创建 Web 服务和仪表板的低代码引擎(用于创建 web 服务和仪表板的低代码引擎有哪些)

饼图

用于创建 Web 服务和仪表板的低代码引擎(用于创建 web 服务和仪表板的低代码引擎有哪些)

k线图

用于创建 Web 服务和仪表板的低代码引擎(用于创建 web 服务和仪表板的低代码引擎有哪些)

旭日图

用于创建 Web 服务和仪表板的低代码引擎(用于创建 web 服务和仪表板的低代码引擎有哪些)

—END—

开源协议:Apache2.0

开源地址:https://github.com/YaoApp/yao

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2024年5月13日 下午4:06
下一篇 2024年5月13日 下午4:17

相关推荐

  • 项目管理 – 项目经理必须知道的8个管理流程,一个都不能少(为什么项目管理需要流程)

    今天开始给大家整理项目的管理基本流程,包括每个环节的工作内容和产出物。本文章是比较粗略的编写基本规程,后续会对每一个规程进行详细阐述,希望对大家有帮助。 1、项目启动阶段 工作内容…

    科研百科 2022年12月9日
    259
  • 3000元开发的企业ERP智慧管理系统长什么样子的?快来瞧瞧(erp智能管理系统)

    导读:本文将从企业ERP智慧管理系统的开发目的、开发背景、目标用户、系统设计、系统架构、主要功能模块等方面进行分析,软件主要功能包括:安全权限管理、采购管理、采购招投标、财务管理、…

    科研百科 2024年7月26日
    38
  • 腾讯官宣,QQ 又双叒关闭两项服务(腾讯决定关停qq)

    同学们没看错,QQ 又双叒宣布关闭了两项功能。 最近,QQ 运动产品团队发布了《QQ 运动赛事下线公告》。 公告称,由于业务调整,运动奖金赛、 早起打卡赛及京港拉力赛等功能,将于 …

    科研百科 2022年10月15日
    883
  • 信息系统管理项目管理师

    信息系统管理项目管理师 随着信息技术的不断发展,信息系统管理已经成为项目管理中不可或缺的一部分。作为一个信息系统管理项目管理师,我的职责是负责管理和维护信息系统,确保其高效、可靠、…

    科研百科 2024年7月24日
    39
  • 技术类课题研究项目技术路线图画法示例

    技术类课题研究项目技术路线图画法示例 随着技术的发展,技术类课题研究项目变得越来越复杂。为了确保项目的成功实施,制定一份清晰的技术路线图非常重要。一份好的技术路线图可以帮助项目团队…

    科研百科 2024年12月2日
    12
  • 社区公共用房

    社区公共用房 社区公共用房是社区的重要组成部分,是社区服务和管理的重要场所。它为社区居民提供了便利和舒适的生活环境,同时也为社区的管理和治理提供了坚实的基础。 社区公共用房的设计和…

    科研百科 2024年11月14日
    1
  • 大学生科研项目分工模板

    大学生科研项目分工模板 在大学生科研项目中,分工是非常重要的一个环节。合理的分工可以帮助团队更加高效地完成任务,同时也可以增强团队成员之间的合作默契。下面是一个常见的大学生科研项目…

    科研百科 2024年8月10日
    97
  • 科研经费管理办法18号文

    科研经费管理办法18号文 为加强科研经费管理,提高科研经费使用效率,根据《中华人民共和国科学技术法》和《国家科学技术进步法》的规定,现将科研经费管理办法18号文发布如下: 一、适用…

    科研百科 2024年10月2日
    116
  • 建设工程项目管理软件有哪些(建设工程项目管理系统软件)

    建设工程项目管理系统软件建设工程项目管理系统软件建设工程是一个基础工程技术运用知识,创造未来的时代。建设工程的基本性质:工程技术主要是生产发展、产品开发、产品迭代、产品销售与售后服…

    科研百科 2024年5月18日
    96
  • ibm项目管理系统

    IBM项目管理系统: 提高项目执行效率 IBM项目管理系统是一种强大的工具,可以帮助企业提高项目执行效率。通过使用该系统,企业可以更好地管理项目,确保项目按照计划进行,并减少项目延…

    科研百科 2024年7月14日
    36