探索低代码之路——JNPF

目录

一、低代码行业现状

二、产品分析

1.可视化应用开发

2.流程管理

3.整个平台源码合作

三、架构和技术

技术栈

四、规划和展望

低代码平台(Low-code Development Platform)是一种让开发者通过拖拽和配置,而非传统的手动编写大量代码来创建应用的开发平台。这种平台可以帮助开发者提高开发效率,降低开发门槛,减少开发成本。

一、低代码行业现状

目前国内外低代码或零代码产品不下百种,既有商业平台,也有开源项目。它们广泛应用于企业内部的运营后台、数据面板、办公系统等内部系统的开发,同时也为B端提供商品管理、广告投放、商铺搭建等企业服务,以及在C端用于活动页面、促销频道、广告频道等类型产品的搭建。这些低代码平台不仅为企业节省了大量的开发成本,带来了巨大的商业价值,同时也为用户提供了丰富多彩的软件产品。

尽管市场上存在许多低代码平台,但每个平台往往具有特定的业务属性,适用于不同的行业和公司。不同的行业和公司可能需要定制不同的组件和流程,因此市场上很少有能够适用于所有场景的通用平台,也很少有企业愿意去开发这样的通用平台。

为了解决这个问题,我们开发了JNPF,从 2014 开始研发低代码前端渲染,2018 年开始研发后端低代码数据模型,发布了JNPF开发平台

二、产品分析

JNPF低代码平台对于初级开发者是比较友好的,除了开发者手册可以解决90%以上的问题,如果遇到解决不了的,也有官方的交流群体,里面有大佬会解决这些。

页面搭建涵盖开发、预览、测试、发布、回滚、恢复等常用功能。在这些功能的基础上,增加了诸如"可视化拖拽"、"多用户协同开发"、"导入导出"、"多数据源"、"通知"等功能,形成了一个健全的开发体系。对于第三方集成,我们的构建成果可以通过将平台上的应用或页面无缝嵌入到现有的后台系统,或者将现有的后台页面嵌入到我们的平台上,实现灵活的组合使用。

1.可视化应用开发

传统后台开发过程中需要开发者自身搭建开发环境,引入前端组件库如Ant Design,相同的功能需要自己提取组件,开发效率低效。

JNPF低代码平台提供了可视化拖拽的面板,支持页面复杂布局。在页面绘制方面,通过将其拖入画板,调整位置布局,简单几步完成界面的设计,做到了所见即所得相同功能可以在画布中复制粘贴,应用本身也支持导入导出功能,方便项目复制。开发变得灵活高效,避免了一些基本构建所产生的bug,达到了降本增效的效果。

在组件的属性值设定方面,可以通过可视化的输入或者通过自定义JS代码的方式进行复杂的逻辑绑定,并且也支持编写js代码完成复杂的交互逻辑。平台内置了多种js库,可以将数据绑定到组件上,在开发状态下能立即看到数据渲染的效果,使得在预览状态下可以边开发边自测。

2.流程管理

业务流程指为了实现某项目,由多人合作,按照一定的规则、顺序进行的一系列活动。JNPF低代码平台实现了可视化流程配置,用户对触发条件、处理节点、节点参与者进行配置,实现自定义业务流程。

强大流程定义功能(节点审批、子流程、条件分支、选择分支、并分支、定时器等),业务逻辑简单好理解、业务流程梳理快捷明了,同时支持一表单多流程的设置。

封装大量具有中国特色的流程动作,满足审批需求,包括权限设置、会签、或签、重审、转审、催办、撤回、加签等审批动作。通过简单的配置,你可以实现自动化的任务分配、审批、通知等功能,提高工作效率。

3.整个平台源码合作

采用SpringBoot框架支持微服务分布式部署,高度重视与合作伙伴的共同发展,支持整个平台源码合作。这意味着你可以获得平台的完整源代码,进行二次开发,创造出独特的价值。

三、架构和技术

JNPF平台采用的是前后端分离架构。前端使用了Vue技术栈,适配Vue3,这是一种流行的前端JavaScript框架,用于构建用户界面。Vue.js具有轻量级、可扩展性强和生态系统丰富等特点,被广泛应用于构建单页面应用程序。

