

Connectは、異なる言語やプラットフォームを持つタイプセーフAPIを構築するためのライブラリのファミリーです。 @connectrpc/connectは、それらをタイプスクリプト、Webブラウザー、およびnode.jsに持ち込みます。
Connectを使用すると、最初にスキーマを定義します。
service ElizaService {
rpc Say(SayRequest) returns (SayResponse) {}
}
そして、コード生成の魔法で、このスキーマはサーバーとクライアントを生成します。
const answer = await eliza . say ( { sentence : "I feel happy." } ) ;
console . log ( answer ) ;
// {sentence: 'When you feel happy, what do you do?'} RESTとは異なり、リモートプロシージャコールはタイプセーフですが、フードの下で通常のHTTPです。ネットワークインスペクターのすべてのリクエストを確認できます。必要に応じてcurlできます。
curl
--header ' Content-Type: application/json '
--data ' {"sentence": "I feel happy."} '
https://demo.connectrpc.com/connectrpc.eliza.v1.ElizaService/SayConnectは、唯一の完全に準拠したProtoBuf JavaScriptライブラリであるProtoBuf-ESを使用します。
Connect RPCの3つのプロトコル:広く利用可能なGRPCおよびGRPC-WEBプロトコル、およびWeb向けに最適化されたConnect独自のプロトコル。これにより、多くのプラットフォームと言語で比類のない相互運用性が得られ、タイプセーフティのエンドツーエンドが得られます。
Viteを使用して反応する10分間のチュートリアルに従って、ElizaのWebインターフェイスを作成します。
React 、 Svelte 、 Vue 、 Next.JS 、 Angularがサポートされています(例を参照)、Tanstackクエリ用の拡張パックがあります。広く利用可能なFetch APIとエンコードAPIを実装するすべての最新のWebブラウザーをサポートしています。
10分間のチュートリアルをフォローして、node.jsのサービスをスピンアップし、Webから、および端末のGRPCクライアントから電話をかけます。
Connect RPCSをVanilla node.jsで提供するか、サーバープラグインを使用して、 fustify 、 next.js 、 expressに使用できます。 node.js v18.14.1以降は、組み込みのhttpおよびhttp2モジュールでサポートします。
V1からV2に移行している場合は、移行ガイドをご覧ください。
Bun、Deno、Vercel's Edge Runtime、CloudFlareワーカーなどの他のプラットフォームでConnectを使用しますか?私たちはあなたのユースケースとあなたがConnectで何をしたいかについて学びたいです。 BUF SlackまたはGitHubの問題を提出することで、私たちに連絡することができます。チャットを喜んでいます!
ライブラリと生成されたコードは、ES2017およびTypeScript 4.9.5と互換性があります。
Apache 2ライセンスの下で提供されます。