江西九江租车公司排行榜
380
2023-05-21
“低代码”的多种类型
关键要点
低代码平台的真正力量不是支持普通开发人员,而是通过提供减少编码需求的技术、框架和方法来授权专业开发人员。低代码平台有两种起源:基于工作流和代码生成。低代码平台生态系统是非常多样化的,它结合了八个关键的、重叠的方面的各种组合,包括执行方法、架构方法、部署选项和目标人物。支持异构技术团队的低代码平台有五个基本方面:可扩展性、可伸缩性、DevOps能力、部署选项、图形工具/编码选项。要为技术团队选择合适的低代码平台,重要的是要理解工具、扩展点、集成功能、API、底层技术以及它提供的持续集成和部署选项。
当我们听到“低代码”平台时,我们通常也会听到开发人员如何图形化地创建企业应用程序,而不需要编写代码。本文提供了一个不同的视角,它研究了当今存在的许多不同风格的低代码平台,以及它们对专业开发人员的最佳服务的重要性。
低代码起源
关于“低代码”的困惑部分来自于对低代码开发平台的误解。低代码平台通常有两种主要的起源。低代码平台不是昨天才出现的;它们是两种不同的、成熟的现有技术的逻辑演进:
工作流和业务流程管理(BPM)平台:这些平台是低代码的先驱。在其最基本的形式中,BPM将业务逻辑封装在业务流程模型中,而不是对该逻辑进行编码。对于BPM平台,可以使用标准编辑器(例如BPMN2,它在BPM平台中广泛使用)图形化地设计业务逻辑,然后由事务流程引擎执行模型。这被称为模型驱动开发。如今,大多数BPM平台都添加了可以用来构建完整业务应用程序的工具和框架。BPM平台的一些例子包括Appian、Pega、K2、Bizagi和Bonita。代码生成平台:这些平台提供了可视化的应用程序开发环境,以简化应用程序的创建。一旦应用程序完成,平台就会生成可执行代码。今天,许多这些平台还添加了一些工作流功能,以完成其原始的webflow方法来设计业务应用程序逻辑。这些平台的一些常见例子包括Outsystems、Kony和Progress Kinvey。
但随着市场和软件的成熟,低代码用户现在有更多的选择可以考虑——不再只是“香草”和“巧克力”,而是至少“31种口味”的低代码平台。如何选择?选择一个低代码的解决方案可能不像选择本月的冰淇淋口味那么容易。选择正确的平台意味着要考虑以下标准以及它们如何融入您的需求:
经营范围:流程自动化、智能自动化、微服务编排、案例管理、业务应用开发目标人物:一般开发人员,专业开发人员,两者的混合执行方法:(如上所述)模型驱动的开发,代码生成,两者的混合体系结构方法:基于组件或服务,可嵌入的功能,平台可扩展性,可用的APIs项目复杂性:小/中/大项目,可伸缩性,容错能力和性能,同步和异步执行部署选项:本地、公共/私有/混合云、SaaS、aPaaS集成选项:云集成、遗留集成、DevOps工具学习和补充材料:免费、开源、教程、GitHub存储库示例
专业开发人员不可替代的作用
让我们仔细研究一下,普通开发人员在没有专业开发人员参与的情况下构建关键应用程序。
一些面向普通开发人员的低代码平台的支持者说,使用低代码平台可以解决缺乏可用开发人员来支持所有所需项目的问题。当没有足够的专业开发人员开发企业应用程序时,普通开发人员是否有可能填补这一空白?或者他们甚至会取代专业开发人员?我绝对不这么认为。但是,即使这是可能的,只使用普通开发人员也只是通过创建一个更大的问题来解决一个问题:最终负责企业应用程序的IT团队如何从非技术人员构建的应用程序中获得最佳性能、维护和发展。
坦率地说,不让专业开发人员参与开发是很危险的。尤其令人害怕的是,非专业的开发人员可能正在管理核心应用程序的实现,比如,作为低代码平台支持的数字转换计划的一部分!
低代码平台的真正力量是通过提供技术、框架和方法来提高可重用性并减少对代码的需求——而不是消除它,从而支持普通开发人员和专业开发人员;专业开发人员需要低代码平台,通过正确的技术集来提高生产力,同时支持与公民开发人员的协作。
除了来自低代码平台的专业开发人员,专业开发人员对低代码平台开发企业应用至少有五个基本要求:可扩展性、图形工具+编码选项、DevOps和持续交付、部署选项和可伸缩性。我还要补充第六项:开源选项提供的优势,包括在做决定之前尝试使用一个平台的能力,减少学习曲线,并成为社区的一部分分享。
可扩展性带来的灵活性提供了自由:开发者和其他人一样喜欢自由。面对要在其上构建应用程序的完整平台,开发人员只选择他们需要的组件(例如,只选择流程引擎,或者可能是流程引擎和用户界面设计器)的能力提供了灵活性。可扩展性带来了扩展库、框架或平台并改进它的自由(例如,通过向第三方系统添加新的连接器,或添加缺失的REST API)。使用另一个服务或组件替换一个服务或组件的自由度(例如,替换默认的身份验证或SSO服务)。可以自由地将其与其他首选解决方案结合(例如,使用特定的事务管理器、数据库、应用服务器或持续集成工具)。面向开发人员的低代码平台仍然需要允许自由编码。
为异类团队提供图形工具和编码的良好组合:开发人员可能喜欢编码,但他们通常不喜欢重复工作。如果有一种易于使用、功能强大且图形化的方法来设计网页或以图形化方式配置流程参数,那么总有人会很乐意使用它。当然,也总会有人不想要或不需要“易于使用”的工具。真正喜欢编写代码的开发人员如果可以选择使用自己喜欢的javascript库创建web页面,或者使用XML文件配置流程参数,那么低代码的方法也可以接受。面向开发人员的低代码平台有效地支持具有不同偏好和技能水平的技术团队。
用于协作和持续交付的工具:数字转型就是快速构建新的能力,看看哪些是可行的,哪些是不可行的,并根据反馈和利用敏捷性做出改变。如果没有专业开发人员和DevOps团队的参与,该如何工作?今天构建软件意味着使用本地集成技术,如Github用于协作和存储库管理,Docker用于自动化交付,Jenkins用于持续集成,Ansible用于应用和平台的准备和部署。开发人员的低代码平台应该允许他们使用自己喜欢的方法和框架。
支持多学科开发团队:在企业实现中,跨分布式开发团队工作的变更管理设施是至关重要的。开发团队通常由不同的概要文件(前端和后端)组成,他们可能使用混合开发方法,如上所述。有些开发者可能更喜欢使用图形工具进行用户界面开发,而有些开发者则更喜欢使用HTML5和Javascript进行手工编码。低代码平台允许异构团队之间的协作,这可能有助于解决“缺少可用开发人员来支持所有需要完成的项目”的问题。
架构和可伸缩性的灵活选择:无论应用程序是部署在本地,还是通过SaaS,还是在公共、私有或混合的云上,专业开发者都希望能够清楚地了解该平台将构建的应用程序的架构。这允许他们为性能和可伸缩性建模和设计这些应用程序,改善应用程序组件和服务之间的通信,或将用户界面和数据从业务流程中解耦。对于架构、可扩展性和代码自由的清晰视图,对于开发人员构建在不同环境下运行和扩展的企业应用程序至关重要。
先试后买;学习和分享:开发人员,像其他人一样,当然更愿意参与选择他们将要使用的工具的过程。开源和免费模式平台在这方面走在了前面。开源产品的优势在于任何人都可以下载并开始使用它。一般来说,它的背后也有一个社区,可以提出问题、给出反馈和分享最佳实践。
低代码用于高协作:数字转换计划需要代码以及一个由业务用户、技术技能和最终用户组成的伟大团队,才能成功地创建创新的企业应用程序。选择合适的低代码平台来增强数字转换团队的能力,意味着要清楚地理解它所提供的工具、扩展点、集成功能、API、底层技术以及持续集成和部署选项;事实上,任何复杂的低代码项目实现都必须涉及专业开发人员。这并没有剥夺使用这些平台的任何好处(包括开发速度),但应该帮助我们关注真正的问题:如何在低代码平台的环境中更好地为专业开发人员服务,以及如何改进这些项目中不同角色(包括公民开发人员)之间的协作。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。