tRPC 的工作原理
Posted: Sun Jan 26, 2025 6:51 am
tRPC 不使用模式或代码生成来构建 API。由于它旨在为开发人员提供更简单、更高效的选择,因此创建 tRPC API 相对简单。前端使用程序远程调用后端的数据。过程是可组合的,这意味着它们由组件组成。有两种类型的过程:查询和变更:
查询:查询是客户端发送的请求,目的是从后端获取数据。
突变:突变可以在后端创建、更新或删除数据。
使用 tRPC 时,您通常会发现使用 monorepo 更容易,并且该库鼓励您这样做。现代应用程序架构已经转向使用多个存储库来分隔后端、前端和其他关键区域。 monorepo 只是一个包含应用程序所有代码的存储库。 tRPC 类型定义是从您自己的 TypeScript 代码生成的,因此如果您选择不使用 monorepo,您可能会发现在尝试使用不同版本时开始出现各种问题。
使用 tRPC 的好处
尽管 tRPC 不如 GraphQL 受欢迎,但对于许多开发 丹麦手机号码列表 人员来说,它是一个更好的选择。这些是它的一些最大的好处。
1、简单、轻便
tRPC 是一个非常轻量级的库,您可以使用它来创建完整的功能性 API,而无需模式或代码生成。当客户端向服务器请求信息时,它只调用类型而不是代码本身,这涉及的处理要少得多。此外,tRPC 使用 TypeScript,这是一种静态类型语言。类型定义是在编译期间检查的,而不是在运行时检查的,这提高了应用程序的速度。
2.鼓励单一回购
通过 tRPC,使用 monorepo 通常要容易得多。虽然这个限制看起来像是一个缺点,但它实际上对于版本控制和 git 历史记录等事情非常有益。如果您运行的是旧版本的应用程序,您的前端将能够查询相应版本的后端。如果没有 monorepo,当您运行旧版本的界面时,应用程序将引用最新版本,该版本可能与您当前运行的版本不兼容。
3、快速发展
tRPC 是开发 API 最快、最简单的方法。 TypeScript 允许 tRPC 使用类型推断,这意味着自动检测(或推断)数据类型。类型推断有助于加快开发速度,尤其是在早期阶段。 tRPC 还可以方便地与大多数 IDE 集成,以进一步简化开发。
使用 tRPC 的缺点
与任何事情一样,tRPC 并不完美,也不适合所有人。它具有很强的局限性,这通常是该技术的缺点。
1.需要TypeScript
tRPC 完全以 TypeScript 为中心,被迫使用它可能会很烦人,特别是在小项目或某种通常不需要它的实用程序中。如果您决定在非 TypeScript 应用程序中开始使用 tRPC,则需要先实现这一点,然后才能开始使用 tRPC。
结论
GraphQL 是一个强大的工具,但它给项目增加了比通常必要的复杂性。 tRPC 是在前端调用后端函数的绝佳解决方案,它利用了 GraphQL 的许多优点,并且复杂性显着降低。如果您的下一个项目需要前端和后端,但您不想将它们分开,那么您可以考虑使用 tRPC!
查询:查询是客户端发送的请求,目的是从后端获取数据。
突变:突变可以在后端创建、更新或删除数据。
使用 tRPC 时,您通常会发现使用 monorepo 更容易,并且该库鼓励您这样做。现代应用程序架构已经转向使用多个存储库来分隔后端、前端和其他关键区域。 monorepo 只是一个包含应用程序所有代码的存储库。 tRPC 类型定义是从您自己的 TypeScript 代码生成的,因此如果您选择不使用 monorepo,您可能会发现在尝试使用不同版本时开始出现各种问题。
使用 tRPC 的好处
尽管 tRPC 不如 GraphQL 受欢迎,但对于许多开发 丹麦手机号码列表 人员来说,它是一个更好的选择。这些是它的一些最大的好处。
1、简单、轻便
tRPC 是一个非常轻量级的库,您可以使用它来创建完整的功能性 API,而无需模式或代码生成。当客户端向服务器请求信息时,它只调用类型而不是代码本身,这涉及的处理要少得多。此外,tRPC 使用 TypeScript,这是一种静态类型语言。类型定义是在编译期间检查的,而不是在运行时检查的,这提高了应用程序的速度。
2.鼓励单一回购
通过 tRPC,使用 monorepo 通常要容易得多。虽然这个限制看起来像是一个缺点,但它实际上对于版本控制和 git 历史记录等事情非常有益。如果您运行的是旧版本的应用程序,您的前端将能够查询相应版本的后端。如果没有 monorepo,当您运行旧版本的界面时,应用程序将引用最新版本,该版本可能与您当前运行的版本不兼容。
3、快速发展
tRPC 是开发 API 最快、最简单的方法。 TypeScript 允许 tRPC 使用类型推断,这意味着自动检测(或推断)数据类型。类型推断有助于加快开发速度,尤其是在早期阶段。 tRPC 还可以方便地与大多数 IDE 集成,以进一步简化开发。
使用 tRPC 的缺点
与任何事情一样,tRPC 并不完美,也不适合所有人。它具有很强的局限性,这通常是该技术的缺点。
1.需要TypeScript
tRPC 完全以 TypeScript 为中心,被迫使用它可能会很烦人,特别是在小项目或某种通常不需要它的实用程序中。如果您决定在非 TypeScript 应用程序中开始使用 tRPC,则需要先实现这一点,然后才能开始使用 tRPC。
结论
GraphQL 是一个强大的工具,但它给项目增加了比通常必要的复杂性。 tRPC 是在前端调用后端函数的绝佳解决方案,它利用了 GraphQL 的许多优点,并且复杂性显着降低。如果您的下一个项目需要前端和后端,但您不想将它们分开,那么您可以考虑使用 tRPC!