メインコンテンツへスキップ
バージョン: 9.x
非公式ベータ版翻訳

このページは PageTurner AI で翻訳されました(ベータ版)。プロジェクト公式の承認はありません。 エラーを見つけましたか? 問題を報告 →

tRPC

End-to-end typesafe APIs made easy

codecovGitHub LicenseGitHub Stars

Watch Video

Alex / KATT and Prisma's Mahmoud Abdelwahab doing a deep dive into tRPC.

はじめに

tRPC allows you to easily build & consume fully typesafe APIs, without schemas or code generation.

TypeScriptと静的型付けがウェブプログラミングにおけるベストプラクティスとして普及する中で、API開発は大きな課題となっています。クライアントとサーバー間(またはサーバー間)で、APIエンドポイントを静的に型付けし、それらの型を共有するより良い方法が必要です。私たちは、現代のTypeScriptの力を最大限に活用した型安全なAPI構築のためのシンプルなライブラリの開発に着手しました。それがtRPCです!

従来のRESTやGraphQLに代わる選択肢

現在、TypeScriptで型安全なAPIを実装する主流の方法はGraphQLです(そしてそれは素晴らしいものです!)。しかしGraphQLは言語に依存しないAPI仕様として設計されているため、TypeScriptのような言語の持つ力を完全には活用できません - 詳細はこちら

プロジェクトがフルスタックTypeScriptで構築されている場合、コード生成に頼ることなく、クライアントとサーバー間で型を直接共有できます。

特徴

  • ✅  十分にテストされ、本番環境での使用に耐える

  • 🧙‍♂️  クライアント側での完全な静的型安全性とオートコンプリート(入力・出力・エラーに対応)

  • 🐎  高速な開発者体験(Snappy DX) - コード生成、実行時の肥大化、ビルドパイプラインなし

  • 🍃  軽量 - tRPCは依存関係がなく、クライアントサイドのフットプリントも非常に小さい

  • 🐻  既存のブラウンフィールドプロジェクトへの容易な追加

  • 🔋  充実の標準機能 - React.js/Next.js/Express.js/Fastifyアダプターを内蔵 (ただしtRPCはReactに縛られておらず、他のライブラリ向けのコミュニティ製アダプターも多数存在します)

  • 🥃  サブスクリプション対応

  • ⚡️  リクエストのバッチ処理 - 同時発生したリクエストを自動的に統合

  • 👀  参考資料やスタートポイントとして活用できる多数の実装例