后端采用SpringBoot、springcloud模式,这是一种基于Java的开源框架,用于简化Spring应用的初始搭建以及开发过程。SpringBoot通过自动配置和约定大于配置的原则,简化了Spring应用的配置和开发。

技术栈

  • 统一接口管理:集成Swagger/Knife4j,可自动生成Api文档;
  • 数据库兼容:支持MySQL、SQLServer、Oracle、PostgreSQL等主流数据库,支持达梦、人大金仓等国产信创数据库;

四、规划和展望

目前,JNPF低代码平台已经具备了非常完整的功能,产生了较大的价值,但我们对于它的期望绝非只限于此,并且组建了稳定的支持团队,制定了明确规划,在之后的迭代开发中会不断地完善已有的功能和流程,而且会根据实际的需求和业内平台的调研继续增加更强大、便捷的功能。

应用体验地址:https://www.jnpfsoft.com/?csdn,你可以试试看!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

NTT 的各类优化:Harvey、PtNTT,Intel AVX2、ARM Neon、GPGPU

参考文献: [Har14] Harvey D. Faster arithmetic for number-theoretic transforms[J]. Journal of Symbolic Computation, 2014, 60: 113-119.[Sei18] Seiler G. Faster AVX2 optimized NTT multiplication for Ring-LWE lattice cryptography[J]. Cryptology ePr…

供应链 | “利刃出鞘”——顶刊POMS论文解读:制造商借助电子商务部门入侵

论文解读者:肖善,温梓曦,张怡雯,杨子豪 编者按: 解密品牌商在线电商平台:组织结构、策略选择、三方共赢 Manufacturer encroachment with an e‐commerce division 原文作者信息 Shi, S., Wang, C., Ch…

微信发红包,有哪些测试点

1、功能 1.在红包钱数,和红包个数的输入框中只能输入数字 2.红包里最多和最少可以输入的钱数 200 0.01 3.拼手气红包最多可以发多少个红包 100 3.1超过最大拼手气红包的个数是否有提醒 4.当红包钱数超过最大范围是不是有对应的提示 5.当发送的红包个数超过…

springboot开发更换Java版本要检查的所有地方

尤其是装了多个Java版本的小伙伴注意啦! 首先就是要检查自己的环境变量,把环境变量设置好,然后出来打开cmd输入java -version查看是否更换成功 把系统的Java版本更换好以后,紧接着检查一下的idea,maven的所有和Java有…

4G工业路由器智慧楼宇门禁无人值守、实时监控

门禁是我们日常生活中常见的基础设施,就像是现代社会智慧城市中的“门神”,在楼宇管理领域中普遍采用的安防卫士。4G工业路由器的物联网应用则为楼宇门禁管理带来了更加便捷和高效的解决方案。 在传统的楼宇门禁系统中,人员需要手动刷卡、输…

JavaScript包装类型

前端面试大全JavaScript包装类型 🌟经典真题 🌟包装类型 🌟真题解答 🌟总结 🌟经典真题 是否了解 JavaScript 中的包装类型? 🌟包装类型 在 ES 中,数据的分类分为基本数据类型…

YOLOv5改进之ShuffleNetV2

目录 一、原理 网络结构 二、代码 三、应用到YOLOv5 一、原理

3DMAX二维图片对象摆放插件安装使用方法

3DMAX二维图片对象摆放插件使用教程 3DMAX二维图片对象摆放插件自动对齐相机,可以有效地自动将简单的2D PNG图像添加到3dMax场景中。使用3DMAX二维图片对象摆放插件,你可以使用一次渲染来渲染具有正确阴影的快速预览和最终图像,而无需稍后合成…

对话式数据需求激增,景联文科技提供高质量多轮对话数据定制采集标注服务

大模型的快速发展使得数据服务需求激增,产品整体处于供不应求状态。对话式数据集成为当下需求热点,人们对于更复杂、更真实的多轮对话数据需求不断增加,定制化服务占据市场需求主流。 通过对多轮对话数据的训练,模型可以更好地理解…

Golang数据类型(字符串)

字符串重要概念 根据Go语言官方的定义: In Go, a string is in effect a read-only slice of bytes. 意思是Go中的字符串是一组只读的字节切片(slice of bytes),每个字符串都使用一个或多个字节表示(当字符为 ASCII 码…

【存储】blotdb的原理及实现(2)

【存储】etcd的存储是如何实现的(3)-blotdb 在etcd系列中,我们对作为etcd底层kv存储的boltdb进行了比较全面的介绍。但是还有两个点没有涉及。 第一点是boltdb如何和磁盘文件交互。 持久化存储和我们一般业务应用程序的最大区别就是其强依赖磁盘文件。一方面文件数…

【Java】NIO概述

本文主要介绍Java的IO。 这里主要按类的操作方式和操作对象对JavaIO进行分类,方便理解,后续使用时可以方便地查询。 一、操作方式分类 首先介绍几组概念: 字节流和字符流: 字节流:以字节为单位,每次次读…

【element-plus使用】el-select自定义样式、下拉框选项过长等问题解决

1、自定义样式 <template><el-select v-model"value" style"width: 150px"><el-option label"选项一" value"option1"></el-option><el-option label"选项二" value"option2"><…

Condition 源码解析

Condition 源码解析 文章目录 Condition 源码解析一、Condition二、Condition 源码解读2.1. lock.newCondition() 获取 Condition 对象2.2. condition.await() 阻塞过程2.3. condition.signal() 唤醒过程2.4. condition.await() 被唤醒后 三、总结 一、Condition 在并发情况下…

虚幻学习笔记7—蓝图接口

一、前言 蓝图接口就是可以在蓝图中实现的接口&#xff0c;有它方便的地方&#xff0c;可以很方便的调用到实现了接口的函数。 二、实现 2.1、创建一个蓝图接口 1&#xff09;可以添加多个函数。 2&#xff09;函数在蓝图接口中只能规定输入和输出参数。 只有输入参数的可以…

OSHI-操作系统和硬件信息库

文章目录 引言一、快速入门1.1 OSHI的简介1.2 引入依赖1.3 涉及的包&#xff08;package&#xff09;1.4 涉及的核心类 二、操作系统信息&#xff1a;OperatingSystem2.1 总揽2.2 文件系统信息&#xff1a;FileSystem2.3 网络参数信息&#xff1a;NetworkParams2.4 进程信息&am…

手势识别4:C/C++实现手部检测和手势识别(含源码下载)

手势识别4&#xff1a;C/C实现手部检测和手势识别(含源码下载) 目录 手势识别4&#xff1a;C/C实现手部检测和手势识别(含源码下载) 1. 前言 2. 手势识别模型&#xff08;YOLOv5&#xff09; &#xff08;1&#xff09;手势识别模型训练 &#xff08;2&#xff09;将Pyto…

家电产品扇叶零部件自动化三维检测设备高精度3D测量系统-CASAIM-IS(2ND)

一、背景介绍 某家电制造商希望对其生产的家电产品零部件进行高精度的3D测量&#xff0c;以确保零部件的尺寸精度和质量符合严格的标准&#xff0c;零部件的形状复杂且多样化&#xff0c;对于一些细节部位的测量精度要求极高。本文将介绍CASAIM-IS&#xff08;2ND&#xff09;…

【Seata源码学习 】篇五 注册分支事务

【Seata源码学习 】篇五 分支事务注册 1.远程服务调用绑定XID 回到事务模版方法类TransactionalTemplate中 beginTransaction(txInfo, tx);Object rs;try {// Do Your Business// 执行执行拦截器链路rs business.execute();} catch (Throwable ex) {// 3. The needed busine…

【java】图书管理系统

完整代码链接&#xff1a;https://gitee.com/zeng-xuehui/Java_repository/tree/master/test_11_27_1/src我们在写这个系统时&#xff0c;首先需要搭建框架&#xff0c;再实现业务逻辑&#xff1b;图书管理系统是用户通过各种功能对图书进行操作的一个系统&#xff1b;我们需要…