跳到内容
+

为什么选择 Toolpad Studio?

了解 Toolpad Studio 如何构建内部工具,以及它对你有什么用处。

TL;DR

  • 更高级别的 API。Toolpad Studio 的抽象级别高于 Material UI。它设置了健康的 UI 约束,以防止常见的陷阱和反模式。
  • 拖放式构建器。Toolpad Studio 配备了拖放式构建器,以简化 UI 构建。构建器将 UI 保存为 YAML 文件,因此你甚至可以在文件系统中修改和版本控制视觉输出。
  • 更少的样板代码,以便你可以专注于应用程序的基本部分。
  • 与现有代码并行运行。Toolpad Studio 与你现有的代码良好集成。你可以直接使用你的数据库模型、客户端库、密钥和定制组件。
  • 单一数据源。由于 Toolpad Studio 与你现有的代码并行运行,因此它可以让你为所有业务逻辑维护单一数据源。
  • 与你的开发生命周期良好集成。你的项目位于你的文件系统中。你可以使用你自己的 IDE、版本控制系统、部署目标、CLI 工具。

专业代码工具的局限性

大多数专业代码工具相对于 Toolpad Studio 的主要问题

交付速度较慢

每个组织都希望实现快速交付,但为了适应各种用例,你会被迫选择灵活的专业代码解决方案。

这种灵活性是以更多的样板代码为代价的。为了将后端数据连接到浏览器并设置数据展示组件,通常需要大量的样板 HTML、CSS 和 JavaScript 粘合代码。随着用例的重复出现,你创建了抽象,但它们的维护负担迅速增加。

如果你可以使用一种工具来抽象化创建内部工具的重复部分,那岂不是很好?

无法直接操作对象

根据专业代码工具的定义,你在 IDE 中编写代码,而 UI 在浏览器(不同的窗口)中呈现。

你无法在浏览器中直接操作参数、查询等。这使得更改应用程序变得更加困难。

如果可以在浏览器中直接操作创建的应用程序,并在最接近数据源的地方操作数据,那岂不是很好?

需要专门知识

使用专业代码创建内部工具需要前端技术知识。

虽然前端开发人员对此感到舒适,但大多数内部工具的开发人员都是全栈工程师,他们认为编写低级 CSS 和 React 代码是一种干扰

如果你可以使用一种平易近人的工具,而不需要成为 React 专家,那岂不是很好?

低代码工具的局限性

大多数低代码工具相对于 Toolpad Studio 的主要问题

可扩展性

低代码工具可能难以扩展。当工具默认情况下无法处理特定任务时,无缝集成你自己的代码通常是一个挑战。

这种缺乏灵活性通常会导致卡顿,或者不得不在这些应用程序内部编写自定义代码并将业务逻辑存储在它们的配置文件中。

如果该工具使用文件系统中的代码作为其数据源,那岂不是很好?

逻辑重复

当使用低代码或无代码工具时,由于缺乏可扩展性,代码和逻辑的重复经常发生。开发人员花费宝贵的时间来查找特定版本的业务逻辑并在多个位置维护它们。

代码库中缺乏统一的参考点可能会损害其可扩展性,使维护和调试更具挑战性。

更便宜的开发者工具

当开发人员使用低代码或无代码工具时,他们经常牺牲自主权,并受到工具提供的选项的限制。引入黑盒元素阻止了开发人员在使用专业代码时习惯使用的高质量工具的访问,例如用于版本控制的 Git。

当涉及到内部工具的长期可维护性时,这可能会导致一个重大问题,因为适应、扩展或自定义它们以满足不断变化的需求变得具有挑战性。

Toolpad Studio 如何适应

解决上述问题可以带来更好的开发者体验。Toolpad Studio 通过以下方式解决这些问题

How Toolpad Studio fits in your codebase

Toolpad Studio 如何适应你的工作流程

拖放式构建器

Toolpad Studio 充当拖放式 UI 构建器,并使用 MUI 自己的 Material UI 组件。Material UI 包括内部用例所需的所有基础组件。Toolpad Studio 目前支持其中的许多组件,并且还在不断添加更多组件。

Toolpad Studio 支持为其他用例添加任意数量的自定义 React 组件。拖放式构建器使你能够快速组装一个最小可行 UI,该 UI 可以无限自定义,从而确保两全其美:速度灵活性。

单一数据源

Toolpad Studio 提供了两种连接到数据的方式,确保你可以将数据保存在一个中心位置,并避免为你创建的每个内部工具复制数据

  1. 通过 HTTP 查询将 REST API 链接到 Toolpad Studio:这种常用方法允许你通过在可视化界面中构建 REST 查询来直接访问你的数据。
  2. 在你自己的 IDE 中编写自定义函数以连接到任何数据源:你可以使用你现有的脚本、业务逻辑、数据库模型、客户端库和密钥。这种方法可帮助你为所有内部工具维护单一的共享数据源,防止数据重复并确保应用程序之间的一致性。

与你的开发生命周期集成

Toolpad Studio 使你能够完全控制应用程序的整个开发生命周期。它以“本地优先”原则运行,你的项目驻留在你的本地文件系统上。这使你能够利用你首选的集成开发环境 (IDE)、版本控制系统、部署目标和命令行界面 (CLI) 工具。

与任何 Node.js 应用程序类似,你可以灵活地在你自己的服务器上自托管 Toolpad Studio 应用程序,或者选择适合你需求的托管提供商,无论是 AWS、Render、Railway 还是 Heroku。Toolpad Studio 不会将你限制在其云托管中,确保你可以自由选择最符合你的偏好和要求的托管解决方案。

像程序员一样协作

Toolpad 应用程序使用 YAML 文件作为其数据源。这意味着你可以像存储其他代码一样存储你的整个 Toolpad 应用程序,因此你可以继续使用你喜欢的源代码控制系统和开发者工作流程。

Toolpad Studio 与其他工具有何不同?

🚧 正在进行中,issue #2853