主要观点
- 低代码平台的真正力量不是让公民开发人员受益,而是通过提供减少代码需求的技术、框架和方法来增强专业开发人员的能力。
- 低代码平台有两种来源:基于工作流的平台和代码生成平台。
- 低代码平台生态系统非常多样,它结合了八个关键的重叠方面的各种组合,包括执行方法、体系结构方法、部署选项和面向人物角色。
- 支持异构技术团队的低代码平台有五个基本方面:可扩展性、可伸缩性、DevOps功能、部署选项、图形化工具/编码选项。
- 要为技术团队选择合适的低代码平台,必须了解工具、扩展点、集成功能、API、底层技术以及它提供的持续集成和部署选项。
通常当我们听到“低代码”平台时,我们也会听到“公民开发人员”可以图形化地创建企业应用程序,而不需要编写代码。本文提供了另一种观点,因为它研究了当今存在的许多不同风格的低代码平台,以及它们对于最好地为专业开发人员服务的重要性。
低代码家谱
关于“低代码”的困惑部分源于对什么是低代码开发平台的误解。低代码平台通常有两个主要来源。低代码平台并不是昨天才出现的;它们是两种不同的、成熟的现有技术的逻辑演变:
工作流和业务流程管理(BPM)平台
这些平台是低代码的先驱。在其最基本的形式中,BPM将业务逻辑封装在业务流程模型中,而不是对该逻辑进行编码。对于BPM平台,可以使用标准编辑器(例如BPMN2,它在BPM平台中广泛使用)以图形方式设计业务逻辑,然后由事务流程引擎执行模型。这叫做模型驱动开发。如今,大多数BPM平台都添加了可用于构建完整业务应用程序的工具和框架。BPM平台的一些示例包括Appian、Pega、K2、Bizagi和Bonita。
代码生成平台
这些平台提供了一个可视化的应用程序开发环境来简化应用程序的创建。一旦应用程序完成,平台将生成可执行代码。今天,许多这样的平台还添加了某种工作流功能,以完成其最初的webflow方法来设计业务应用程序逻辑。这些平台的一些常见例子包括Outsystems、Kony和Progress Kinvey。
但随着市场和软件的成熟,低代码用户现在有更多的选择要考虑——不再是香草和巧克力,而是至少“31种口味”的低代码平台。如何选择?选择一个低代码的解决方案可能不像选择本月的Baskin-Robbins风格那么简单。选择合适的平台意味着要考虑以下标准,以及它们是如何考虑到您的需求的:
- 范围:流程自动化,智能自动化,微服务编排,案例管理,业务应用开发
- 目标人物:公民开发者,专业开发者,两者兼而有之
- 执行方法:(如上所述)模型驱动开发,代码生成,两者兼而有之
- 架构方法:基于组件或服务的、可嵌入的功能、平台扩展性、可用的API
- 项目复杂性:小型/中型/大型项目、可扩展性、容错性和性能、同步与异步执行
- 部署选项:内部部署、公共/私有/混合云、SaaS、aPaaS
- 集成选项:云集成、遗留集成、DevOps工具
- 学习和提升材料:免费、开源、教程、GitHub存储库示例
专业开发人员不可替代的作用
让我们仔细研究一下公民开发人员在没有专业开发人员参与的情况下构建关键应用程序的想法。
一些支持面向公民开发者的低代码平台的人说,使用低代码平台可以解决缺乏可用开发人员来支持所有期望的项目的问题。当企业应用没有足够的专业开发人员时,公民开发者是否有可能填补这一空白?或者他们甚至会取代专业开发人员?我绝对不这么认为。但即使这是可能的,只使用公民开发者也只会通过创建更大的问题来解决一个问题:最终负责企业应用程序的IT团队如何从非技术人员构建的应用程序中获得最佳性能、维护和发展。
坦率地说,没有专业的开发人员参与开发是很危险的。尤其令人害怕的是,非专业的开发人员可能正在管理一个核心应用程序的实现,比如说,一家银行,作为由低代码平台实现的数字化转型计划的一部分!
低代码平台的真正威力在于通过提供技术、框架和方法来提高可重用性并减少对代码的需求(而不是消除),从而使公民开发人员和专业开发人员都能使用。
专业开发人员需要低代码平台,使他们能够使用正确的技术集来提高生产率,同时又能与公民开发人员协作。
除了低代码平台的专业开发人员
专业开发人员希望低代码平台开发企业应用程序至少需要五个方面:可扩展性、图形化工具+编码选项、DevOps和连续交付、部署选项和可伸缩性。
我将在这个列表中增加第六个:开源选项提供的优势,包括在做出决策之前尝试使用平台的能力、缩短学习曲线以及成为社区的一部分来分享。
通过可扩展性实现的灵活性提供了自由
开发者和其他人一样喜欢自由。面对构建应用程序的完整平台,开发人员只需选择所需的组件(例如,只需选择流程引擎,或流程引擎和用户界面设计器)的能力提供了灵活性。可扩展性带来了扩展库、框架或平台并对其进行改进的自由(例如,通过向第三方系统添加新的连接器,或添加缺少的restapi)。可以自由地将一个服务或组件替换为另一个(例如,替换默认的身份验证或SSO服务)。可以自由地将其与其他首选解决方案相结合(例如,使用特定的事务管理器、数据库、应用服务器或持续集成工具)。对于开发人员来说,低代码平台仍然需要允许自由地编写代码。
为异构团队提供图形工具和编码的良好组合
开发人员可能喜欢编写代码,但他们通常不喜欢重新设计轮子。如果有一种易于使用、功能强大且图形化的方法来设计网页或以图形方式配置流程的参数,那么总会有人乐于使用它。当然,也总会有人不想要或不需要“易于使用”的工具。真正喜欢编写代码的开发人员如果还可以选择使用自己喜欢的javascript库创建web页面,或者使用XML文件来配置流程参数,那么他们就可以使用低代码方法了。面向开发人员的低代码平台有效地支持具有不同偏好和技能级别的技术团队。
协作和持续交付工具
数字化转型就是要快速构建新的能力,看到哪些是有效的,哪些是不起作用的,并根据反馈和利用灵活性做出改变。如果没有专业开发人员和DevOps团队的参与,这是如何工作的?使用JenansGitIble等软件实现自动化部署,并使用DockerHub技术实现应用程序的自动化部署和集成。面向开发人员的低代码平台应该允许他们使用自己喜欢的方法和框架。
支持多学科开发团队
在企业实现中,跨分布式开发团队工作的变更管理工具至关重要。开发团队通常由不同的概要文件(前端和后端)组成,这些概要文件可能使用混合开发方法,如上所述。一些开发人员可能更喜欢使用图形工具进行用户界面开发,而其他人则更喜欢使用HTML5进行手工编码,还有一些人喜欢使用Javascript。低代码平台允许像这样异构的团队之间进行协作,这可能有助于解决“缺少可用的开发人员来支持所有需要完成的项目”的问题
灵活的架构和可扩展性选择
无论应用程序部署在本地、通过SaaS,还是部署在公共、私有或混合云上,专业开发人员都希望能够清楚地看到将与该平台一起构建的应用程序的架构。这使他们能够为性能和伸缩性对这些应用程序进行建模和设计,改进应用程序组件和服务之间的通信,或者将用户界面和数据与业务流程分离。清晰的架构视图,加上可扩展性和代码自由度,对于开发人员构建在不同环境下运行和扩展的企业应用程序至关重要。
先试后买;学习和分享
与其他人一样,开发人员当然更愿意参与选择他们将使用的工具的过程。在这里,开源和freemium模型平台处于领先地位。开源产品的优点是任何人都可以下载并开始使用它。一般来说,它背后还有一个社区,可以提问、提供反馈和分享最佳实践。
低代码代表高度协作
数字转型计划需要代码以及一个由业务用户、技术技能和最终用户组成的团队,才能成功地创建创新的企业应用程序。选择合适的低代码平台来增强数字化转型团队的能力,意味着要清楚地了解它所提供的工具、扩展点、集成能力、API、底层技术以及持续集成和部署选项。
事实上,专业开发人员必须参与任何复杂的低代码项目实现。这并没有剥夺使用这些平台的任何多重好处(包括开发速度),但这应该有助于我们关注真正的问题:如何在低代码平台环境下更好地为专业开发人员服务,以及如何改善这些项目中不同角色(包括公民开发人员)之间的协作。
关于作者
Bonitasoft首席执行官兼联合创始人米格尔·瓦尔德斯·福拉(Miguel Valdes Faura)领导着公司的使命:利用基于Bonita BPM的数字业务自动化平台,充分发挥开发团队的潜力,创造无缝、吸引人和个性化用户体验的应用程序。
在加入Bonitasoft之前,Valdes Faura领导欧洲主要系统提供商Bull Information Systems的BPM部门的研发、售前和支持。Valdes Faura是业务流程管理领域公认的思想领袖,对开源社区建设充满热情。他是O'Reilly主办的国际会议、全球扩张峰会和网络峰会的常客,曾在福布斯、CNN和Mashable等媒体发表过专题报道。Valdes Faura在2014年获得了著名的CEO世界奖,并从工作流管理联盟和BPM.com网站2018年。
原文:https://www.infoq.com/articles/many-flavors-low-code
本文:http://jiagoushi.pro/node/1350
讨论:请加入知识星球【快速和低代码开发】或者小号【it_training】或者QQ群【11107767】
- 登录 发表评论
- 40 次浏览
最新内容
- 4 days 9 hours ago
- 4 days 11 hours ago
- 4 days 11 hours ago
- 1 week ago
- 1 week ago
- 1 week ago
- 1 week ago
- 1 week ago
- 1 week 4 days ago
- 1 week 4 days ago