可拓展的低代码全栈框架

尽管现在越来越多的人开始对低代码开发感兴趣,但已有低代码方案的局限性仍然让大家有所保留。其中最常见的担忧莫过于低代码缺乏灵活性以及容易被厂商锁定。

显然这样的担忧是合理的,因为大家都不希望在实现特定功能的时候才发现低代码平台无法支持,也不希望从某个厂商的低代码平台迁出时发现应用需要彻底的重写。

一些已有产品机智地将低代码的使用场景限定在了特定领域中,例如内部工具或者官网,因为在这些场景中用户更关心开发效率而不是灵活性与定制能力。但当我们希望使用低代码在更多场景中提升效率时,这类产品就不能满足需求了。

因此,我们开始开发 JNPF 这个项目,我们专注于这个低代码全栈框架的拓展性。

设计原则

1.组件设计

在JNPF中,至少包含表单建模、流程设计、报表可视化、代码生成器、系统管理、前端UI等组件,这种情况下我们避免了重复造轮子,已内置大量的成熟组件,选择合适的组件进行集成或二次开发复杂功能,即可自主开发一个属于自己的应用系统。

JNPF平台前端采用的是vue、element-UI;后端采用java/.net、springboot;使用门槛低,支持分布式、k8s集群部署,适用于开发复杂的业务管理系统(ERP、MES等);采用可视化组件模式可以有效地扩展不同的业务功能,并方便实现各种业务需求,且不会导致系统臃肿,若想使用某个组件,按需引入即可,反之亦然。

2.发挥代码的威力,而不是限制

如之前所说的,JNPF并不将用户局限于只能使用按钮、输入框等基础组件开发应用。针对现有平台的内容设计,肯定是不能够满足所有不同业务需求对应的细节诉求,因此JNPF做的一个举动是开放源码交付。

基于此,用户可以摆脱对原厂商的依赖,JNPF提供平台全部源代码给予用户作二次开发,包括表单、流程、接口、平台底层全部源代码,确保没有后顾之忧;也可以基于一些复杂的业务逻辑,使企业在新扩展的业务流程上不再需要重新购买;基于低代码平台开发出来的各类业务系统还可以自主申请软件著作权。

界面展示

作为一款“精而美”的企业管理软件,简单好上手,能有效的规避一些标准软件存在的问题:很多企业在使用各种软件之间,数据不能互联,存在数据孤岛问题;

10分钟完成一个基础应用,2-3小时就能摸清整套系统的使用流程和基本功能的位置,产品的功能集成和操作复杂平衡也较为合理。

1.代码生成器

零代码开发:配备大量可复用控件,通过操作界面元素,拖拽控件自动生成可视化应用;

低代码开发:基于 Mybatis-plus-generator 自定义了一套代码生成器, 通过配置数据库字段的注释,可在线生成 WEB 前端(vue)、移动端(vue)、后端(controller、entity、mapperxml、service)等代码,极大减少开发难度;

2.工作流程

工作流服务为JNPF 自研的一套工作流方案,包含流程表单和流程引擎两大部分,流程表单可视化设计,可配置程度高,采用结构化的表单模版设计,集中解析模式的设计。适应于中国国情的多种场景的需要、配置所见即所得、低代码、高配置;

3.门户设计

全新门户设计,操作简单,自由拖拽,一次编辑多端自适应,充分满足用户的个性化需求。

4.大屏设计

自由布局页面,拖拽控件至页面中,针对不同的控件进行内容设值和数据绑定,所见即所得的实现大屏可视化页面开发;

5.报表设计

无需开发任何代码,用户只需在界面上配置一系列参数即可实现多种类型报表的配置、在线渲染报表内容、报表导出、打印等功能;

6.第三方登录

开箱即用的第三方授权登录工具类库,提供统一接口,支持接入任意 OAuth 网站,快速实现 OAuth 登录功能。

7.多租户实现

多租户技术或称多重租赁技术,是一种软件架构技术,它是在探讨与实现如何于多用户的环境下共用相同的系统或程序组件,并且扔可确保各用户间数据的隔离性。在云计算时代,多租户技术在共用的数据中心以单一系统架构与服务提供多数客户端相同甚至可定制化的服务,并且仍然可以保障客户的数据隔离。

提供了三种多租户实现方式,满足不同维度用户的维护,不同维度数据的治理:

(1)独立数据库

每个租户一个数据库,这种方案的用户数据隔离级别最高,安全性最好,但成本也高。

(2)共享数据库,隔离数据架构

多个租户共享一个数据库,但一个租户独立使用一个 SCHEMA。

(3)共享数据库,共享数据结构

