tRPCとは?
てぃーあーるぴーしー
tRPCとは、TypeScriptプロジェクトでAPIをエンドツーエンドで型安全に呼び出せるようにするライブラリで、スキーマ定義なしにサーバーとクライアント間の型共有を実現します。
tRPCは、TypeScript製のフルスタックWebアプリケーションにおいてサーバーとクライアントの間のAPIを型安全に結ぶためのライブラリです。REST APIやGraphQLとは異なり、スキーマファイルやコード生成を必要とせず、TypeScriptの型システムだけを使って型情報を自動的に共有できる点が最大の特徴です。
通常のREST APIでは、サーバー側のレスポンス型とクライアント側の受け取り型を別々に管理するため、変更時に型のずれが起きやすくなります。tRPCはサーバー上で定義したプロシージャ(関数)の型をそのままクライアントから推論できるため、コンパイル時に型の不一致を検知でき、ランタイムエラーを大幅に減らせます。
tRPCの主な特徴は以下の通りです。
- スキーマ定義・コード生成が不要でシンプルな構成
- 入力バリデーションにZodなどと統合しやすい
- Next.jsやNuxt.jsとの親和性が高い
- サブスクリプション(WebSocket)にも対応
- バンドルサイズが軽量
モノレポ構成やNext.jsのAPIルートと組み合わせたフルスタック開発で特に力を発揮し、近年のTypeScriptエコシステムで急速に採用が広がっています。
使い方・例文
Next.jsアプリでtRPCを使うと、サーバー側のgetUserプロシージャの戻り値型が変わった瞬間に、クライアントのコードが自動的に型エラーを示すため、APIの変更漏れをビルド段階で気付けます。
この用語をシェア
最終更新: