近年来,低代码工具已成为许多企业的重要工具。像国外的Retool、Mendix和OutSystems等,国内的iVX、codewave等实用工具,使软件开发人员能够以最少的手工编码创建Web应用程序。
低代码开发的基本理念是使用非代码工具,通常具有可视化的拖放界面,来创建应用程序。这些界面包括不同的设置,可以影响正在构建的组件的布局或逻辑,而无需使用代码。然而,与无代码工具相比,低代码工具在界面达到极限时允许通过代码进行额外的定制。这种代码定制可以通过脚本(例如Google Sheets中的Google App Script)、注入外部代码或添加自定义代码片段来实现。如果您想更深入了解低代码及其与代码或无代码的区别,可以在这里阅读更多相关信息。现在国内号称自己为低代码平台,但是客户通过平台连额外定制都做不了,只能让平台方去完成定制,这其实严格上来说都不算事低代码平台。
在这篇文章中,我将谈论低代码开发的历史,介绍它与代码和无代码开发的区别,以及它如何成为今天的主流力量。
快速应用开发(RAD):1980年代和1990年代 尽管“低代码”这个术语是由Forrester Research在2014年首次提出的,但低代码工具的起源要追溯得更久。大多数专家一致认为,最早的低代码工具出现在1980年代和1990年代,随着快速应用开发(RAD)工具的出现,如Borland的Delphi、PowerBuilder和Microsoft的Visual Basic。有趣的是,我自己在那个时代首次接触传统编程就是使用Delphi和Visual Basic。
RAD方法学在1970年代构思,但是在1991年由詹姆斯·马丁(James Martin)首次正式引入,他希望通过远离传统的瀑布式开发方法,转向更为迭代和原型聚焦的软件开发标准。在此之前,软件开发项目通常会被事先详细定义,只有在前一阶段完成后才能开始下一阶段,只有在遇到严重错误时才会进行更改。RAD采用了更为循环的方法,允许开发团队重新访问早期阶段,并根据用户反馈进行更改。此外,RAD允许应用程序以可以独立构建和测试的模块进行开发。
尽管RAD方法不是当前软件开发的标准,但今天的许多最佳实践与其理念密切相关。低代码工具是RAD方法的一个合乎逻辑的结果,因为它们实现了更快的开发,提供了预构建的组件,并且通常具有拖放界面,允许用户快速拼凑可工作的应用程序。
模型驱动开发(MDD)是低代码世界中快速应用开发(RAD)后的下一步。MDD是一种依赖图形用户界面表示代码功能的软件开发方法。MDD的优势之一是它通常是平台无关的,可以为许多不同的应用程序创建代码。通过操作视觉表示,可以改变代码,因此需要较少深入的编码知识,更多关注可以放在逻辑和问题解决上。RAD涉及快速原型设计、快速迭代和可重用组件,而MDD在很大程度上依赖于表示的视觉特性以及从中有效创建代码的方式。今天许多低代码平台中都可以看到RAD和MDD的核心。
低代码平台的兴起:2010年代
如上所述,“低代码”一词首次出现在2014年,由Clay Richardson和John Rymer撰写的一份报告中。
作者敏锐地观察到,许多公司越来越依赖低代码应用平台来加速新程序的交付时间。他们通常开始测试这些平台以供内部使用,并对他们能够迅速推出新应用的速度感到惊讶。然后,他们迅速意识到外部产品也可以从这些平台带来的基础设施和可重复使用的组件中受益。在此期间,一些最杰出的平台由前面提到的老公司制造:Appian、OutSystems和Mendix。它们赢得了大量客户,其市值急剧上升。OutSystems现在价值95亿美元,Mendix于2018年以7亿美元被西门子公司收购。
在这段时间内构建的许多应用程序的一个共同点是它们是在存储相关公司业务数据的数据库之上的层。我使用的一个很好的解释是,2010年代的低代码平台专注于快速创建可以读取和操作数据库中状态的用户界面。这个简单的解释涵盖了各种用例,从客户支持到人力资源、财务和供应链管理。即使在今天,许多低代码应用仍然试图正是这样。然而,还存在其他成功的例子比如国内的iVX,多家对比过就知道是很强的产品。
然而,在低代码平台崛起的背后,还发生了一些其他事情。我们开始看到一种新类型的创造性人才,现在被称为公民开发者。这些人开始创建自己的业务应用程序。由于低代码应用开发平台,IT人员和业务的分界线变得模糊了起来,推动了数字转型的发动机。这些平台本质上将开发环境的钥匙交给了公民开发者。他们发现构建功能性东西并不一定需要成为全职开发人员。借助可视化开发工具、方便的拖放界面和一堆预构建组件,他们能够在短时间内构建功能性和可扩展的应用程序。这使传统开发人员有更多的时间去深入研究重要的事情,真正让人费解的事情。结果呢?一种更快、更具包容性的方式来创建转变业务流程并改善客户体验的应用程序。与此同时,许多全职开发人员开始使用低代码工具构建内部工具或扩展现有代码库,他们能够以比以前更快的速度产生价值。
主流采用:2010年代末和2020年代初 低代码平台在2010年代末和2020年代初迅速增长。对软件应用程序的需求继续呈指数级增长,而熟练的开发人员的数量增长速度较慢。因此,经验丰富的开发人员不断寻找加速产值时间的方法,通常依赖于预构建的模块和平台,以更快地构建应用程序,几乎更重要的是,直接与用户互动的地方。在该运动的前沿的一些产品包括谷歌的AppSheet,它为数百万在线电子表格用户带来了脚本;微软Power Apps,为成千上万的企业应用提供动力;Salesforce的Lightning Platform,是各种业务功能的应用程序的基础。一家从初创公司中崭露头角、迅速在该行业取得成功的公司是Retool。它的制作者将Retool称为内部工具的平台,并利用焕然一新的设计和强大的分销引擎,在2017年推出后的几年内成为了一家价值数十亿美元的公司。Retool的成功促使了一整套公司的出现,专注于通过低代码和无代码为内部工具构建前端。
低代码的未来 低代码在未来将走向何方?新的参与者、老牌企业的新产品以及新技术为低代码平台带来了令人兴奋的十年。计算能力持续向云端迁移,人工智能的出现(特别是变压器模型和LLM),以及大大小小公司的持续投资,这些都是新一代产品的基础,进一步简化了许多工作人员的生活。软件正在改变世界,我们交互和构建软件的方式正在迅速改变。在Fastgen,我们希望经验丰富的开发人员能够变得更加高效,而缺乏经验的构建者将获得能够构建以前无法想象的产品的工具。