低代码平台采用可视化、声明性技术,而不是传统编程,开发人员和非开发人员都使用这些技术,并显着减少交付应用程序和自动化流程所需的时间和精力。即便如此,低代码对不同的人来说仍然意味着很多事情,因为在这个保护伞下存在多种类型的工具:网站构建器、表单构建器、API连接器、数据库构建器、工作流自动化等等。在这里,我们将介绍低代码开发和“无代码开发”之间的区别、关键用例、平台使用和关键功能。低代码简介2014年,Forrester创造了“低代码”一词来描述“加速应用程序交付并减少手动编码量”的开发平台。低代码平台用开发人员和非开发人员都使用的可视化、声明性技术取代了传统编程,并显着减少了交付应用程序和自动化流程所需的时间和精力。然而,即便如此,低代码对不同的人来说仍然意味着很多事情,因为在这个保护伞下存在几种类型的工具:网站构建器、表单构建器、API连接器、数据库构建器、工作流自动化等。每种工具针对不同的领域,需要不同水平的技术熟练程度。它们唯一的共同点是图形用户界面,使应用程序用户能够配置和调整解决方案以满足确切的需求。低代码开发平台通常包括以下内容:VisualIDE(集成开发环境):一个拖放式界面,开发人员可以在其中构建应用程序的UI、工作流和数据模型后端和服务连接器:集成数据源和数据和服务中的逻辑可重用组件:预先构建、预先测试的拖放模块和功能应用程序管理器:用于构建、调试、部署和维护最终应用程序的工具低代码模型兴起的最显着原因之一这是更快的交付和更快的创新。此外,它使组织中的任何人都可以构建应用程序——即使是那些技术知识或开发经验有限的人。考虑到快速开发的好处——更低的成本、更快的交付和更大的可访问性——到2030年,低代码市场将达到1900亿美元。低代码开发平台可以追溯到第四代编程语言(4GLs),一个从70年代发展到1990年代的概念。该语言引入了一些最流行的快速应用程序开发(RAD)工具,例如Clarion、MicrosoftAccess和Powerbuilder,将类似开发的功能交到非技术背景的业务用户手中。现代低代码开发平台推动了这一发展。这些平台可视化计算或领域概念,并添加底层基础设施来支持它们。但是,也许最重要的是,它们消除了构建和运行最终应用程序之间的任何摩擦。低代码和无代码是一样的吗?很简单,答案是否定的。虽然这两个平台都依赖于相同的可视化拖放开发原则,但无代码平台无需代码即可开发,而低代码平台保留了一些在需要时手动添加代码的能力。在大多数情况下,无代码应用程序很少复杂并且仅限于特定领域和功能。这些工具主要要求用户配置解决方案并对可以做什么有明确的限制。因此,它们通常需要进一步开发以集成和连接到多个服务或添加自定义功能。低代码可以做什么低代码开发平台弥合了现成软件的固有局限性、无代码的僵化以及从头开发自定义应用程序的高成本之间的差距。最流行的用例包括:(1)业务流程应用程序低代码平台的主要目标之一是业务流程管理,允许用户构建应用程序来自动化流程并更有效地处理它们。(2)数据库管理应用程序使用低代码平台绑定、查看、更新和可视化数据库表。通过对最流行的数据库格式的支持,开发人员可以轻松地将业务逻辑与数据管理期间发生的各种事件联系起来。(3)全渠道平台这些需求要求应用程序从多个来源(数据库、API、自定义业务逻辑、文件和云服务)获取数据并自动提供实时可见性。(4)基于微服务的应用程序使用低代码来加速独立的、可扩展的服务的开发和易于维护。(5)对遗留应用程序构建API进行现代化改造,以使用新功能对现有系统进行现代化改造、扩展和增强。谁在使用低代码?当我们谈论应用程序开发时,我们通常会想到由经验丰富的开发人员开发的应用程序。传统上,情况就是这样。然而,低代码平台开创了开发者为民、连接业务和IT、填补软件需求和开发者短缺的新时代。即使是没有接受过正式软件开发培训的用户也可以使用低代码平台构建应用程序。由于更接近产品、特定领域的流程和客户,他们可以理想地识别当前的业务需求,充当解决方案设计者,并在没有IT参与的情况下实施解决方案。还存在其他不同的开发范例。例如,一些低代码平台面向开发人员并支持快速开发、集成和自动化。其他针对软件开发专业人员和开发人员的类似对象,提供用于协作和开发应用程序的工具。无论用户类型如何,目标都是加速整个组织的开发。除了速度、成本和易用性等明显优势外,低代码还可以帮助普通开发人员:加快组织内部关键挑战解决方案的开发整体业务生产力许多平台还包括更深入的技术功能,以支持专业开发人员和缩短软件开发周期。一个好的开发平台可以加速软件开发的平凡、可重复的方面,让开发人员能够更多地专注于解决应用程序逻辑的独特需求,这些需求需要时间、注意力和专业知识才能取得成功。通过这样做,它们在IT功能方面提供了优于传统代码的显着优势:缩短软件开发生命周期应用一致的代码质量并减少维护负担提高团队效率和敏捷性提供更直接的方法来处理复杂性问题,例如应用程序安全性、基础设施和可扩展性。低代码平台的工具箱由一组预构建组件组成,这些组件在其专业领域内具有明确定义的功能。但在选择平台时,购买者应考虑:(1)确定当前和未来的用例考虑当前的工具、系统和服务。该平台能否解决手头的问题并加速整个组织的应用程序开发。(2)指定将开发应用程序的用户低代码仍然需要一些编码技能来构建应用程序。了解谁将设计、开发和维护应用程序对于匹配用例和用户能力至关重要。(3)集成需求几乎所有平台都提供API,许多供应商提供预构建的集成,这非常适合与第三方供应商合作。但是,API的用途、性能以及支持方式差异很大。因此,认真的买家应该仔细检查平台的可扩展性,而不是指向点击式连接器。(4)跨平台支持大多数企业倾向于使用跨平台开发框架来开发针对web、移动等平台的解决方案。这应该在幕后自动发生,无需额外的工作、编码或资源。(5)托管低代码曾经是SaaS的代名词,但现在供应商提供了更大的灵活性。例如,许多企业不会让他们的数据或应用程序设计离开他们精心控制的网络,无论是为了遵守法规还是其他规则。因此,了解在何处以及如何托管应用程序与构建应用程序一样微妙,不应该被忽视或掉以轻心。面向专业开发人员的低代码功能??虽然低代码提供了多种开箱即用的服务,无需编写代码即可组装应用程序,但人们越来越需要更复杂的功能来支持开发人员的思维方式和现代IT。其中包括:(1)使用数据大多数低代码平台都是可扩展的,提供与供应商的直接集成,并使IT能够将API、Web服务和命令行变成可重用的构建块。此外,这些开箱即用的集成将允许您连接到外部API,从而允许轻松使用和管理身份验证令牌、检索数据以及一定程度的查询参数化。在标准连接器之外,开发人员经常面临身份验证、数据验证和错误处理等细微差别,这些细微差别有时会使特定技术的集成变得非常复杂,以至于他们可能会降低低代码开发的主要优势。因此,了解平台是否支持行业标准接口和协议(如:REST、JDBC和OData),或者是否开放并可以通过自定义代码和API进行扩展,将极大地影响大型开发团队的采用。(2)定制和复杂性过去对低代码开发的批评之一是它提供的应用程序类型的局限性。过去,许多“解决方案或垂直利基”平台只围绕常见的业务问题、概念或行业(例如,工作流或BPM),这在IT团队中造成了一种看法,认为它们缺乏灵活性,无法提供额外的功能想要或需要。然而,随着软件开发人员的角色和技术的进步,现代低代码平台也在进步。但自定义选项在不同平台上仍然存在很大差异。有些是隐藏代码的专有“黑匣子”;有些是开源的,提供对底层代码的访问。还有一些提供了用额外的自定义代码来补充生成的代码的能力。在采用任何平台之前,重要的是要了解开发人员将任何外部创新引入低代码平台的难易程度。能够快速构建应用程序,同时平衡对更复杂功能的需求是开发人员采用的一个基本因素。为了交付完全可定制的应用程序,开发人员需要类似专业代码的体验,他们可以在其中即时实施复杂的解决方案,适应边缘情况,或将独特的解决方案集成到最复杂的技术堆栈中。(3)企业开发为了在企业环境中采用,开发人员可能需要考虑与其特定环境相关的更深层次的功能集,包括平台如何实现:重用:资产的可重用性是IT团队生产力的关键驱动力。一个好的低代码平台应该允许用户重用预先配置的模块、核心功能、代码片段和后端集成器来快速构建不同的应用程序。可扩展性:低代码解决方案应该允许跨环境和应用程序扩展。例如,您可能拥有基础设施开发和部署应用程序的能力,但您的许可条款可能会限制它,反之亦然。因此,在设置它时,请注意平台容量并查看它是否适合您的可扩展性需求。真正可扩展的低代码平台具有定义明确的RESTAPI,可将UI与后端层分离,从而允许大规模开发应用程序并确保符合行业标准的性能和设计最佳实践。理想情况下,低代码平台必须具有快速的API创建和绑定工具,以及自动化的API文档,以帮助您将单一的遗留应用程序重建为基于现代微服务的微应用程序。DevOps:一个成熟的低代码平台应该集成和支持敏捷开发流程的能力。当涉及到DevOps功能时,请考虑:对应用程序进行版本控制或与GitHub等版本控制系统集成;在整个开发生命周期(开发、测试和其他环境)中工作;能够连接到工具;与持续集成、变更管理流程等集成;支持灾难恢复和数据科学的工具和其他特定功能。(4)合规性和安全性虽然普通开发人员通常没有经验或不了解安全性,但这对企业开发人员来说是至关重要的一步。在购买之前依靠内部安全团队评估平台应该被视为最佳实践。专家最好了解该平台如何适应基于角色的管理、数据屏蔽和其他注意事项,例如HIPAA合规性、托管约束或其他与安全相关的限制。低代码流程低代码应用程序可以快速构建,但构建它们时仍应牢记最佳实践。以下是有关如何成功选择和实施低代码的指南:(1)平台选择这个领域的供应商众多,公司可能很难知道在选择过程中从哪里开始。理想的策略应该是让传统IT帮助选择平台,遵循他们投入生产的任何其他技术工具或系统的相同流程。这意味着深入测试平台的功能、指导使用、教育用户、确保符合组织的架构计划、制定维护计划和退役策略等等。(2)规划您的第一个解决方案从路线图开始。这可能是显而易见的,但它有助于关注组织的即时需求,需求是什么?您需要什么样的应用程序?谁来建造它?规划可部署技术的范围,以确定数据安全、测试、所有权规则等方面的标准。实施低代码平台的很大一部分是了解您现在和将来的需求。(3)集成花时间了解所选平台将如何与日益复杂的技术栈接口,这些技术栈可能包括分布式系统、遗留应用程序、第三方API、现成软件等。此外,现代组织中的数据集成、各种数据格式和不同类型的端点可能很复杂并阻碍速度,尤其是在大型IT环境中。(4)构建在构建应用程序时,无论您是经验丰富的工程师还是普通开发人员,都不可避免地存在学习曲线。为获得最佳结果,请从小型应用程序开始,建立对您的工具集的信心,并采用敏捷的思维方式。通过快速原型设计、快速反馈和迭代鼓励快速失败的心态。(5)测试由于低代码编程可以最大限度地减少编写应用程序所需的时间和精力,因此许多人认为它可以减少QA团队测试应用程序所需的时间。但是,低代码应用程序的功能和性能测试与任何其他类型的应用程序一样重要。事实上,在某些方面,拥有可靠的QA流程对于低代码环境比传统应用程序更为重要,因为它们通常构成必须与外部数据源集成的更大工作流的一部分。(6)部署低代码的直接好处是部署速度——通常只需单击一下。但是有这么多选择——公共云、私有云、混合云和本地部署——仍然需要具有开发技能的人来管理基础设施和架构的细微差别,以便将应用程序投入生产。还要注意如何做到这一点,以消除与管理、验证和扩展应用程序相关的额外技术负担。低代码底线低代码平台似乎具有长期使用的优势,因为它们在解决成本、范围和时间限制方面具有优势。低代码的商业案例继续增长,相反,对低代码不能满足企业需求或它们将取代人类编码的毫无根据的担忧继续减少。如果IT部门超负荷或无法满足交付计划,低代码可能很诱人。然而,采用的关键是从小处着手,同时构建组织能力和技能。足够简单,让初学者可以构建高价值的应用程序,也足够复杂,让专业开发人员可以应对复杂的挑战。虽然这些平台可能无法解决所有开发挑战,但它们简化并缩短了软件开发的几个阶段。因此,无论是一次性原型、概念验证还是关键业务管理系统,低代码都具有为现代企业提供灵活性和创新的巨大潜力。原文链接:https://dzone.com/refcardz/low-code-application-development
