无聊的时候,常去逛gitee.com或者github.com 上逛,我观察 码云上的企业应用,有很多是快速开发平台性质的项目,例如:JFinal、Gun、Jeesite,Springblade 等等,比较奇葩的是 JFinal,企业后台在Spring Boot一统江湖的今天,JFinal 也能一枝独秀,处处能看到其身影,无论是B2C的网上商城,还是微信小程序,还是其他企业应用,都能看到基于JFinal的应用,没用过,也不知道其奥秘在哪里。 这些快速开发平台往往侧重于Admin后台管理,例如,用户注册、角色、权限、菜单,一般是基于Spring Boot/Spring MVC+Hibernate/Mybatis+Spring Security/Shiro等组合,对于企业应用,都有一些自己的特色。不过,快速开发平台与低代码开发平台还是完全不同的两回事。
一、面向受众不同,即客户不同。快速开发平台的受众(客户)是程序员,程序员基于这些平台做二次开发,比如:用户权限等都是现成的,所以往往能有效提高项目的交付速度,能给程序员节省不少时间放在企业逻辑的梳理和开发上,但是核心还是源代码的开发。而低代码开发平台的受众是实施人员(不是程序员), 低代码开发平台的目标是任何需求都实施出来(理论上),而不是开发出来,国内比较典型的例如泛微,通过自己的实施平台,到处做20-30万项目,一个实施人员做一个月,今年拿到投资人钱的还有搭搭云等等,国内做类似平台的还有好几家,国外例如微软也投入到了这个市场上。对于Salesforce和SAP,其产品核心交付人员也是实施人员而不是程序员,当然, Salesforce和SAP实施人员的工资很高,甚至比程序员还高,达不到降低费用的目的,这是另外一个话题。
二、理念不同,快速开发平台的核心还是开发,总体思路是提供很多快速开发工具,适应客户需求的多变,是源代码级的交付。不过代码写的越多,即使是自动生成出来的,理论上Bug也不少,最大的问题,用户业务逻辑块复杂多变,无法自动生成。而实施平台交付的是产品和基于这个产品上搭建的模型,新开发的代码量是很少的,往往是模型驱动。
三、低代码平台的核心目标是快速交付,降低客户费用,使得客户能够快速看到原型,而快速开发平台的目标理论上也是差不多的这个目标,但是由于底层价值观完全不一样,所以实现方式上也完全不同, 快速开发平台由于还是程序员+开发模式,交付风险并不能有效降低。程序员对业务的理解不可能有实施人员理解的那么深入,虽然快速做出来了,但是很可能不是用户想要的。