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