**本人博客网站 **IT小神 www.itxiaoshen.com
低代码理论
概念
低代码开发基于可视化和模型驱动的概念,结合了云原生和多终端体验技术,它可以在大多数业务场景中,帮助企业显著的提升效率,还能进一步降低企业开发成本,也就是我们所说的“降本增效”,为专业开发者提供了一种全新的高生产力开发方式;从某种意义上说,低代码可以弥补日益扩大的专业技术人才缺口,同时也可以促进企业与技术之间深度协作的最终敏捷形式。
Low Code低代码/零代码就是“追求少的代码量,完成最多的开发工作”,不管是开发代码的工具还是代码本身都在追求“低/零代码”的,旨在通过少量的手动编码和少量的前期投入如设置、用户培训、部署平台。
传统开发问题
- 为什么新一代系统上线就过时了?
- 业务部门如何不依赖IT来解决业务问题?
- 中小企业如何低成本开发试错?
低代码目的
- 提效降本
- 质量保障
- 扩大应用开发劳动力
低代码核心功能
- 易用性-无代码应用开发,全栈可视化编程
- 全生命周期管理
- 应用用户体验
- 数据建模和管理
- 流程和业务逻辑
- 平台生态
- 接口和集成
- 架构
- 服务质量
- 用户模型与软件开发全生命周期管理
- 治理
- 安全与合规
概述
- 低代码开发平台(LCDP)本身也是一种软件,能让不懂代码的人通过是使用图形向导来“拖拉拽、参数配置等更高效的方式来创建和构建软件的应用程序开发平台;
- 低代码开发平台一般都是面向细分领域开发,目前低代码也有根据企业实际需要解决的问题,梳理行业的逻辑,以PaaS(Platform-as-a-Service平台即服务)输出半成品,使得企业可以在PaaS基础上完成剩下的工作,从而搭建属于自己的系统或者SaaS平台;
- 低代码平台常用体现在表单定制、流程引擎、仪表盘管理、团队协作、安全防护,以及针对扩展可用性和灵活性权衡
- 企业级低代码开发平台、 BPM(Business Process Management,业务流程管理)、在线数据库管理软件
发展历程
低代码发展路径为开发框架复用-开发组件复用-开发模型复用,分别对应经历为萌芽期-探索期-整合期
PaaS平台
-
与SaaS的火热、IaaS的成熟相比,大众对于PaaS的关注度相对较低。其实作为云计算中的“中坚力量”,PaaS不仅拥有强大的计算、存储能力,而且在降本增效、数字化转型上发挥着重要的作用。
-
随着云计算的成熟发展,数字化转型和应用场景创新进行深化阶段,扮演低门槛、高生产力角色的PaaS日趋重要。与SaaS和IaaS有所不同的是,PaaS面向的是应用的核心平台,效能和控制是PaaS的两种能力特征,在提高开发效率、提升开发质量把控方面发挥着越来越显著的作用。
-
涵盖了低代码、流程、集成、移动、业务规则在内的PaaS平台,不仅能够支持公有云、私有云、本地安装等不同的部署方式,还能够满足企业在不同发展进程中的数字化需求。如今,PaaS价值从开发平台(aPaaS)向集成平台(iPaaS)延伸,释放出更广阔的的商业潜力,一些厂商在PaaS层的建设持续加快,相继推出自己的PaaS平台
常见低代码平台
- 国外
- Mendix:美国原生代低代码开发厂商,低代码开发平台的全球领导者之一 ;官网地址 https://www.mendix.com
- OutSystems:是低代码市场的长期领导者,也是Mendix的主要竞争对手; 官网地址:https://www.outsystems.com
- Salesforce:是通用云托管低代码应用程序开发平台的最大供应商之一; 官网地址:https://www.salesforce.com
- Appian:是为需要快速开发的程序员而设计的,该平台主要用于关键业务系统。专业开发者采用低代码以便对业务需求做出更快速的反应
- 国内
- 叮叮宜搭:阿里钉钉出品的云钉低代码应用构建平台,于2019年3月上线,通过简单的拖拽、配置,即可完成业务应用的搭建。旨在为广大中小企业提供一套低成本的企业应用搭建解决方案。官网地址 https://www.aliwork.com
- 腾讯云微搭:腾讯云旗下低代码产品,腾讯云微搭低代码将繁琐的底层架构和基础设施抽象化为图形界面,通过行业化模板、拖放式组件和可视化配置快速构建多端应用(小程序、H5应用、Web 应用等),免去了代码编写工作。官网地址 https://cloud.tencent.com/product/weda
- ClickPaaS:目前主要包括aPaaS、iPaaS和hPaaS三大类。基于元数据驱动的云原生的PaaS平台,具有简便、快速、低成本、安全的显著特点,开放的接口能与其他系统对接,发掘出更敏捷的业务能力,帮助企业快速建立数字化能力,实现聚焦技术、赋能伙伴、共生共赢. 。 官网地址 https://www.clickpaas.com
- 简道云:帆软软件有限公司旗下低代码开发平台,是一个零代码轻量级应用搭建平台,可以帮助各行业人员在不使用代码的情况下搭建个性化的CRM、ERP、OA、项目管理、进销存等系统。官网地址 https://www.jiandaoyun.com
- 奥哲云枢:帮助企业构建通用应用、定制应用等在内的各种应用。基于领域模型设计和驱动,能够使应用开发效率提升6倍,运用模型驱动流程,使得98%的流程场景可以通过零代码的方式配置实现。此外,云枢低代码开发平台,还能持续积累可复用的业务资产,支持多开发团队,应用开发和部署分离,是助力企业数字化转型的引擎,此外奥哲还有一个产品是氚云。 官网地址 https://ldpage.cloudpivot.authine.com/
- 此外还有牛刀、华炎魔方、应用魔方、轻流、 IVX、百度爱速搭、APICloud、北森等众多的低代码开发平台
低代码现状分析
根据平台使用对象,低代码产品大体分为两个大的发展方向:针对IT人员的开发工具型、针对业务人员的业务复用型
业务复用型
根据产品形态常见的有:应用开发平台、智能表格、SaaS聚合
-
应用开发平台:代表产品:宜搭、简道云、明道云等
- 宜搭:目标是为中小企业降低企业应用搭建成本。作为钉钉生态产品提供大量行业标准的应用模板,例如:CRM、财务管理、日常信息收集等,业务人员可以直接发布到自己的钉钉工作台快速投产;
-
智能表格:代表产品:维格表、Treelab、轻流等
- 维格表:定位与主要产品目标与上面一条赛道基本相同,主要针对内部协作、项目管理信息收集一类的基础企业管理场景。而在产品形态上略有不同,这类智能表格型产品,延续了Excel经典的功能及交互逻辑,只要你用过Office里的Excel,这类产品上手就没有什么门槛
-
SaaS聚合:代表产品:Odoo、OpenERP
- CRM、ERP领域的SaaS起家,在海外市场风靡一时。Odoo瞄准的是应用级的开箱即用,依托于多年的SaaS交付和生态社区发展,Odoo积累了一大批围绕企业管理场景的SaaS应用。
开发工具型
这类低代码产品的主要目标就是作为一个编码开发工具,提升IT人员开发效率。不同于业务复用型产品瞄准通用化需求,开发工具型产品对垂直领域的深度要求更高,顺应现在技术发展,也就分为了前端提效、后端提效,但都围绕一个核心,帮助开发人员减少重复、通用代码的编码工作,让开发人员更专注与业务逻辑代码的开发。
-
IDE+DevOps:代表产品:Mendix、AppCube、iVX
- iVX官方给出的定义是“0代码开发语言”,目标用户是开发人员。iVX提供了一套完整的DevOps解决方案:通过iVX的在线IDE可以完成前端页面的可视化构建,iVX提供了常用的前端组件如按钮、图片、输入框等;也可以完成后端应用逻辑的编排,通过将逻辑代码模块化,定义了循环、动作、条件、回调等事件模块,通过可视化“拼装”+配置的方式完成传统意义上的逻辑代码编码;iVX直接打包了底层的IaaS资源,用户可以按需直接部署上线。通过iVX相对封闭的一套技术体系,用户可以通过可视化方式完成前端、后端代码编码、上线部署的完成软件生命周期
-
DSL开发框架:代表产品:Uni-app、双链AI软件云引擎等
- Uni-app: 是DCloud一个基于Vue封装的前端开发框架,可以达到一次编码,多端适配。用户只需要编写一套预定的标记语言,框架即可生成可以适配各个用户端的前端代码,是一个典型的DSL产品
-
组件代码库:代表产品:BrickNext、Vant、ICE等
- 优维科技旗下低代码开发工具,提供超过300个前端组件库,只需要配置yaml文件即可完成前端搭建。不同于element这类的开源前端组件,BrickNext基于前端原生开发方式,可以提供原子级的自定义能力,同时相较于element的通用型前端组件,BrickNext同时提供优维多年交付积累下来的业务前端组件
打法
- 产品矩阵,完善生态,宜搭出现在阿里钉钉生态中就是类似
- IaaS引流,PaaS只是提供了一个聚合解决方案,低代码平台代表了真正的Serverless服务应用解决方案
- 整套解决方案,对于中型企业而言,一套成熟完成的DevOps方案,远比一个独立的工具更有价值
- SaaS交付工具,SaaS企业进行低代码尝试的初衷非常简单,就是提高SaaS交付效率,降低SaaS项目交付的边际成本,奥哲、致远互联、双联科技旗下的低代码都是这个方向的产品
- 领域技术工具,通过程序员熟悉的方式,解决他们特定领域的技术问题,比如Uni-app通过DSL解决一套代码多端编译
- 业态革命,有段时间流行,“所有行业都值得被重做一遍”这样的讲法,云原生时代,所有的产品也有可能被重做一遍。前文提到的智能表格赛道乍一看就是重构了Excel,但云原生的智能表格天然带有团队协作、数据协同、社区共享的属性,更灵活的交互可以让一切回到数据的本质
低代码机会
- 低代码就是未来的办公软件
- 市场规模巨大,143亿元人民币,这是艾瑞咨询2025年低代码产品在中国的市场规模,有人觉得这个数字已经非常理想了,但国际市场对于低代码的发展前景则更加乐观
- 开发工具型的机会在于“不改变”和“不重复”,目标为IT团队的产品,要做到不改变开发者原有工作流及相应规范
-
业务复用是低代码更广阔的机会,办公软件化是终极目标
- 首先,IT的本质就是业务驱动
- 其次,相关技术前提已经具备
- 最后,市场数智化转型的良好契机,低代码取代SaaS
- 低代码的趋势将是办公软件化。技术上向用户屏蔽更多的技术细节,做到无代码、免运维。交互上具象化,通过用户熟悉的点按、拖拽完成具象场景的构建,直达实际需求。模型上业务化,向用户屏蔽抽象的对象转化,自动完成业务模型构建,打造完整应用。
低代码选型
-
是否支持协同开发和版本管理
- 项目开发过程中,我们难免遇到客户反馈某个新开发的功能没有用,但是过一段时间以后反悔,又希望加回来的情况。这是软件开发的常态
-
是否支持自由设计数据库结构?
- 数据库是所有企业管理软件的“地基”。为了后续功能的开发更加方便,扩展性更强,维护性更佳,良好的数据库设计至关重要
-
能否灵活自由地设计显示页面?
- 不同的企业、不同的用户都的使用习惯和审美风格具有差异化;举例来说,客户A比较喜欢在页面的右上角寻找提交按钮;客户B可能习惯于提交按钮出现在页面的正下方
-
能否支持前后端分离的系统架构,后端复杂逻辑如何解决?
- 如何用低代码实现后端复杂的业务逻辑,持续积累“核心数字资产”,是低代码平台必须解决的问题
-
是否有全系统模块的解决方案?
- 比如多终端页面、可精确打印的报表、图表构成的可视化大屏、自动化任务
-
如何保证开发出应用的系统安全性?
- 安全性对任何一个系统都至关重要,使用低代码平台所开发出的应用中,绝大多数逻辑都是低代码开发者自行构建的,而不是出自低代码平台厂商
-
平台是否独立,能够不依赖其他第三方的产品?
- 比如有的低代码产品说自己是B/S架构,但是你必须安装他们特定的浏览器才能访问
-
是否会产生新的“数据孤岛”?
- 不论是连接现有的数据库,还是支持通过Web API与其他软件互通,低代码都必须具有开放性,不能产生新的数据库孤岛
低代码平台细分领域
HR细分领域
“一体化×低代码”引领HR数字化转型,在过去20年间,人力资源软件面临着云计算和人才管理的双重冲击,逐渐演变出了独立的安装版eHR软件、独立的招聘系统软件、独立的e-Learning软件、独立的人才测评软件等四分五裂的市场格局。员工的数据在各个割裂的系统中无法统一分析,企业面临巨大的业务挑战。同时,中国企业人力资源管理模式、流程和具体业务千差万别,中大型企业对于定制开发的需求旺盛。
北森HR业务属性的低代码PaaS平台
-
北森从以上痛点切入,打造了业界第一个HR业务属性的低代码PaaS平台,在此平台上不断推出HR相关模块的SaaS软件,最终形成了包含招聘云、人事云、薪酬-云、假勤云、绩效云、学习云等9朵云、近20个模块在内的一体化HRSaaS套件,同时依托PaaS平台为大中型客户提供灵活的定制开发和自主开发服务。“一体化意味着HR软件和数据不再割裂,低代码平台意味着可灵活定制,这直接切入了中国企业人力资源数字化管理的核心痛点。”
-
北森凭借“一体化×低代码”的独特价值定位和领先优势,根据IDC的研究数据显示:从2016年起,北森正式超越传统国际软件大厂,成为中国HRSaaS市场领头羊,至今已连续五年位列该市场第一。
-
多元化方案弥补个性化问题,2020年,北森正式对外推出一体化HRSaaS及人才管理平台iTalentX,重点推出了PeopleAnalytics(PA)解决方案。“针对数据割裂,我们原本的设想是通过HRSaaS在功能、场景上实现一体化覆盖后,通过北森的数据分析平台,人力资源数据割裂的问题就可以得到解决了
-
将人力资源软件融入到互联网时代,北森提出了NatureDesign3.0设计理念,把“高效、愉悦、温暖”融入到新一代HRSaaS产品的设计中。
-
“一体化+低代码PaaS平台+员工体验优先”是北森看好的未来十年,人力资源数字化的发展趋势。纪伟国说:“我们一直以‘科技成就人才,帮助中国企业拥有世界领先的人才管理能力’为使命,希望把科技应用到人力资源的业务场景中,提升中国企业人力资源的管理效率,为人力资源数字化转型赋能。”
简介
GitHub源码地址 https://github.com/hejiehui/xross-tools-installer
国内低代码平台从业者交流GitHub地址 https://github.com/jiangtao/awesome-lowcode
xross-tools-installer将安装X-Series工具集并提供极大组件功能。
X-Series是一套轻量级的框架。包含好几个工具,各自解决不同场景的共性问题。每个工具都拥有基于Eclipse的图形化编辑器和基于标准maven依赖的运行时引擎。他们具有以下特点:
- 易于使用。基于图形化界面,操作直观,容易理解
- 易于集成。基于maven依赖,可以直接引入到项目
- 易于测试。相关组件的接口经过精心设计,基本上都是函数式接口。组件之间的交互清晰,方便单元测试。部分工具可以直接生成单元测试代码
- 最合适的。所有的功能都经过精心挑选,没有一丝多余的功能。尽可能做到专注和精简。
X-Series试图解决大规模软件开发难题,包括:
- 沟通。如何准确有效的描述系统的静态和动态
- 文档。如何保障文档始终反应系统最新的状态
- 学习曲线。新手如何快速理解系统
X-Series能够达到的效果:
- 降低开发成本。减少90%的系统设计开发工作;分离模型与代码,大幅降低系统复杂度和维护成本
- 提高开发效率。组件化设计,流水线式开发;与开发环境高度集成
- 保障软件质量。把高内聚,低耦合落到实处
xUnit
Xross unit可以用来:
- 开发和具体服务无关的通用处理流程,比如接收到请求后的通用处理,例如,平台特定请求到领域模型的映射,用户身份认证,处理转发,统一输出处理等
- 组织系统顶层服务。在处理转发下层,按照业务需求创建的多个具体业务处理。
具体模型即可用放在同一个文件;也可以分开放置,如果放在一起整体显得太大的话
Xross Decision
Xross Decision是商业智能领域常用的决策工具
利用树形模型表达复杂的决策制定过程。
相对于传统的if/else的多层嵌套结构,xdecision可以用非常小的屏幕空间有效的描述复杂的逻辑判断,同时保持最优的可理解性
在决策因子定义没有变化的情况下,通过修改决策树模型,可以很方便快捷的修改系统决策行为,无需做代码的任何改动。无论是开发还是维护都完胜代码方式
xState
Xross State是状态机编辑器。用于对状态的变迁与控制建模。
注意如果希望实现为工作流建模,请使用xstate,而不是xunit。因为:
- xunit的图比较严格。扇出节点和扇入节点都是严格对应的。工作流一般比较随意,从任意节点可以连接任意的其他节点。
- 工作流接收到一个请求后,会推动模型从当前状态/任务节点走到下个状态/任务节点。xunit是一个请求走完特定路径上的所有节点。两者用法差别很大用法
xeda
基于actor模型的微服务框架,目前还在开发中
JEECG BOOT 低代码开发平台概述
JeecgBoot 是一款基于代码生成器的
低代码平台
!前后端分离架构 SpringBoot2.x,SpringCloud,Ant Design&Vue,Mybatis-plus,Shiro,JWT,支持微服务。强大的代码生成器让前后端代码一键生成,实现低代码开发! JeecgBoot 引领新的低代码开发模式(OnlineCoding-> 代码生成器-> 手工MERGE), 帮助解决Java项目70%的重复工作,让开发更多关注业务。既能快速提高效率,节省研发成本,同时又不失灵活性!JeecgBoot 提供了一系列
低代码模块
,实现在线开发真正的零代码
:Online表单开发、Online报表、报表配置能力、在线图表设计、大屏设计、移动配置能力、表单设计器、在线设计流程、流程自动化配置、插件能力(可插拔)等等!
JEECG宗旨是:
简单功能由OnlineCoding配置实现,做到零代码开发
;复杂功能由代码生成器生成进行手工Merge 实现低代码开发
,既保证了智能
又兼顾灵活
;实现了低代码开发的同时又支持灵活编码,解决了当前低代码产品普遍不灵活的弊端!
JEECG业务流程:
采用工作流来实现、扩展出任务接口,供开发编写业务逻辑,表单提供多种解决方案: 表单设计器、online配置表单、编码表单。同时实现了流程与表单的分离设计(松耦合)、并支持任务节点灵活配置,既保证了公司流程的保密性,又减少了开发人员的工作量。
适用项目
Jeecg-Boot低代码开发平台,可以应用在任何J2EE项目的开发中,尤其适合SAAS项目、企业信息管理系统(MIS)、内部办公系统(OA)、企业资源计划系统(ERP)、客户关系管理系统(CRM)等,其半智能手工Merge的开发方式,可以显著提高开发效率70%以上,极大降低开发成本。
前端安装
项目下载和运行
拉取项目代码
git clone https://github.com/zhangdaiscott/jeecg-boot.git
cd jeecg-boot/ant-design-jeecg-vue
安装node.js
切换到ant-design-jeecg-vue文件夹下
# 安装yarn
npm install -g yarn
# 下载依赖
yarn install
# 启动
yarn run serve
# 编译项目
yarn run build
# Lints and fixes files
yarn run lint
docker镜像用法
需要先安装jdk和maven
注意: 如果本地安装了mysql和redis,启动容器前先停掉本地服务,不然会端口冲突。
net stop redis
net stop mysql
# 1.修改项目配置文件 application.yml
active: docker
# 2.先进JAVA项目根路径 maven打包
mvn clean package
# 3.构建镜像__容器组(当你改变本地代码,也可重新构建镜像)
docker-compose build
# 4.配置host
# jeecgboot
127.0.0.1 jeecg-boot-redis
127.0.0.1 jeecg-boot-mysql
127.0.0.1 jeecg-boot-system
# 5.启动镜像__容器组(也可取代运行中的镜像)
docker-compose up -d
# 6.访问后台项目(注意要开启swagger)
http://localhost:8080/jeecg-boot/doc.html
简搭(jabdp)
概述
Gitee源码地址 https://gitee.com/jabdp/jabdp
简搭(jabdp)低代码平台,是杭州企云信息科技有限公司自主研发的一款引擎模式的web快速开发平台,采用新颖的在线开发部署模式,配置式,低代码,使开发变得更加简单、纯粹,提高了开发的效率。
- ae是基于activiti explorer的流程设计器。
- jabdp-designer是表单、业务设计器。
- jabdp-jwp是业务模型的数据结构。
- jabdp-platform是应用端。
部署
新建mysql数据库,将jabdp-designer工程的resource/mysql目录的schema.sql导入mysql中,修改好application.properties文件里的mysql数据库连接参数
新建mysql数据库,将jabdp-platform工程的resource/sql/mysql目录的四个sql文件按照序号依次导入mysql中,修改好application.properties文件里的mysql数据库连接参数,也可以部署tomcat加压站点后再改配置
执行编译打包
//部署jabdp-jwp到本地repository;
maven install
//打包jabdp-designer为iDesigner.war
maven package
//打包jabdp-platform为iPlatform.war
maven package
将sevenzipjbinding-9.20-2.00beta.jar和sevenzipjbinding-all-platforms-9.20-2.00beta.jar(从maven中央仓库下载)复制到tomcat/lib目录下;
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VDM24PwF-1631023397663)(image-20210907150753815.png)]
将ae、iDesigner.war、iPlatform.war部署到tomcat8.0下webapps目录,启动tomcat即可
测试三个网站的访问,设计器地址 :http://127.0.0.1:8080/iDesigner/design/index ,登陆账号默认为admin,默认密码为jabdp
应用的地址:http://127.0.0.1:8080/iPlatform-1.2.0/login-v2.action ,超级管理员账号为admin,默认密码为123456,登录时提示密码过于简单重新修改
在设计器中创建套账和模块
更新服务器
其他资料可以查找官网提供的