零代码全民开发:为企业数字化转型赋能
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.1 概述

在讲解如何用零代码开发平台开发应用之前,我们首先为读者介绍这个新工具。

1.1.1 零代码开发平台的定义

零代码开发平台(NCDP,No-Code Development Platform),顾名思义,指的是不需要写代码就能够快速开发出业务应用/系统的平台。我们在工作中使用的业务应用,主要提供数据收集、数据处理、数据流转和展示等功能。零代码开发平台能够提供这些常见的功能模块,开发者无须编写代码,仅需要通过鼠标对平台提供的现成功能模块进行拖、拉等简单操作,就可以设计和开发各类业务应用。

对开发者而言,零代码开发平台几乎没有什么技术门槛,不论懂不懂编程,都可以按照自己的意图敏捷地开发应用。因此,零代码开发平台为企业IT部门以外的业务人员、不具备代码开发技能的人提供了机会,使他们能开发自己想要的应用,提高工作效率。

虽然零代码开发是近几年才兴起的概念,但其实广义上的零代码理念在个人电脑普及的时代就已显露踪迹——macOS和Windows操作系统使个人电脑的用户不再需要通过代码和计算机交互,只需要用鼠标在可视化界面上进行操作,就可以对计算机下达指令。

零代码开发的萌芽期可以追溯到20世纪80年代,那时就有人提出了以零代码或者以接近零代码的方式开发应用的观点。为了缩短漫长的产品交付周期,降低开发成本,减少开发过程中因需求发生变化对整个开发进程的影响,开发者们对当时的瀑布式开发模式进行了反思,提出了RAD(Rapid Application Development,快速应用程序开发)的理念。在这个新理念的指导之下,许多专注于快速迭代的开发工具诞生了,这些工具提供预制的有一定限制的功能模块,降低了对开发者编程技能的要求。

但是,彼时这些开发工具,例如基于IDE(Integrated Development Environment,集成开发环境)的开发平台、可视化的编程工具等,在使用时仍然需要编写一定量的代码,还不能算完全意义上的“零代码”开发工具,可以将其看作“低代码”开发工具。

随着技术的演进,出现了Web服务和云服务:Web服务实现了应用的分布式访问;云服务用于标准化部署,开发者能直接在云端开发和使用应用。这两类技术不但丰富了低代码开发平台的功能,也为其发展提供了更多的可能性。

此后,新的开发理念和开发工具逐渐被人们接受,开发平台的可视化模型得到了发展,在某些业务场景下,比如业务流程管理,开发者可以更直观、便捷地设计数据的对应关系、流程的模型等。这种进步促使一大批基于模型驱动的低代码开发平台诞生。图1-1展示的就是基于模型驱动的低代码开发平台Mendix的应用开发界面。这些低代码开发平台进一步降低了开发时需要编写的代码量,可以视为零代码开发平台的雏形。

2014年国际著名的技术和市场调研公司Forrester重新定义了“零代码/低代码”的概念,这一年也成为现代零代码开发平台的元年。此后,零代码开发平台进入了快速发展期,国内涌现出许多厂商和产品。这个时期的零代码开发平台,面向的用户群体已经不仅仅是IT人员,其创造了一种全新的开发模式,让IT人员、业务人员、管理者都可以很轻松地做开发,尝试自助式地实现自身的数字化需求。

图1-1 Mendix的应用开发界面

可以看出,零代码开发由广义的低代码开发衍生而来,得益于技术的进步,零代码开发所需编写的代码量越来越少,开发速度越来越快,零代码开发平台成为各类人群都可以使用的应用开发工具。在企业和组织全面推进数字化转型的今天,零代码开发的兴起正在挑战和逐渐替代传统的开发模式,使更多人有机会参与这个历史性的进程。

1.1.2 零代码与低代码开发平台

在零代码开发平台的发展过程中,低代码开发平台一直是绕不开的话题,“零代码”与“低代码”这两个词也常常一起出现。相信很多读者在看到它们后都会产生疑惑,两者有何区别,作为开发者又该如何选择呢?

低代码开发平台(LCDP,Low-code Development Platform),指的是通过可视化的方式,编写少量代码即可快速搭建各种应用的平台。低代码开发平台同样为用户提供了用于开发应用的图形化用户界面,无须像传统编程那样编写大量代码,仅在一些特定的情况下需要编写代码;其支持的编程语言中既有专有语言,也有常规的编程语言,JavaScript是低代码开发平台支持的最流行和最常用的语言之一。

从技术原理上来说,零代码和低代码开发平台都是通过封装好的代码块来实现预制的功能的,就好比为开发者提供了各式各样的“积木块”,开箱即用,直接用它们来搭建应用。两者最大的区别已经生动地体现在其名字里了——在搭建应用的过程中,一个无须编写代码,另一个则需要编写少量代码。

零代码开发更加标准化,但是其所能搭建的应用也受开发平台提供的功能限制,也就是说,只能使用开发平台提供的固定“积木块”搭建应用。低代码开发则允许开发人员通过编写一定量的代码来弥补已有“积木块”的不足。当然,这些新的自定义“积木块”必须与开发平台原有的“积木块”匹配,所以在开发时必须使用特定的语言、框架、模式或SDK(Software Development Kit,软件开发工具包)。

在实际应用中,零代码和低代码开发平台最显著的区别就是它们面向的用户人群不同。零代码开发平台的用户既有IT人员,也有大量来自企业业务部门和管理部门的非专业开发者,而低代码开发平台主要面向的是IT人员。表1-1对这两类平台进行了对比,读者可以根据自身需求选择相应的平台。

表1-1 零代码开发平台vs.低代码开发平台

零代码和低代码并非两个割裂的概念,有时候在媒体文章中,这两个词会被混用。这两种开发模式的本质都是以PaaS(Platform as a Service,平台即服务)的方式,建立模型,以图形化界面来实现应用的可视化开发,并尽可能地减少手动编码,加快应用的落地与使用。

本书将聚焦于零代码开发平台,为读者介绍这个帮助企业创新,提升全民应用开发能力的实用工具。