绕坑必看!专业低代码选型必知的12项关键能力(低代码平台选型)
我们在上一篇文章《为什么低代码和专业代码走向融合才能破解低代码困境?》中提出了专业低代码(Pro-LowCode)的概念,强调只有为专业开发人员和开发团队所设计的低代码开发平台才是专业低代码平台。
目前市面上充斥着大量的低代码平台,那么专业低代码平台与一般的低代码平台相比有哪些区别和关键能力?能够为企业数字化带来哪些方面的改变?目前业界专业低代码平台的发展现状如何?又如何分辨一款专业低代码平台的能力高低?我们请起步科技牛刀低代码平台架构组继续与大家一起深入剖析,也欢迎按文末所述方式加入微信群更详细讨论,以期共同探讨进步。
一、专业低代码的十二项关键能力
专业低代码之所以区别于一般低代码,核心是要解决低代码和专业代码的有机融合问题。在前文中我们提到在专业低代码开发平台中,低代码和专业代码之间的关系应该是:
(1)低代码和专业代码是有机融合的,专业代码也是模型的一部分,不是割裂的;
(2)低代码的模型是建立在专业代码之上的,模型编译输出的就是专业代码;
(3)在低代码设计过程中可以随时进行专业代码开发,而且是可逆可持续迭代的。
在此之上,从满足专业开发人员的需求,提高开发效率的角度出发,结合低代码和专业代码有机融合的相关思路,我们提出专业低代码开发平台应具备的十二项关键能力。这些关键能力从设计开发、部署运维、团队协作、企业应用要求等多方面提出具体的能力要求,一个低代码开发平台能满足得越多其在低代码与专业代码的融合程度越高,也就越接近于专业低代码平台的概念及要求,越能满足复杂企业级应用的需求。
1、低代码和专业代码有机融合:低代码和专业代码是一体的;低代码的模型必须建立在专业代码之上;模型设计输出的就是专业代码;在低代码可视化设计过程中,前后端随时都可以进行专业开发,而且是可逆可持续迭代的,不会因为采用了专业开发就失去了低代码开发的能力。
2、专业技术框架:专业低代码开发平台的前后端,必须采用业界主流技术框架,符合大中型企业开发团队的技术栈。后端Java Spring,前端React或Vue,这是当下企业应用的主流框架和事实标准。随着技术的发展演进,未来前后端主流语言和框架也可能改变,专业低代码也要能支持主流语言和框架的演进改变,保护企业在低代码平台上的投资和资产。
3、专业开发工具:专业低代码开发平台必须支持开发者可以使用专业的IDE开发工具。Eclipse、IDEA、VSCode这些工具是开发者手里的枪,你把枪给他没收了,你让他怎么打仗?另外,专业开发工具并不仅限于IDE工具,还包括构建工具(Maven)、测试工具(JMeter)、质量工具(SonarQube)等。
4、专业团队协作:支持专业团队协作工具,Git或Svn,支持版本管理和分支管理。而且不仅专业代码部分支持团队协作,更重要的是低代码模型本身也是支持团队协作工具的。这个能力同专业开发工具一样,对于专业开发团队来说,非常重要。我这里举个例子:我就想知道当前版本与前一个版本有哪些差异,这些差异可能是模型的也可能是代码的,如果没有Git或Svn这种工具几乎是不能实现的。
5、应用源码全部开放:支持输出应用的全部源码,包括模型背后生成的源码和所依赖的底层类库和组件源码,这样应用才是白盒的,应用里的每一行代码都可以调试跟踪。
6、支持组件开发扩展:组件是所有低代码开发的核心,专业低代码一方面要提供丰富的组件,另一方面必须提供完善的组件开发规范和开发工具,支持开发者自定义组件,同时要提供组件市场和组件的生命周期管理,组件发布、更新、升级和版本管理。让开发者可以通过组件封装进行代码高度复用,扩展低代码开发平台本身,真正发挥低代码快速开发的优势,持续积累,自主可控。
7、支持独立部署:基于专业低代码平台开发的应用,源码能够独立于低代码平台编译、构建和部署,可以完全独立于低代码平台运行。
8、DevOps:支持专业DevOps工具链,应用自动化构建、发布、部署、升级,开发、测试、生产多环境隔离,实现研发流水线全过程敏捷管理。
9、云原生架构:专业低代码开发平台应与新一代云原生架构相结合,支持环境自动化、测试自动化、部署自动化、升级自动化、资源调度自动化,从研发到运维,为企业客户提供全方位的平台解决方案。
10、企业级集成能力:数据集成、服务集成、流程集成、门户集成、组织集成、统一身份认证……
11、企业级应用安全:支持企业级应用和数据的高安全要求,满足等保定级的相关要求。
12、企业级应用性能:支持高并发场景,随着业务增长可弹性伸缩、横向扩展。
二、专业低代码的核心价值
企业对外面临着更大的竞争压力,对内面临着更加严峻的成本压力。数字化从“可选项”变成了企业竞争和社会生活的“必选项”,企业数字化进程正在按下“快进键”。提升体验与效率,进而通过模式创新实现新的增长,是企业数字化转型的初衷。专业低代码平台作为专业开发团队的生产力工具与企业数字化基座的一部分,其重要程度不言而喻,那专业低代码能带来哪些方面的改变?
1、提高生产效率
低代码工具通过可视化可以解决大部分场景的开发效率问题,但往往也是开发人员抵制的主要原因。对于专业开发人员来说有些逻辑可能只用几行代码就可以实现,但是低代码开发工具中需要进行繁琐的操作与配置。专业低代码平台有效实现低代码与专业代码有机融合,促进团队分工协作,即保留了低代码的高生产力和高效率,也保留了专业代码的高能力。为专业开发团队提供高效生产力工具,大幅提升应用软件的生产效率。
2、降低运维成本
随着企业数字化的不断发展,越来越繁多的系统与应用给运维管理工作带来了极大的压力。传统的IT系统架构中大部分需要运维管理人员进行手动发布、部署、维护。专业低代码平台采用云原生技术架构,依托于DevOps自动化运维管理,降低企业数字化运维成本。
3、企业业务创新
前面也着重提到提升体验与效率,进而通过模式创新实现新的增长,是企业数字化转型的初衷。但传统的开发模式已无法有效满足企业业务日益增加的需求。专业低代码与云原生技术完美结合,软件研发、测试、生产、运维全过程敏捷管理,敏捷响应业务需求,让数字化技术真正成为企业业务创新的技术驱动力。
4、可持续发展
IT企业在发展的过程中面临的一大问题就是可持续发展问题。主要是两个方面,一个是开发人员技术栈和技术水平的参差不齐导致研发管理困难,另一个是开发人员流动性大所带来的管理风险。专业低代码平台统一技术框架,统一开发工具,规范化研发管理,实现项目开发的自主可控,避免由于人员流动导致的项目风险,保障企业数字化可持续发展。
三、专业低代码的发展现状
2014年,全球权威咨询机构 Forrester 首次在报告中引入了低代码的概念。在2018年Gartner提出了应用平台即服务(application Platform as a Service,aPaaS)和集成平台即服务(integration Platform as a Service,iPaaS)的概念。最近Gartner在最新的报告中认为技术提供商仍然需要发展更深一层的工具,支持较为专业的开发者构建「定制化应用」,这也与我们提出的专业低代码的概念不谋而合。
1、国外发展现状
国外低代码整体方面发展比国内早,相关人员也更早的意识到低代码和专业代码融合的问题。目前主流的思想基本上都认为低代码平台需要专业代码的能力才能改更好的为开发者服务。像以下这些文章中就着重描述了低代码平台中拥有专业代码编写能力的重要性。
- 《Why a Low-Code Platform Should Have Pro-Code Capabilities》
- 《Low-Code vs Pro-Code: Why They are not Mutually Exclusive》
他们均有提到低代码开发平台需要提供面向专业开发者的低代码开发工具,支持JAVA、C#、JS等专业的开发语言,支持生成原生代码,支持独立于平台进行部署,基本上能够满足专业开发人员的相关需求。
2、国内发展现状
国内低代码整体方面发展较国外来说相对较晚,但近几年由于数字化进程的加快,目前整体水平也发展很快。像前面我们提到的阿里、华为、中兴包括其他的一些低代码平台厂商都逐渐意识到低代码在某些方面的困境与不足,纷纷都开展了相关低代码和专业代码融合的探索。
四、专业低代码的成熟度模型
我们作为低代码开发平台的专业厂商,结合客户需求、业界同业厂商和产品的对比和分析,从专业低代码开发的角度提出如下的《专业低代码的成熟度模型》。
专业低代码的成熟度模型每个等级间的能力是递增的,为了更直观的表达,将其归纳后得到如下的能力要求矩阵。从此可以看出模型的核心是围绕低代码与专业代码融合的程度进行等级划分的。
低代码成熟度等级能力要求矩阵
- Level 1:是对专业低代码开发平台的最基础要求,即可以提供面向企业应用的低代码开发能力和企业应用所必须的门户、组织、权限、工作流、报表、消息、集成等各种业务支撑能力,支持在低代码开发工具中可以通过模型规则、逻辑编排或脚本代码等方式进行复杂业务逻辑扩展。这个也是目前绝大多数低代码开发平台都可以满足的等级。
- Level 2:在Level 1之上增强了基于专业代码开发扩展的能力,支持不论是低代码编辑器还是专业代码编辑器所开发出的应用都可以进行统一构建、统一部署,并且能够支持专业DevOps工具链,实现全过程的自动化部署。
- Level 3:真正实现低代码和专业代码之间的有机融合。首先是工程融合,主要是指低代码输出的代码与专业代码输出的代码是同一个代码工程,相互之间可以进行互相调用和引用。其次是协作融合,一个团队中不论是低代码开发人员还是专业代码开发人员,最终都使用统一的代码协作工具,实现统一的应用版本管理和分支管理。
- Level 4:从工具层面实现低代码和专业代码开发环境的统一,即在统一的开发环境中同时提供低代码的可视化设计工具和专业代码的专业编程工具,实现低代码与专业代码在工具层面的有机融合,全方位支持团队中低代码开发人员和专业代码开发人员的统一协作开发。
- Level 5:在Level 4之上进一步完善和优化,提升产品化程度,让整个工具链更加简单易用,降低学习成本,实现企业应用软件研发效率的全面提升。
以上面的《专业低代码的成熟度模型》作为参照,我们认为国外多数专业低代码厂商处在成熟度模型的Level 2和3,少量的达到Level 4。在这方面做的比较好的是Outsystems、Mendix等厂商。他们都有提供面向专业开发者的专业开发工具,支持JAVA、C#、JS等专业的开发语言,并且都支持生成原生代码,能够独立于平台进行部署。
国内大部分的低代码厂商目前处在Level 1 或 Level 2,但是也都有向低代码与专业代码融合的方向迈进。部分厂家走的比较深入一些,像中兴就已经做到了低代码向专业代码的单项转换,达到了成熟度模型的Level 3。
北京起步科技深耕于低代码领域多年,其最新一代产品牛刀专业低代码平台目前已真正实现低代码与专业代码的有机融合,并且从工具层面实现了低代码可视化设计和专业代码开发环境的双向切换,支持低代码开发人员和专业开发人员统一协作开发,初步达到了Level 4。后续的系列文章中我们将继续介绍我们在实现低代码与专业代码的有机融合方面的技术实践。
为了更好地交流专业低代码方面的内容,我们建立了相关的微信群,群内可以讨论专业低代码相关的内容,我们会不定期分享专业低代码领域的相关内容,期待您的加入,可私信我们的官方账号牛刀专业低代码,私信回复专业低代码即可入群,或浏览起步科技官方网站也有入群二维码。
牛刀专业低代码系列文章
参考文章
- 《Why a Low-Code Platform Should Have Pro-Code Capabilities》
- 《Low-Code vs Pro-Code: Why They are not Mutually Exclusive》
- 《中国低代码应用平台竞争格局》报告(《Competitive Landscape: Enterprise Low-Code Application Platforms in China》)