我听说了很多low code/no code应用开发解决方案,这些方案自称只需要点击几下鼠标, 就可以完成软件开发工作,而不需要像传统方式那样手工编写大量的代码。这听起来很棒, 但是我们应当认真地思考一下,这些低代码/无代码解决方案到底是软件开发的灵丹妙药,还是 历史泡沫的重现?在本文中,我将基于历史的教训来近距离审视这一技术。
在线学编程,推荐汇智网的在线互动编程学习系列教程, 内容涵盖前端、后端、大数据、机器学习、区块链等众多领域。
企业始终都在寻求创新的途径,据称已经有一些顶级的企业将低代码开发置入其数字战略的核心。 这些低代码平台声称的吸引力在于:
- 图形化地拖拽式开发工具,而并不是传统的手工输入代码方式
- 用途广泛,涵盖数据集成平台、ELT工具、BPM应用等诸多功能
- 可快速部署,支持在数日或数周内完成企业级应用的开发,而不是像传统开发 方式那样需要数月或数年的时间
虽然low code/no code还是一个正在发展的市场空间,许多分析家认为这种新的 模式已经开始切入主流市场,越来越多的企业已经接受了低代码咒语,并且开始 以多种多样的形式采纳low code的开发途径。结果就是,我们听说低代码解决方案 正在加速嵌入更广泛的应用中,例如销售、市场和商业过程管理平台,以及数据集成、 数据科学、内容管理、分析、机器人过程自动化以及感知平台等等。
1、Low code的承诺
我不断地听说低代码可以帮助提高应用开发的速度。企业希望完全掌控开发过程,而 软件工程师们则希望拥有自动化实现众多传统的业务需求的能力。根据所采用的方法 的不同,可能会有敏捷性和可扩展性方面的代价。实现跨应用的自动化是有难度的, 即使你有一个专门的开发团队来负责实施。工程师们需要找到一个方法来将复杂的 业务流程和服务转换为简单的、自服务的、自动化的工作流。Low Code的信徒相信 低代码自动化是确保应用开发流水线化的核心驱动力。
要填补无代码、低代码和专业开发者代码之间的鸿沟,这类工具需要整合诸多资源 来保证业务分析师和开发人员能够在应用创建过程中平等的协作。
集成正在成为跨业务的广泛存在的问题,这意味着集成工具需要考虑到传统开发者 之外的更多类型的用户。因此,集成供应商需要同时为非专业开发人员以及专业开发人员 提供图形化的、低代码解决方案。
例如,Linx是一个低代码开发工具,用来帮助实现大量数据的迁移等任务。下面是Linx 软件的屏幕截图:
下面的话在Low Code供应商圈子中间很常见:
“AI应用的相关数据非常鼓舞人心,但是在美国和英国都还存在着执行的障碍,” SnapLogic 的CEO,Gaurav Dhillon指出。“机构为了加速其AI推进,必须提升技能、雇佣合适的 人才、投资新科技和工具。今天的自助式低代码开发技术能够帮助弥补这一差距,通过 将开发能力赋予更多的各种水平的工作者,可以有效地推进AI和机器学习的大众化与 民主化,从而推动现代企业进入自动化时代。“
2、Low Code供应商生态圈
几乎没有一个礼拜,我不会碰到一个新的低代码供应商。
像Salesforce之类的供应商已经通过在其Einstein平台上提供给其系统的开发者和管理员的 低代码服务方案,来填补与数据科学技能的鸿沟了。
另一个例子是C3,C3是一个领先的、致力于帮助企业加速数字化转型的AI软件提供商, 它最近引入了C3集成开发工作室(IDS),一个用于企业AI应用的low code/no code开发、部署和 运维环境。IDS提供数据集成、数据建模、机器学习的特征工程和模型生命周期管理、 以及一个元数据驱动的UI开发工具。C3 IDS的混合式多云分布式架构能够保障安全、 高可用、可伸缩应用的快速开发。C3声称其客户已经基于C3 IDS构建了众多的端到端 的应用案例,例如预见性维护和营收优化。
一些企业的IT负责人也发出了类似的言论,下面是一个例子:
”创新不再只是由IT来驱动。数字化业务的优先级要求BMC赋能整个机构更快的创新,因此 我们构建一个可以支持no code,low code和pro coder的生态系统“,BMC的数字服务管理 部门总裁 Nayaki Nayyar表示说,”在一个复杂的多源环境中,BMC创新套件能够帮助企业 加速向市场退出数字化服务管理应用与服务“。
下图展示了低代码供应商的生态系统:
亚马逊最近发布了其Alexa Blueprint程序,该程序允许用户创建自己的个性化的游戏、 闪卡或在Alexa设备上的预录信息。问题在于这个低代码技术对于终端用户而言是否足够 简单。简而言之,不简单。虽然亚马逊的低代码运动为众多的消费者开启了控制其自己 的设备的大门,它同时也提出了很多的挑战。该软件要求基本的编程经历,而绝大多数 用户并没有,而且需要花几个小时才能创建一个技能。虽然有些人认为这一解决方案是 向前迈进了一步,事实上这些尚存的代码将拖慢Blueprint的推广进度。亚马逊可能会尝试 取消这些代码,让Blueprint进入主流群体,不过一个为了扩展用户群的完全无代码的设计 是会有很多问题的。
3、Low Code:真东西还是泡沫?
对于low code/no code解决方案,我的看法是,这根本不是什么新玩意儿。只不过是 试图从应用开发过程中剔除人工代码编写的再次尝试而已。从1980年代依赖已经有好几次 失败的尝试了,每次失败后都是传统的手工编码继续光大。
有一段时间出现了自动化编程工具包,通过鼠标的点击来设计并创建数据输入表单和报表。 工具会根据用户的输入来生成实现业务逻辑的代码。但是不变的,一个开发人员还是要 为生成的代码补齐额外的定制化的代码。这些工具存在了一些时间,不过最终都凋零了, 因为人们认识到,还是需要开发人员。
大约10年后,1990年代,早期的基于PC的数据库系统发展到包含了成为”应用生成器“ 的阶段,它基本上就是以无代码方式来自动话查询、表达和报表的创建。应用生成器 最终也失败了,因为很明显业务需求存在着太多的特殊情况和复杂性,单纯使用 无代码的自动化工具是应付不了的。
今天我看到历史的泡沫再次泛起,以low code/no code的名义,不过是再次尝试 剔除手工的代码开发。我认为,这种情形不会发生,就像AutoML工具也不会替代 数据科学家。软件开发是科学,同时也是艺术,计算机没有那种创造力来倾听 复杂的业务需求并提出软件实现方案。我预计在接下来的几年,会再次迎来low code/no code 的冬天。
原文链接:Low-code: Panacea or Revisited Hype?
汇智网翻译整理,转载请标明出处