低代码继续受到很多关注和争论。许多软件开发人员仍然想知道使用低代码是否会使应用程序开发过程更好,或者它是否会干扰开发过程并导致应用程序质量下降。其他人担心低代码的安全隐患。当然,如果使用低代码的必然结果是更高的应用程序复杂性,那么低代码会导致安全问题的难度增加。但事实真的如此吗?我最近写了很多关于应用程序复杂性的文章,还有很多关于低代码的文章。但是应用程序复杂性和低代码使用之间的相关性是一个有趣的点。复杂性与方法无关明确地说,低代码的必然结果不一定是复杂性。就像传统的应用程序开发一样,复杂性可以而且经常进入产品代码库的生命周期。虽然不是不可避免,但很常见。无论您的应用程序是如何构建的,您都可以采取许多步骤来降低应用程序的复杂性,从而提高性能、可扩展性、可用性和创新速度。是的,像所有应用程序一样,低代码应用程序可以变得复杂,需要使用简化技术来降低复杂性。但这些问题与使用低代码无关。它们在正常的产品开发过程中同样重要。未知并不复杂低代码确实会增加应用程序中非开发团队直接编写的代码量。还有更多代码由低代码平台自动生成或包含在您的应用程序需要运行的库中,但不是您的开发人员的产品。因此,当您使用低代码技术时,您的应用程序中通常会有更多“未知”代码。但未知并不等同于复杂性。未知代码(由其他人提供并添加到您的应用程序中的代码)本身不会增加您的应用程序的复杂性。事实上,情况可能恰恰相反。低代码降低复杂性使用低代码开发技术可以降低过度复杂性蔓延到应用程序中的可能性。通过简化应用程序开发人员的认知负荷和时间压力,低代码平台允许开发人员专注于更大的图景、应用程序业务逻辑,而更少关注细节。在细节上会发生什么?它们由低代码环境处理。此外,低代码环境将使用经过验证的标准化技术来完成这些低级任务。自动生成的代码和库代码在您的应用程序团队使用之前很久就已经开发、测试和改进。您使用低代码构建的应用程序越多,您在应用程序中使用的这种预先测试的标准化代码就越多。使用低代码工具构建您的应用程序可以更多地使用标准化编码技术、行业最佳实践,并最终实现更多的软件重用。但是复杂性呢?增加标准化编码的使用和利用软件重用是用于降低应用程序复杂性的常用策略。标准化编码减少了理解应用程序工作原理所涉及的认知负担,而代码重用往往会减少复杂应用程序中可能失败的移动部件的数量。因此,使用低代码工具创建的应用程序将比使用传统编程技术开发的功能相同的应用程序更简单。标准化和重用如何影响复杂性?当我们考虑应用程序的复杂性时,我们通常会考虑应用程序的两个不同方面:组成应用程序的组件的大小和数量,以及应用程序软件的变化率。增加可重用代码的使用减少了应用程序中组件的大小和数量,而增加标准化编码技术的使用往往会降低变化率——至少对于应用了标准化编码的模块或组件而言。任何给定应用程序的实际情况都会更加复杂,但基本原理仍然适用。更多地使用标准化编码技术和更多地使用可重用软件组件往往会降低最终应用程序的复杂性。这不是新的这种分析不是新的或低代码所独有的。几十年来,我们一直使用软件抽象来向开发人员“隐藏”代码的复杂性。每当我们使用高级语言(如C、Java、Ruby或Go)时,我们都会抽象出创建和执行以执行所需操作的实际代码。我们将开发重点放在“更高级别的构造”上,这些构造允许编译器或解释器处理创建和运行机器代码的细节。它不止于编译器。当我们使用更高级别的包、环境和框架时,我们也会抽象掉复杂性,以便我们可以专注于更高级别的功能。因此,使用RubyonRails、Spring、Hibernate、Gin、jQuery、Bootstrap,甚至HTML/CSS,我们将复杂性抽象化,以便在更高层次上工作。结果是应用程序更健壮,可靠性更高,开发工作量更少,支持成本更低。这与今天在低代码社区中讨论的争论没有什么不同。软件开发的世界是一个复杂的世界,每天都有新的挑战出现。软件开发人员经常使用工具、资源、环境和技术来简化软件开发过程。最近,低代码技术得到了改进,低代码平台已成为改进软件开发过程而不会给应用程序增加过度复杂性的有用工具。原标题:低代码会让应用变得过于复杂吗?
