🔌tRPC vs GraphQL🔺
tRPC 在无需任何 schema 的情况下提供端到端 TypeScript 类型,GraphQL 则暴露语言无关的类型化 schema。这是仅限 TypeScript 与通用跨语言的分野。
用 moomz 发起投票:谁赢?
moomz.com — 10秒、匿名、免费
🔌tRPC
- ✓端到端类型安全,无需代码生成
- ✓在 TypeScript monorepo 中极简配置
- ✓无需学习或维护 schema 语言
- ✓极小运行时,出色的自动补全
🔺GraphQL
- ✓语言无关——任何客户端都能消费
- ✓带自省的自文档化 schema
- ✓成熟的工具链、缓存和生态
- ✓公共 API 和多类型客户端的理想选择
结论
控制两端的 TypeScript 全栈应用就选 tRPC。需要共享 schema 的公共 API 或多语言客户端就选 GraphQL。
常见问题
tRPC 是 GraphQL 的替代品吗?+
对 TypeScript monorepo 来说是的——但跨语言 API 仍然是 GraphQL 的强项。
tRPC 需要 schema 吗?+
不需要——tRPC 直接从你的 TypeScript 路由代码推断类型。
哪个能扩展到公共 API?+
GraphQL,凭借其语言无关的 schema 和广泛工具链。
其他语言