租户共享同一个数据库,同一个 SCHEMA,但在表中通过 F_TenantId 区分租户的数据。

8.分布式调度

集成 XXL-JOB 跨语言分布式任务调度平台,开箱即用,第三方任意语言通 1 过RESTful API 对接调度中心或实现执行器,功能点包含执行器管理、调度任务、调度日志、任务进度监控、多任务模式、自定义任务参数等

9.消息中心

提供了多种类型消息配置及发送的能力,提供消息发送的通用 API,用户可通过此功能模块轻松实现多种类型消息的发送,无缝对接多种消息平台。功能点包含消息模板配置、消息发送配置、消息接收配置、账户配置(包含邮箱、短信、企业微信、微信公众号、钉钉、webhook)、消息监控等

功能框架

JNPF的定位是企业级低代码开发平台,目标是构建各种企业级信息管理系统,例如ERP、CRM、MES、PLM、项目管理、OA等系统。为了能构建这一类系统,JNPF提供了大量的基础功能。包括组织架构管理、角色权限、多级菜单、表单、表格、数据统计、报表展示、API等。

试用地址:https://www.jnpfsoft.com/?csdn

具有广泛的功能,可简化和加快开发过程。解决方案的一些主要功能包括:

  • 可视化开发环境:平台提供可视化开发环境,允许用户使用拖放工具和代码的可视化表示形式(如流程图、图表和表单)创建应用程序。这使得开发过程更加直观和易于访问
  • 预构建的组件和模板:这些平台带有各种预构建的组件和模板,可以快速集成到新的应用程序中。这不仅加快了开发过程,还确保了使用久经考验的组件,最大限度地减少了潜在的问题和漏洞
  • 集成的开发和测试工具:平台通常包括内置的开发和测试工具,使开发人员能够以简化的方式轻松构建、测试和部署应用程序。这种集成有助于协作,减少错误,并确保整个应用程序生命周期的质量一致
  • 跨平台兼容性:许多平台支持开发可跨多个平台(如 Web、移动和桌面)运行的应用程序。此功能允许开发人员创建一次应用程序,并让它们在各种设备上工作,而无需额外的自定义或开发工作
  • 可伸缩性和可扩展性:解决方案通常提供内置的可伸缩性和可扩展性功能,使应用程序能够增长并适应不断变化的业务需求。这包括添加自定义功能或与其他系统集成的能力,使平台成为软件开发的多功能和面向未来的选择

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/100970.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OpenGL LUT滤镜算法解析

