跳过主内容
Deno 2 终于来了 🎉️
了解更多
An escape hatch offers customization at the code level in your low-code solution.

你的低代码解决方案需要一个“逃生门”

低代码解决方案——可视化工作流构建器——可以通过显著减少开发工作量和复杂性为你的用户带来价值。但是,随着你的平台功能随着更多集成和功能的增长而增长,你的用户将不可避免地需要更多定制才能满足他们的需求。与其试图预测和构建所有用例,更具创新性的平台会简单地提供一个“逃生门”,让用户编写、托管和运行专门为解决他们问题而设计的自定义代码。

弄清楚在低代码解决方案中在哪里以及何时添加可自定义的代码块是一个重要的产品决策,这可能需要有意义的工程工作量。在这篇文章中,我们将介绍三种常见的在低代码平台中添加代码级自定义“逃生门”的方法。

让我们开始吧。

用于数据转换的内部自定义块

大多数低代码平台通过可视化的拖放界面实现工作流自动化。连接器通常是云集成,而“块”要么转换数据有效载荷,要么触发事件。常见的例子包括像 Zapier 和 IFTTT 这样的云连接器工作流构建器,但也包括像 Descope 这样的平台,它是一个拖放式用户身份验证和管理工具。

This low-code example allows you to build a lead scoring system through a drag and drop interface.

这个低代码示例允许你通过拖放界面构建一个潜在客户评分系统。

用户可能希望在工作流期间转换或使用数据有效载荷的方式上获得更多灵活性。例如,如果工作流旨在根据行为计算潜在客户评分,那么如果用户想从外部 API 中提取数据并使用他们自己的算法怎么办?或者如果工作流是评估购买风险,而用户有自己的方法来计算该风险?提供一个“块”,让用户可以在其中编写代码来完全控制数据,这将具有巨大的价值。

Adding a custom code block in between connectors in a low code workflow builder.

使用自定义代码块,用户可以提取必要的数据并使用他们自己的算法来定制他们的业务,以计算潜在客户评分。

构建这个可以接收自定义代码并运行它的“块”可能很棘手,因为它有两个主要考虑因素:安全性和性能。

安全性意味着任何人的自定义代码都无法访问其他用户的环境、任何共享的全局对象,甚至你的底层基础设施。这样做不仅会导致个人数据泄露,还会导致用户对你的产品失去信心和信任。在设计你的自定义代码“逃生门”时,必须在部署之间设置多层防御,以最大限度地提高安全性。

性能也极其重要。当你的用户自定义代码块被启动时,应该尽量减少冷启动,以确保整个工作流立即发生。例如,对于评估退款风险或用户身份验证的低代码平台来说,他们的 API 响应可能会启动对业务至关重要的下游工作流,其中每毫秒都很重要。在评估潜在的技术解决方案时,确定哪个解决方案的冷启动时间最短将使你的用户满意。

使用 Deno Subhosting 在安全托管的沙箱中运行来自多个客户的不可信 JavaScript。 立即免费开始.

自定义外部 HTTP 连接器

大多数工作流自动化构建器提供外部 HTTP 连接器,允许用户通过接收传入的 webhook 启动工作流,或者在工作流中发送 HTTP 请求。虽然提供 webhook 使开发人员能够将第三方外部服务集成到你的平台,但 它不是最佳的开发体验。开发人员有责任建立和维护服务器(或队列)以确保正确接收和处理 webhook。

A low-code workflow using an external HTTP webhook connector.

如果你的用户想在将数据路由到第三方 API 之前对其进行转换怎么办?也许这个用例太小,以至于建立和维护一个高可用性服务器是矫枉过正。这个用户只是想能够编写一小段无服务器代码,该代码在调用时立即运行。

在上面的场景中,webhook 只是解决方案的开始。明智的平台超越了 webhook,并为他们的用户提供了一个自定义代码块,该代码块接收 webhook 有效载荷,并允许代码使用诸如发送另一个 HTTP 请求到另一个 Web 服务等操作来对其进行自定义操作。这些小型基于 Web 的文本编辑器可以预先加载访问特定 npm 模块的功能,以便用户可以立即提高生产力。

Adding a custom HTTP handler as a block in a low-code workflow builder.

对于这种情况,性能和安全性再次是最重要的考虑因素。此代码需要立即执行,并且不能访问任何其他用户的代码块或你的底层基础设施。

自定义仪表板和网站组件

对于低代码仪表板、报告甚至网站构建解决方案来说,通常会有预先制作的图表、图形或 UI 组件可以摄取和可视化数据。虽然可以构建所有可能的图表和组件类型,但很难预测你的最终用户对他们的用例需要什么。

Typical workflow for using a pre-made chart component in a low-code environment.

一种方法是提供一个自定义代码组件,用户可以在其中构建他们自己的图表、图形或 UI 小部件。这段代码可以要么直接操作数据并以可被图表或图形解析的方式输出它,要么甚至可以使用户能够控制如何呈现图表或图形。

Adding a custom code block that allows users to build their own UI components.

通过允许你的用户使用代码创建自定义 UI 组件,它可以节省工程资源,使其不必预测和构建大量潜在用例。例如,巴西顶级电子商务平台提供了一个低代码所见即所得的网站编辑器以及编辑原始代码以创建可重复使用、可组合的小部件,用于店面。这个“逃生门”为他们的用户提供了最大程度的控制和灵活性,让他们可以构建定制的解决方案来满足他们的需求。

Deno Subhosting:安全地运行不可信 JavaScript,并尽量减少冷启动

虽然你可以构建自己的基础设施来运行不可信代码,但在最大限度地提高安全性并尽量减少冷启动方面,存在着重大的设计复杂性。 Deno Subhosting从安全角度设计的,比使用 AWS Lambda 性能更高,并且经过战斗测试,因为它支持企业用例,例如 每天处理超过 2.55 亿个请求的 Netlify.

如果你有兴趣在几周而不是几个月内在你的低代码平台中启动自定义代码小部件,请 立即免费试用 Deno Subhosting.