写点什么

可拓展的低代码全栈框架

  • 2023-10-09
    福建
  • 本文字数:2570 字

    阅读完需:约 8 分钟

可拓展的低代码全栈框架

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


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


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


因此,我们开始开发 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/?infoq


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


  • 可视化开发环境:平台提供可视化开发环境,允许用户使用拖放工具和代码的可视化表示形式(如流程图、图表和表单)创建应用程序。这使得开发过程更加直观和易于访问

  • 预构建的组件和模板:这些平台带有各种预构建的组件和模板,可以快速集成到新的应用程序中。这不仅加快了开发过程,还确保了使用久经考验的组件,最大限度地减少了潜在的问题和漏洞

  • 集成的开发和测试工具:平台通常包括内置的开发和测试工具,使开发人员能够以简化的方式轻松构建、测试和部署应用程序。这种集成有助于协作,减少错误,并确保整个应用程序生命周期的质量一致

  • 跨平台兼容性:许多平台支持开发可跨多个平台(如 Web、移动和桌面)运行的应用程序。此功能允许开发人员创建一次应用程序,并让它们在各种设备上工作,而无需额外的自定义或开发工作

  • 可伸缩性和可扩展性:解决方案通常提供内置的可伸缩性和可扩展性功能,使应用程序能够增长并适应不断变化的业务需求。这包括添加自定义功能或与其他系统集成的能力,使平台成为软件开发的多功能和面向未来的选择

发布于: 刚刚阅读数: 3
用户头像

IT领域从业者 分享见解 2023-06-19 加入

还未添加个人简介

评论

发布
暂无评论
可拓展的低代码全栈框架_软件开发_树上有只程序猿_InfoQ写作社区