1. 简介 滤镜:一些图像处理软件针对性地提供了一些对传统滤镜效果的模拟功能,使图像达到一种特殊效果。滤镜通常需要同通道、图层、色阶等联合使用,才能使图像取得最佳艺术效果。在软件界面中也直接以“滤镜”(Filter&#xff09…

实现一个自己的脚手架教程

前言 脚手架并不实现,难的是最佳实践的整理和沉淀。本文不会涉及到最佳实践方面的内容,只是教会你如何实现一个最基础的脚手架,以此作为展示最佳实践的载体。 如何搭建一个脚手架的工程 如何开发和调试一个脚手架 脚手架中如何接收和处理命…

12.2 实现键盘模拟按键

本节将向读者介绍如何使用键盘鼠标操控模拟技术,键盘鼠标操控模拟技术是一种非常实用的技术,可以自动化执行一些重复性的任务,提高工作效率,在Windows系统下,通过使用各种键盘鼠标控制函数实现动态捕捉和模拟特定功能的…

数字孪生和数据分析:数字化时代的力量结合

在当今数字化时代,数据是无处不在的。企业、政府和个人不仅生成了大量数据,还寻求从中获取有价值的信息以进行更好的决策。在这个背景下,数字孪生和数据分析成为了迎合这一需求的两个关键概念。本文带大家一起探讨二者之间相辅相成的关系。 一…

Spring Boot:自定义注解--annotation

目录 自定义注解的定义和作用范围如何创建自定义注解创建注解接口 如何使用自定义注解进行数据验证创建注解处理器控制器中使用注解 如何为字段添加注解 自定义注解的定义和作用范围 自定义注解可以作用在类、方法、属性、参数、异常、字段或其他注解上。 如何创建自定义注解…

Google AdSense 账户开通网站广告位后如何配置付款电汇账号的详细教程!

本篇文章主要讲解:Google AdSense 账户开通网站广告位后如何配置付款电汇账号的详细教程。通过本文章可以快速了解开通账户配置权限的整体流程,很多小白朋友注册完毕后发现根本没有配置账号的入口,这篇文章能够告诉你详细的原有。 日期&#…

知识增强语言模型提示 零样本知识图谱问答10.8+10.11

知识增强语言模型提示 零样本知识图谱问答 摘要介绍相关工作方法零样本QA的LM提示知识增强的LM提示与知识问题相关的知识检索 实验设置数据集大型语言模型基线模型和KAPIN评估指标实现细节 实验结果和分析结论 摘要 大型语言模型(LLM)能够执行 零样本cl…

CAN和CANFD通信介绍

CAN(Controller Area Network,控制器局域网)是一种串行通信技术,专门用于在汽车电子控制单元(ECU)之间实现可靠的数据交换。 CAN协议介绍 电子化 汽车近年来的发展呈现出以电子化为主的特点。电子化的主…

Lab 1: Unix utilities汇总

这个实验主要学习了常用的一些系统调用。 Lab 1: Unix utilities Boot xv6 (easy) git克隆,切换分支,qemu。根据要求进行操作即可。 $ git clone git://g.csail.mit.edu/xv6-labs-2020 $ cd xv6-labs-2020 $ git checkout util $ make qemusleep (ea…

数据中心供配电及能效管理系统的设计要点

摘要:现代的数据中心中都包括大量的计算机,对于这种场所的电力供应,都要求供电系统需要在所有的时间都有效,这就不同于一般建筑的供配电系统,它是一个交叉的系统,涉及到市电供电、防雷接地、防静电、UPS不间…

分类预测 | MATLAB实现KOA-CNN-BiGRU开普勒算法优化卷积双向门控循环单元数据分类预测

分类预测 | MATLAB实现KOA-CNN-BiGRU开普勒算法优化卷积双向门控循环单元数据分类预测 目录 分类预测 | MATLAB实现KOA-CNN-BiGRU开普勒算法优化卷积双向门控循环单元数据分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 1.MATLAB实现KOA-CNN-BiGRU开普勒算法优化…

Visual Studio 2022新建项目时没有ASP.NET项目

一、Visual Studio 2022新建项目时没有ASP.NET项目 1、打开VS开发工具,选择工具菜单,点击“获取工具和功能” 2、选择“ASP.NET和Web开发”和把其他项目模板(早期版本)勾选上安装即可

ICPC 2019-2020 North-Western Russia Regional Contest

A (codeforces.com) 这题在移动不被挡板挡住以及不超过边界的情况下,每次走的越多那么次数就越少 只要两个每次都走b-a步(已经是不被挡板挡住走的最多了),就不用考虑被挡板挡住的情况,只用单独考虑了,如果…

2023年陕西省安全员B证证考试题库及陕西省安全员B证试题解析

题库来源:安全生产模拟考试一点通公众号小程序 2023年陕西省安全员B证证考试题库及陕西省安全员B证试题解析是安全生产模拟考试一点通结合(安监局)特种作业人员操作证考试大纲和(质检局)特种设备作业人员上岗证考试大…

ArcGIS/GeoScene脚本:基于粒子群优化的支持向量机分类模型

参数输入 输出 栅格 预测为负类的概率 预测为正类的概率 二值化结果 评估结果 ROC曲线

kepler.gl 笔记:Layer

Point S2Layer Icon Line Cluster Polygon 一个路径型的GeoJSON图层可以显示诸如行程路线或等值线的数据。轮廓的颜色可以使用数值字段进行设置。 一个多边形型的GeoJSON图层本质上是一种区域填充图层,最适合用于呈现地理围栏。填充颜色或高度可以使用数值字…

LLVM(5)ORC实例分析

ORC实例总结 总结 因为API茫茫多,逻辑上的一些概念需要搞清,编码时会容易很多。JIT的运行实体使用LLVMOrcCreateLLJIT可以创建出来,逻辑上的JIT实例。JIT实例需要加入运行库(依赖库)和用户定义的context(…

设计模式 - 状态模式

目录 一. 前言 二. 实现 一. 前言 状态模式(State Pattern):它主要用来解决对象在多种状态转换时,需要对外输出不同的行为的问题。状态和行为是一一对应的,状态之间可以相互转换。当一个对象的内在状态改变时&#x…

点击、拖曳,15分钟搞定BI零售数据分析

早几年做数据分析还很依赖IT,过程复杂、耗时长、灵活性差,但这几年随着BI智能数据分析技术的成长,零售数据分析发生了翻天覆地的变化,其中最直观的一点就是:点击、拖曳,15分钟内就能搞定BI零售数据分析。 …

批量给每一段文字 段落加上符号

批量给每一段文字 段落加上符号 例如 要给下面的内容统一加上[xxxxxxxx] 查找替换–>查找内容 :输入前面统一的标识 替换为:–>特殊格式–>查找内容–>全部替换 先在前面加符号 在后面加符号: 最后效果: