探索低代码之路——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/?csdnxx,你可以试试看!

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

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

相关文章

外包干了8个月,技术退步明显.......

先说一下自己的情况,大专生,18年通过校招进入武汉某软件公司,干了接近4年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落! 而我已经在一个企业干了四年的功能测…

java单人聊天

服务端 package 单人聊天;import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import…

Ubuntu22.04 使用Docker部署Neo4j出错 Exited(70)

项目场景: 最近需要使用Neo4j图数据库,因此打算使用docker部署 环境使用WSL Ubuntu22.04 问题描述 拉下最新Neo4j镜像,执行命令部署 启动容器脚本 docker run -d -p 7474:7474 -p 7687:7687 \ --name neo4j \ --env "NEO4J_AUTHneo…

洗鞋机行业分析:2023年市场发展前景及消费现状

随着消费主力的转移,年轻群体在消费中的话语权和影响力越来越大,“精致懒”正在成为潮流。洗鞋机作为消费升级时代的产物,自诞生以来,经过十几年的发展,逐渐被年轻消费者熟知,洗鞋机品牌阵营和产品种类也变…

任课老师和班主任的区别

任课老师和班主任都是学校中非常重要的角色,他们的工作性质和职责略有不同。作为一位老师,我来说说任课老师和班主任的区别。 任课老师的主要职责是教授学科知识,并负责解答学生在学习过程中遇到的问题。他们的工作涉及到备课、讲课、布置作业…

Qt之基于QMediaPlayer的音视频播放器(支持常见音视频格式)

Qt自带了一个Media Player的例子,如下图所示: 但是运行这个例子机会发现,连最基本的MP4格式视频都播放不了。因为QMediaPlayer是个壳(也可以叫框架),依赖本地解码器,视频这块默认基本上就播放个MP4,甚至连MP4都不能播放,如果要支持其他格式需要下载k-lite或者LAVFilte…

Java 并发编程面试题——Java 线程间通信方式

目录 1.✨Java 线程间有哪些通信方式?1.1.volatile 和 synchronized 关键字1.2.等待/通知机制1.2.1.概述1.2.2.经典范式 1.3.管道输入/输出流1.4.信号量 2.Thread.join() 有什么作用?它的使用场景是什么?3.Java 中需要主线程等待子线程执行完…

mac M系列芯片安装chatGLM3-6b模型

1 环境安装 1.1 mac安装conda. 下载miniconda,并安装 curl -O https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-arm64.sh sh Miniconda3-latest-MacOSX-arm64.sh1.2 创建虚拟环境并激活 创建名为chatglm3的虚拟环境,python版本为3.10…

js vue 输入正确手机号/邮箱后,激活“发送验证码”按钮

按钮禁止点击状态: 按钮能够点击状态: 我采用的方式是监听手机号/邮箱输入框的输入事件,即实判断用户输入的数据是否满足规则,如果满足手机号/邮箱规则,则激活“获取验证码”按钮。 话不多说,上代码 样式…

IMR TBR TBDR

IMR Immediate Mode Rendering(即时渲染),是 PC 和主机 GPU 使用的渲染方式 IMR下的渲染示意图 每次渲染,都要读写Frame Buffer和Depth Buffer IMR优化 IMR需要大量的带宽和功耗,优化方式是L1、L2 Cache大缓存,不适用于移动G…

贪心算法及相关题目

贪心算法概念 贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,算法得到的是在某种意义上的局部最优解 。 贪心算法性质(判断是否可以使用贪心算法) 1、贪…

微信小程序中生命周期钩子函数

微信小程序 App 的生命周期钩子函数有以下 7 个: onLaunch(options):当小程序初始化完成时,会触发 onLaunch(全局只触发一次)。onShow(options):当小程序启动或从后台进入前台显示时,会触发 on…

JenKins快速安装与使用,Gitlab自动触发Jenkins

一、JenKins 0.准备,配置好环境 1)Git(yum安装) 2)JDK(自行下载) 3)Jenkins(自行下载) 1.下载安装包 进官网,点Download下方即可下载。要下…

工业机器视觉megauging(向光有光)使用说明书(三,轻量级的visionpro)

下来我们说说第二个相机的添加: 第一步,点击相机二,如下: 第二步,点击:加载工具组.xml,加载toolgroupxml2目录下的:工具组.xml 注意,一个相机只能用一个toolgroupxml,第…

mockito加junit实现单元测试笔记

目录 一、简介1.1 单元测试的特点1.2 mock类框架使用场景1.3 常用mock类框架1.3.1 mockito1.3.2 easymock1.3.3 powermock1.3.4 JMockit 二、mockito的单独使用2.1 mock对象与spy对象2.2 初始化mock/spy对象的方式初始化mock/spy对象第1种方式初始化mock/spy对象第2种方式初始化…

2023下半年软考架构师-心态崩了

2023.11.06 考试心得:上午综合知识,面广,但考的不深,主要都是理论性的,计算题不多,只要平时准备一下,有30题可以不会,过的概率还是很大的。下午的案例,这个就会有深度了…

C++新经典模板与泛型编程:SFINAE替换失败并不是一个错误

替换失败并不是一个错误(SFINAE) SFINAE是一个英文简称,全称为Substitution Failure is not an Error,翻译成中文就是“替换失败并不是一个错误”。 SFINAE可以看作C语言的一种特性或模板设计中要遵循的一个重要原则,…

变电站工程师软件工具:Omicron IEDScout Crack

变电站工程师打软件 IEDScout 5.2.0 帮助您确保发电、输电和配电作业的安全可靠,IEDScout 是专为操作 IEC 61850 装置的保护和变电站自动化工程师打造的一款理想软件工具。它可以控制 IED(智能电子设备),并于使用过程中执行多种实…

从零开始,利用ChatGPT学会写作的完整指南

文章目录 前言了解ChatGPT访问OpenAI平台使用ChatGPT进行简单的对话定义写作主题逐步生成文章段落添加个性化和细节编辑和润色反复修改直至满意 图书推荐内容简介作者简介获取方式 前言 在数字时代,人工智能技术日益成熟,为我们提供了全新的学习和创作机…

软件测试外包干了2个月,技术进步2年。。。

先说一下自己的情况,本科生,18年通过校招进入北京某软件公司,干了接近2年的功能测试,今年国庆,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了2年的功能测试&…