低代码开发平台(Low-Code Development Platform,LCDP)是低代码开发所需的环境。大多数低代码平台都是以云上提供的aPaaS(Application Platform as a Service,应用程序平台即服务)的形式,不仅用于开发,还用于应用程序的运行,实现了软件开发到应用的一贯性支持。
所谓低代码开发,是指尽量无需编写源代码,通过使用“图形用户界面/GUI”这一可视化操作,在极短的时间内实现系统开发的手法。目前也有通过在Web浏览器上搜索所需组件,整合粘贴来制作应用程序的工具。
采用低代码开发,无需SQL记述就可以制作数据库,简化开发工序。在保证一定扩展性的同时,可以有效缩短开发工时。
低代码开发平台最初被关注的是用于移动应用的开发。与基础系统开发相比,手机app开发对速度的要求更高,而且还必须支持多设备。在传统意义上,要在短时间内推出这样的移动应用程序是非常困难的,于是,低代码开发平台进入了开发人员的视野。
在现今社会,低代码开发平台受到关注的最大理由是数字化转型(DX)。所谓数字化转型,是指通过人工智能和物联网等信息技术,将一切事物通过数字数据连接起来,从而从根本上改变企业业务模式。
目前许多企业都在致力于数字化转型,以求在高速发展的时代中生存下来。企业的IT部门为了推进数字化转型,必须更密集的进行软件开发。但是,软件开发技术人员的数量是远远不够的,仅靠IT部门根本无法满足软件开发的需求。
低代码开发平台,可以被一般的业务人员、一线工作人员、管理人员等非专业的开发人员使用,无论是否有开发基础或经验,都可以经过简单的培训进行软件开发。
低代码开发最大的优势是可以缩短开发时间,也就节约了开发成本。低代码开发平台提供了大量的通用组件,可以实现一些基础功能。必要时可以添加自己编写的代码,来满足用户的功能需求,提供质量稳定的应用程序。
低代码开发平台的供应商会提供相应的安全对策,用户无需担心程序的安全性以及开发过程中的安全风险。为了实现特殊功能,需要自己编写代码时,用户只需关注自己的编写部分的安全性即可。
在低代码开发中,无需编写复杂的源代码,就可以在专用的平台上编写程序。即使没有受过编程专业教育的人,也可以在平台上轻松地进行开发工作。在传统印象中,程序开发都是由专业的工程师来完成,使用低代码开发平台,程序开发的门槛大大降低了。
低代码开发平台提供了大量通用的组件,这些可供使用的组件种类多样。
此外,用户也可以利用第三方开发的组件。这样的可再利用形式的组件,支撑着在低代码开发平台的视觉建模。
低代码开发平台以模型驱动型开发为基础,任何人都可以通过可视化建模,轻松实现程序开发。
通过拖放可以将所需的流程和组件整合,无需编程即可创建程序。同时,有编程技能的工程师也可以根据需要进行编码,从而定制组件。
要开发与企业架构相对应的基础系统,就必须具备与各种系统协作的功能。在这一点上,低代码开发平台支持大多数的主流操作系统和数据库。
另外,通过丰富种类的API,可以和外部系统自由合作。因此,低代码开发平台具有可扩展性和开放架构,可支持大企业的基础系统开发。
完全不使用代码的无代码工具,特点是使用预设好的功能来制作简单的应用程序。对于低代码开发平台,用户也可以通过编码自由扩展组件的功能。
低代码开发平台可以根据客户各自的需求,进行各种各样的定制,即使是复杂的大规模系统开发也能应对。
目前提供的低代码开发平台大部分采用的是云服务aPaaS的形式。
因此,低代码开发平台并非单纯的应用开发工具,从与数据库的自动连接、测试、正式启动、进一步运行管理、变更管理等开发工序到实际运用工序,搭载了支持整个软件生命周期的功能。
与低代码开发平台对应的是无代码开发平台(No-Code Development Platform, NCDP)。无代码顾名思义,就是不以编写代码为前提的开发方法。
低编码和无编码在某种程度上非常相似。前述的可视化建模、可再利用的通用性组件、生命周期管理等低代码开发平台的特征也适用于无代码开发平台。
无代码开发平台同样适用于专业的开发者和无基础开发者,提供了能够在更短的时间内轻松发布应用的环境。无需通过编码进行编程,通过PaaS平台提供,可以在不构建操作环境的情况下立即运行。
乍一看,无代码开发平台只是从低代码开发平台中去掉了编写代码的要素。但实际上它们是非常不同的。
首先,无代码开发平台不能通过编写代码来扩展或定制功能。因此,无代码开发平台目标是通过预先准备好的组件和API,实现功能范围内的相对简单的程序开发。不需要专业开发人员进行系统设计和数据库设计,经过简单的功能设计后立刻就可以使用。
典型的例子是使用Excel等电子表格的普通业务人员,将Excel和纸质工作系统化,自己创建应用程序,以简化日常工作。这些应用程序由其使用者来完成运营,随着业务的变化可以灵活的调整应用程序的功能。
无代码开发平台不能通过编写代码扩展功能,所以不适合功能较多的程序开发。此外,由于API的系统协作自由度较低,也不适合核心系统的开发。
扩展阅读: