

Connect هي عائلة من المكتبات لبناء واجهات برمجة التطبيقات الآمنة من النوع مع لغات ومنصات مختلفة. @ConnectRPC/Connect يجلبهم إلى TypeScript ، ومستعرض الويب ، وإلى node.js.
مع الاتصال ، يمكنك تحديد مخططك أولاً:
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/Sayيستخدم Connect Protobuf-ES ، مكتبة Protobuf JavaScript الوحيدة المتوافقة تمامًا.
يقوم Connect بتنفيذ بروتوكولات RPC: بروتوكولات GRPC و GRPC و GRPC المتاحة على نطاق واسع ، وبروتوكول Connect الخاص ، تم تحسينه للويب. يمنحك هذا إمكانية تشغيل متداخلة لا مثيل لها عبر العديد من المنصات واللغات ، مع السلامة من النوع إلى النهاية.
اتبع البرنامج التعليمي لمدة 10 دقائق حيث نستخدم Vite ونتفاعل لإنشاء واجهة ويب لـ Eliza.
يتم دعم React و Svelte و Vue و Next.js و Angular (انظر الأمثلة) ، ولدينا حزمة تمدد لاستعلام Tanstack. نحن ندعم جميع متصفحات الويب الحديثة التي تنفذ واجهة برمجة تطبيقات Fetch المتاحة على نطاق واسع و API الترميز.
اتبع البرنامج التعليمي لمدة 10 دقائق لتدوير خدمة في Node.js ، واتصل بها من الويب ، ومن عميل GRPC في المحطة الخاصة بك.
يمكنك خدمة Connect RPCs مع Vanilla Node.js ، أو استخدام مكونات الخادم الخاصة بنا لـ Fastify و Next.js و Express . نحن ندعم node.js v18.14.1 وبعد ذلك مع وحدات http و http2 المصممة.
إذا كنت تهاجر من V1 إلى V2 ، تحقق من دليل الترحيل الخاص بنا ؛
هل ترغب في استخدام Connect على منصات أخرى مثل Bun أو Deno أو Vercel's Edge Runtime أو CloudFlare العمال؟ نود أن نتعرف على حالات الاستخدام الخاصة بك وما ترغب في القيام به مع Connect. يمكنك الوصول إلينا إما من خلال Slack Buf أو عن طريق تقديم مشكلة github وسنكون أكثر من سعداء بالدردشة!
تتوافق المكتبات والرمز الذي تم إنشاؤه مع ES2017 و TypeScript 4.9.5.
عرضت تحت رخصة Apache 2.