核心观点:低代码开发平台适合开发复杂的应用程序,这些应用程序通常为你们的核心业务服务,运行那些重要的和关键性的业务流程。相反,无代码平台的局限性意味着它们只能用于企业后勤等非核心、标准化业务系统模块的开发。
随着媒体对低代码、无代码等先进技术的持续关注,我们发现大多数人都听说过低代码开发和无代码开发这两个概念,但是对两者之间的区别其实并不清楚。事实上,低代码开发和无代码开发之间存在着很多非常显著的差异,如果你正在考虑放弃传统的应用程序开发方式,或者只是想尝试一下全新的可视化应用程序开发方式,那么你需要了解这两个技术能给你带来什么好处。
这篇文章,将会对低代码开发与无代码开发技术进行深度解析,看看它们区别在哪里,探讨如何使用它们为企业信息化服务。
从编程发展简史说起
编程是编定程序的中文简称,指设计具备逻辑流动作用的一种“可控体系”。最早的编程可以溯源至1804年,历史远早于电子计算机。19世纪早期的法国里昂是世界闻名的丝织之都。里昂的丝织工人们使用的工具却是质量低劣、效率低下的老式手工提花机。这种机器需要有人站在上面,费力地一根一根地将丝线提起、放下,才能织出精细复杂的丝绸,就好像演员在操纵牵线木偶。这种繁琐的劳动随着1804年雅卡尔提花机的发明发生了改变。雅卡尔提花机利用预先打孔的卡片来控制织物的编织式样,速度比老式手工提花机快了25倍。
(雅卡尔提花机复原图,图片来自网络)
从这种借助穿孔卡片进行编程的提花织机问世至今,编程语言已经走过了200多年的历史。随着计算机技术的发展,1950年代开始,为电子计算机设计的编程语言层出不穷。到现在为止,已经出现了250多种编程语言。每一年,都有新的语言流行,旧的语言被淘汰,这意味着使用编程语言的开发人员必须习惯的一件事就是“改变”。
(1980年代,葡萄城使用BASIC语言开发的财务程序界面)
回顾200年的发展历程,我们认为编程界最大的改变,就是集成开发环境(IDE)的出现。IDE为专业开发人员和平民开发者(没有受过专业编程训练的技术人员和业务人员)提供了一套用来简化编码工作的软件开发工具。IDE的起源可以追溯到1982年,当时詹姆斯·马丁写了一本书,叫《没有程序员的应用程序开发》。马丁在这本书中提到,有了IDE的帮助,创建应用程序所需要的开发人员可以减少,在某些情况,甚至可能根本不需要开发人员。
(使用Visual Studio IDE开发应用程序的界面)
时间快进到2019年,编程界的形势又发生了变化。我们现在已经到达了一个这样的临界点:由于太多的代码已经被编写出来,使得我们已经不再需要从零开始编写每一个应用程序了。事实上,当你使用一个可视化设计器能够生成覆盖大多数应用程序所需90%代码的低代码开发平台时,这个开发平台就能够完成大部分繁重的编码工作。而这,就是低代码开发平台带给编程界的最大“改变”。
什么是低代码开发,如何使用它?
首先,你可以通过阅读老牌开发工具厂商葡萄城的技术博客《低代码开发平台是什么?》(在百度搜索文章标题即可查看)来深入了解低代码开发到底是什么意思。简而言之,“低代码开发”就是开发人员可以通过编写少量代码甚至无需代码就可以快速生成应用程序的一种方法。我们有时把“低代码”作为名词用,这时候我们把它看作一个像Python语言和C#语言一样的一种“东西”。我们有时也把“低代码”作为动词用,这时候它表达的是它字面上代表的一种应用程序开发方式,因为用这种方式开发应用程序时,你需要手写的代码比通常的开发方式要少很多,在部分场景下甚至可以完全不写代码。
(低代码开发包含可视化设计和编码扩展能力)
使用低代码开发平台类似于使用IDE,因为它包含了一套可以供开发人员直接使用的功能,和一套供开发人员使用的工具。然而,它实际上能提供的远远超过一个传统的IDE。简单来说,低代码开发就是将已有代码的可视化模块拖放到工作流中以创建应用程序的过程。由于它可以完全取代传统的手工编码应用程序的开发方法,技术娴熟的开发人员可以更智能、更高效地工作,而不会被重复的编码束缚住。相反,他们可以将精力集中于创建应用程序的10%部分(90%功能可以通过可视化方式创建),并使其具有与众不同的功能。
(使用活字格低代码开发平台的可视化设计器构建数据看板)
与“低代码”开发相对的另一种方式是编写数万行复杂的代码和语句,然后对其进行调试。而使用“低代码”开发并且使用可视化地方式来构建应用程序,你可以将开发速度提高数倍,并且最大化技术娴熟的开发人员的价值。专注于冷链物流行业信息化系统的北京驭梦科技有限公司正在使用活字格低代码开发平台,驭梦的总经理高守成在接受采访时表示,使用活字格这种低代码开发模式,可以将物流管理系统的交付周期缩短到1/5,即便将低代码开发平台的采购费用计算在内,开发总成本也降低了70%。这就是为什么Forrester预计到2022年,低代码市场的支出仍将达到210亿美元开发费用的一个重要原因。
低代码开发的好处
抛开吸引眼球的数据,让我们先从更高层次了解一下低代码开发的好处,然后再研究一下“无代码”开发能带给我们什么。低代码开发的好处主要有以下四点:
- 速度:使用低代码开发,你可以同时为多个平台(桌面电脑、Android、iOS、钉钉或微信)构建应用程序,并且在几天甚至在几小时以内就可以向项目相关人员提交可以运行的示例。
- 更多的资源:如果你在一个大型项目上工作,使用低代码开发,你就不必再等待陷于另一个冗长项目的具有专业技能开发人员,即便没有接受专业编程训练的技术人员也能参与到开发过程,这意味着项目可以更高效、以更低廉的成本完成。
- 低风险/高投资回报率:使用低代码开发,意味着强大的安全流程,数据集成和跨平台支持已经内置,并且可以轻松定制,这通常意味着更低的风险,并且可以将更多的时间集中在业务逻辑的实现上。
- 快速部署:项目上线总是会让人神经紧张。而使用低代码开发,部署前的影响评估可以确保你的应用程序按预期工作。如果有任何异常发生,只需要一次单击,你就可以回滚你所做的所有改变。
为什么还需要无代码开发?
低代码看上去很完美,但为什么还需要无代码?回答这个问题前,我们先回顾一下什么是无代码开发。
人们很容易将低代码开发和无代码开发混淆起来,因为他们听起来就很像。 “无代码”开发平台是为那些“不知道也不需要知道任何实际的编程语言”、使用应用程序的业务人员而构建的。无代码平台供应商认为,使用者构建应用程序需要的所有内容都已经内置到平台中。无代码平台类似于现在流行的问卷服务,或者H5宣传页面设计平台。这些平台有预先构建的页面,可以让你在几分钟内启动你的调查问卷或你的H5页面。
(使用问卷网,无需编码生成调查问卷)
听起来不错吧?如果你的应用没有任何独特的、很难定制的功能,并且不需要解决系统集成等挑战的话,无代码平台当然是个好选择。然而,大多数无代码平台最初设计用于解决单个业务问题,如审批流程管理。从业务增长的角度来看,这是天然的局限。为了吸引更多企业用户的目光,许多无代码平台供应商已经开始了将自己的平台归类于低代码平台,并进行了广泛的宣传。
然而,不少行业分析师却有不同的看法,他们开始将一些无代码平台供应商从相关报告中移出(如Forrester Research公司发布的报告《2019 Q1 Forrester Wave™:面向应用程序开发和交付专业人员的低代码开发平台》),同时将它们转移到那些只适用有限用例的平台报告中。
无代码的局限性
如果将我们的讨论严格限定在应用程序开发层面的话,某些类型的用户以及他们需要开发的内容可能会促使他们倾向于使用低代码平台而不是无代码平台。
无代码只适合业务用户。他们很少需要专业培训。你可以把它视为一大优势,但是由于这种类型用户的技能有限,加上无代码平台本身也有功能局限。大多数专业的开发人员甚至以IT人员为代表的平民开发者,都会发现无代码平台无法提供他们需要的开发能力,并且工具本身也限制了他们的开发能力。
低代码平台旨在同时服务平民开发者和专业开发人员。对于有一定IT相关知识的平民开发者来说,在经验丰富的IT人员或专业开发人员的指导下,创建经过深思熟虑的与实际需求相符的应用程序,扩展了技术团队的业务能力。对于专业的开发人员来说,通过可视化的操作搭建应用程序,可以更加有效地提高开发效率。同时低代码平台也允许他们根据需要手工编码来应对更复杂的系统需求,这意味着在提高技术团队的业务价值的同时,降低了开发工作的积压量。
(在outsystems低代码开发平台中使用JavaScript手工编码)
而无代码平台的吸引力在于,组织中几乎任何具有一点技术背景的人都可以快速创建业务应用程序。这可能是一个巨大的优势。但它同时也带来了诸多问题。
首先,无代码应用程序开发不需要任何编码的想法并不是很现实。因为这些平台是为业务人员设计的,IT技术部门还是不得不在“最后一公里”处介入,以完成与现有系统的集成。如果你们的IT技术部门根本不参与应用程序开发时会出现什么状况?这将会产生可怕的结果:那就是你们的应用程序开发很可能根本没有适当的监督或经过充分的论证,无法和现有信息化系统实现集成。可以预见,各种各样的安全问题、合法性问题、系统集成问题都会出现,最后会产生一个个设计不当的应用程序。最好的情形是这些应用程序浪费了很多不必要的资源,而最坏的情形则是,用户会对这些“数据孤岛”般奇怪的应用程序望而却步。
(将使用活字格低代码开发的应用嵌入用友U8+中)
低代码开发就一定比无代码开发好吗?
不完全是。低代码平台和无代码平台都是基于同样的“敏捷性”这一思想而构建的。虽然粗略地看上去(或者在无代码供应商的网站上看),它们很相似。但实际上它们适用于不同的场景。低代码开发平台适合开发复杂的应用程序,这些应用程序通常为你们的核心业务服务,运行那些重要的和关键性的业务流程。它还可以用来构建独立的移动和Web应用程序,这些应用程序可能需要也可能不需要复杂的集成。事实上,它可以用来开发任何应用程序。
(ERP+APS+MES,生产制造业企业的核心业务服务)
相反,无代码平台的局限性意味着它们只能用于企业后勤等非核心、标准化业务系统模块的开发。
话虽如此,在现代企业中,两种平台都有应用空间,或者至少两者能结合在一起。对于那些DevOps(另一种用于在开发中创造更大的灵活性的方法)的拥护者来说,低代码平台和无代码平台的组合可以提供完美的应用程序开发环境。
应用程序开发的未来
在一切都必须快速发展的世界中,低代码平台和无代码平台都可以为使用者提供竞争优势。但是,除非你只是开发最简单的应用程序,并且对定制的要求很低,否则低代码平台总是更好的选择。