はじめに
tRPCを使用すると、スキーマやコード生成なしで、完全にタイプセーフなAPIを簡単に構築および利用できます。
TypeScriptと静的型付けがWeb開発のベストプラクティスになりつつある中、APIコントラクトは大きな課題となっています。APIエンドポイントを静的に型付けし、クライアントとサーバー(またはサーバー間)でそれらの型を共有するためのより良い方法が必要です。私たちは、最新のTypeScriptの能力を最大限に活用する、タイプセーフなAPIを構築するためのシンプルなライブラリを構築することに着手しました。
従来のRESTまたはGraphQLの代替
現在、GraphQLはTypeScriptでタイプセーフなAPIを実装する主要な方法です(そしてそれは素晴らしいです!)。GraphQLは、APIを実装するための言語に依存しない仕様として設計されているため、TypeScriptのような言語の能力を最大限に活用していません。
プロジェクトがフルスタックTypeScriptで構築されている場合、コード生成に頼ることなく、クライアントとサーバー間で直接型を共有できます。
tRPCは誰のためのものですか?
tRPCは、フルスタックのTypeScript開発者向けです。アプリのフロントエンドとバックエンドの両方で安全に使用できるエンドポイントを簡単に記述できます。APIコントラクトの型エラーはビルド時に検出され、実行時のアプリケーションのバグ発生の可能性を減らします。
機能
- ✅ 十分にテストされ、本番環境に対応しています。
- 🧙♂️ 入力、出力、エラーに対して、クライアント側で完全な静的型安全性と自動補完が可能です。
- 🐎 高速なDX - コード生成、ランタイムの肥大化、ビルドパイプラインは不要です。
- 🍃 軽量 - tRPCは依存関係がなく、クライアント側のフットプリントは非常に小さいです。
- 🐻 新規および既存のプロジェクト向け - 簡単に開始でき、既存のブラウンフィールドプロジェクトにも追加できます。
- 🔋 フレームワークに依存しない - tRPCコミュニティは、最も一般的なフレームワークのすべてにアダプターを構築しています。
- 🥃 サブスクリプションのサポート - アプリケーションにタイプセーフなオブザーバビリティを追加します。
- ⚡️ リクエストのバッチ処理 - 同時に実行されたリクエストは、1つに自動的にまとめることができます。
- 👀 例 - 例を確認して学習したり、出発点として使用したりしてください。