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

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

End-to-end typesafe APIs made easy

codecov weekly downloads GitHub License GitHub Stars

はじめに

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

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

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

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

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

tRPCは誰のためのものか?

tRPCはフルスタックTypeScript開発者のためのものです。アプリのフロントエンドとバックエンドの両方で安全に使用できるエンドポイントを簡単に記述できます。API契約における型エラーはビルド時に検出されるため、実行時のアプリケーションのバグ発生箇所を減らせます。

特徴

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

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

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

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

  • 🐻  新規・既存プロジェクト向け - 新規に始めるのも、既存のブラウンフィールドプロジェクトに追加するのも簡単

  • 🔋  フレームワーク非依存 - tRPCコミュニティが主要なフレームワーク向けにアダプターを構築しています

  • 🥃  サブスクリプション対応 - アプリケーションに型安全な可観測性を追加

  • ⚡️  リクエストのバッチ処理 - 同時に行われたリクエストを自動的に1つにまとめる

  • 👀  例 - 学習用や開始点としてサンプルを確認してください