低代码框架选型注意事项

低代码框架这些年在企业软件行业可谓是烂大街的一个概念,网上一搜各种低代码框架琳琅满目,搜索引擎翻十页不带重样的。笔者在一个甲方公司的信息部搬砖,今年遇到过几次和软件供应商交流完产品和解决方案后,供应商强调他们是的底座是个低代码平台,后期运维开发很快,着实让人想不到。

趁着这个机会对低代码进行了一些搜索和了解。从设计理念来看,有表单驱动的、流程驱动的、数据模型驱动等等。从发售形式来看,有开源的、有商业的,开发方呢既有企业又有个人开发。看完吧 也是云里雾里的,所以就整理了下如何对低代码框架进行选型。

以下从商务层面、架构层面、能力层面、和扩展开发层面进行了简单分析,和大家进行交流探讨下。

一、商务层面

1、产品功能上看,同一个产品有的按专业版、旗舰版等进行划分,不同版本功能上不一样,费用也是不一样的,当然有部分产品只提供一个完整功能的版本。

2、从收费形式来看,有的按开发应用license来进行收费,这种单应用的费用大概在万元上下;有的按系统的用户数收费,这对于大公司来说费用其实不低;

3、从部署形式上,有的仅支持公有云部署或者绑定自家的云平台部署,这种都是超大公司推出的产品。当然大部分的低代码平台是支持私有化部署的。

二、架构层面

1、是否支持多应用?

那需要先定义下什么叫支持多应用,根据笔者的了解和认知(不一定合适),如果每新开一个应用就需要把框架部署一次,那这样的不能称之为支持多应用,最多算个快速开发框架而已。笔者从网上调研看到确实有不少比例是不支持多应用的,这种对于个人接个私活干个项目什么也没什么,如果本地化部署后规模化使用的话,还是得慎重考虑下运维和升级的一个成本。

2、是否支持多租户?

部分集团企业在采购一款工具后,会给分子单位的垂直部门进行使用,这种情况下如果有多租户功能就会很方面。我想这也会是大企业采购这个工具的一个评价指标吧。

4、是否支持多数据库?

对于多种类型数据库、多数据库的支持我看到的大部分的框架都能满足,但是有些产品呢如果想使用多种类型的数据库是需要额外收费的,不过少见。

5、是否支持按应用进行部署?

低代码平台的性能问题应该是技术团队在选型时一定会考虑的,做了那么多的封装对性能呢多少是有影响的,其次就是多应用开发的时候,个别应用数据量或者负载会比较大,是否会影响其他应用的使用,这是大家会比较关心的。如果一个应用开发完成后,后端服务、前端服务可以单独进行部署,应该会打消部分疑虑吧。同时单独部署和升级也能降低应用间的互相影响。

三、能力层面

大多标榜低代码平台的,都会讲到模型引擎、表单引擎、工作流引擎、页面引擎等等几大概念。这些方面我想还是见仁见智,大家基于各自诉求会有不同的评价,笔者不做详细展开说明。

这里只着重讲一点在表单引擎和页面引擎实现方式上的区别。调研了这么多家产品后,发下主要有以下两种实现方式。

方式一:代码生成器思路,通过后台的配置生成相关页面、controller、service、model等代码,然后通过修改来实现最终逻辑;

方式二:在前端实现了解析引擎,通过后台配置的数据进行动态的渲染。

这两种方式各有优缺点吧,大家可根据自身诉求进行选择。

四、技术栈和扩展开发层面

从开发应用来看,Java、Node、GO、C# 都有,从gitee搜索关键词低代码来看最多的应该是Java语言,前端使用vue框架较多。我想这也比较符合国内企业软件的情况吧,java是相对较多的。

从二次开发来看,有的提供的sdk,按照正常的项目开发即可,比较符合大家的日常开发;有的呢定制了很多不同功能的接口,通过实现这些接口来实现不同的功能,也是比较常见,很多CAD\CAE设计软件都是这种扩展形式;也有的提供源码直接进行修改。

我想没有最好的,应该只有最合适自己团队的,欢迎大家在低代码方面和我们一起交流和探索。