在低代码世界中编程

低代码简化软件开发 程序员和软件工程师都适用。 低代码框架 通过减少冗余和单调的任务来简化流程。开发人员可以 构建、测试并交付版本 轻松 使用低代码平台,例如 Mendix.
在 较早的博客文章首席营销官 Nick Ford 探讨了如何 使工作更智能 平台让软件工程师能够专注于他们最擅长的事情:编程。在这篇博文中,我想更深入地探讨一下 Mendix 帮助支持软件工程师最擅长的工作的平台。
继续阅读以了解更多有关软件工程师如何利用低代码作为模型驱动的开发平台蓬勃发展的信息。
应用程序开发人员的 3 个关键低代码开发功能
有三个关键领域 Mendix 软件工程师可以利用他们的技能为应用程序生命周期中涉及的其他人提供更好的开发体验。
- 模型扩展
- 模型SDK
- 平台 API
每个工具都旨在帮助工程师扩展平台以满足其组织的需求。让我们逐一了解这些工具,看看如何在 Mendix 平台。
模型扩展:有效、安全且可重复使用
在我与 Mendix,我经常被问到的一个问题是:“我在哪里可以看到生成的代码?”我的回答总是“没有代码!运行时会解释模型并生成您的应用程序。但这并不意味着您不能使用代码来扩展您的模型”。
模型驱动开发 并不是一个新概念,它已经存在很多年了。然而,过去的许多开发工具要么限制太多,要么难以定制。当可以定制时,通常需要更改生成的代码以满足客户需求。但一旦这样做,就会破坏模型,从而降低开发速度并使维护成为一场噩梦。
Mendix 采用不同的扩展方法。我们不是使用自定义代码来扩展您的应用程序,而是扩展建模器本身。通过扩展建模器功能,您可以始终确保您的模型和自定义代码扩展有效运行。您还可以确保编写的任何代码都可以在其他应用程序中重复使用。
有两种主要方法可以扩展你的模型 Mendix 平台使用自定义代码。这些是前端扩展(称为小部件)和后端扩展(称为连接器)。小部件允许您扩展您的 Mendix 使用 JavaScript 开发应用程序并利用您需要的任何 JavaScript 库,例如:React、Angular、Dojo 或 D3。连接器在服务器上运行,允许您创建自定义 Java/Scala 代码以利用任何 Java 或 Scala 库。除了自定义代码,我们还支持 REST、SOAP 和 OData 等本机集成。但我想在本博客中重点介绍使连接器和小部件对开发人员如此强大的功能。
连接器
连接器是扩展建模器功能的绝佳方式。连接器是自包含的包装器,可扩展本机微流功能。连接器在被微流调用时将执行一段 Java 代码,您可以在您喜欢的 IDE 中编辑该代码。连接器可以通过 Mendix 运行时 API。构建连接器时,您可以选择添加图标和说明,使其在 Mendix 工具箱。连接器的用户只需要将所需的参数传递给代码,而不必了解底层的Java代码。
连接器之所以如此强大,是因为它们拥有丰富的参数和返回类型。在构建任何集成时,您都希望它尽可能易于使用,并尽可能通用。通过使连接器通用,可以确保在不同情况下更轻松地重复使用,例如为不同的用例传递不同的数据。
例如,连接器可以有许多参数,这些参数可以是通用的、类型的或静态的。连接器参数目前支持字符串、布尔值、整数、小数、对象、列表以及任何对象和任何列表。定义参数和返回类型后, Mendix 平台将生成一个代码包装器,您可以在其中定义自己的自定义代码。您可以在您最喜欢的 IDE(例如 Eclipse、IntelliJ 等)中编辑代码。在连接器代码中,您可以添加自己的自定义代码来调用所需的任何 Java 或 Scala 库。这些库位于项目的 userlib 文件夹中,可供您使用。
小工具
小部件是前端开发的扩展 Mendix. 小部件经过打包,因此它们是独立的,可在多个应用程序中重复使用。小部件可以利用任何可用于 Web 或 Cordova/Phonegap 的 JavaScript 库。小部件构建完成后,可以将其分发到 App Store,以便在您的组织内重复使用或与 Mendix 社区。有几种工具可用于帮助构建小部件,包括 Typescript、ES6 或纯 Javascript 版本,但就我个人而言,我总是从使用 Mendix 发生器。 这 约曼 脚本运行时会自动生成必要的脚手架,以开始您的小部件开发。如果您不熟悉 Yeoman 或 Javascript,我的同事 Jelte 给出了一个很好的 网络研讨会.
每个小部件所需的基础结构将包含 3 个基本文件:
- xml 文件——用于描述小部件的文件夹结构。
- xml 文件——用于描述可以传递给小部件的参数。
- js 文件——用于确定小部件的逻辑。
在小部件 xml 中,您可以定义传递给自定义代码所需的参数。参数具有不同的类型,具体取决于所需的数据,例如字符串、布尔值、属性、对象等。您还可以定义自定义代码需要哪些参数。通过这种方式设置小部件可确保其可靠、独立和可重复使用。例如,两个不同的开发人员可能想要使用同一个小部件,但想要传递来自不同实体的数据。通过使用实体和属性参数,小部件的用户可以使用他们需要的数据。
在小部件 JS 文件中,您可以定义想要导入到小部件中使用的任何附加库。
在小部件中使用代码的好处是,您可以完全访问小部件内的数据、实体信息和模型信息。每个小部件都可以使用 Mendix 客户端API 与对方互动 Mendix 模型数据。这使得小部件非常通用,允许用户传递任何类型的数据,这些数据可以使用 JavaScript 轻松检索。使用小部件检索的所有数据都应用了其数据访问权限。因此,小部件只有在用户有权访问数据时才会接收数据。
模型SDK:强大的支持工具和分析
我们已经探索了如何使用小部件和连接器扩展我们的模型,但如何访问有关模型本身的信息或以编程方式更改模型? Mendix Model SDK 是一个功能强大的 TypeScript 开发工具包,它建立在 Model SDK 之上,使开发人员能够以编程方式访问 元模型信息.
模型 SDK 有四个主要用例:
- 将应用程序从遗留代码库导入 Mendix
- 分析应用程序模型以进行静态分析
- 对您的申请进行批量更改
- 将模型导出到另一个代码库或平台
通过利用模型 SDK,开发人员可以围绕 Mendix 平台来扩展其功能。一个例子是 AQM 工具,它利用模型 SDK 执行软件质量分析。根据行业标准,为您提供五星评级,以评估您的应用程序构建得如何。模型 SDK 有无限的可能性,但如果您想开始使用,请查看 入门 文档和 API文件.
平台 API:具有个性化功能的广泛解决方案
- Mendix 平台附带了广泛的 API,可帮助开发人员将平台集成到其现有的 DevOps 管道中。通过使用 Visual Studio Team Services (VSTS) 或 Jenkins 部署管道等工具,可以利用 API 根据提交等触发器自动构建、测试和部署应用程序。这些应用程序可以使用 docker 或 cloud foundry 容器部署到任何公共云、本地或私有云产品中,并在 Kubernetes 或 Cloud Foundry 等任何容器平台上运行。开发人员可以组合来自 Mendix 产品来创建您自己的个性化管道。下面的视频演示了由我们值得信赖的合作伙伴构建的 Teamserver API、Build API、Docker Buildpack 和 ATS CICD API 聪明的,用于基于单次提交将应用程序实时部署到 Kubernetes 集群中。
关键外卖
我希望你从这篇博文中学到的关键一点是,仅仅因为它是低代码开发并不意味着不需要或没有创建代码的方法。总是存在需要一定程度的自定义的极端情况,当你需要它时 Mendix 平台支持,不信你亲自试试看!
现在,您要建造什么?