يعد buf
CLI أفضل أداة للعمل مع مخازن البروتوكول المؤقتة. وهو يوفر:
يمكنك تثبيت buf
باستخدام Homebrew (نظام التشغيل macOS أو Linux):
brew install bufbuild/buf/buf
يتم تثبيت هذا:
buf
و protoc-gen-buf-breaking
و protoc-gen-buf-lint
للتعرف على طرق التثبيت الأخرى، راجع وثائقنا الرسمية، والتي تغطي:
buf
عبر npmbuf
على نظام التشغيل Windowsbuf
كصورة Dockerتوفر واجهة المساعدة الخاصة بـ Buf ملخصات للأوامر والأعلام:
buf --help
للحصول على معلومات استخدام أكثر شمولاً، راجع وثائق Buf، وخاصة هذه الأدلة:
buf breaking
buf build
buf generate
buf lint
buf format
buf registry
(لاستخدام BSR) لن نقوم أبدًا بإجراء تغييرات جذرية ضمن إصدار رئيسي معين من واجهة سطر الأوامر (CLI). بعد وصول buf
إلى الإصدار 1.0، لا يمكنك توقع حدوث أي تغييرات جذرية حتى الإصدار 2.0. ولكن بما أننا لا نخطط لإصدار الإصدار 2.0 على الإطلاق، فمن المحتمل أننا لن نكسر سطر الأوامر buf
أبدًا.
لا تنطبق سياسة التغيير العاجل هذه على الأوامر الموجودة خلف بوابة
buf beta
، ويجب أن تتوقع إجراء تغييرات جذرية على أوامر مثلbuf beta registry
. ومع ذلك، تدخل السياسة حيز التنفيذ عندما يتم رفع تلك الأوامر أو العلامات من الإصدار التجريبي.
هدف Buf هو استبدال النموذج الحالي لتطوير واجهة برمجة التطبيقات (API)، الذي يتمحور حول REST/JSON، بنموذج يعتمد على المخطط . يوفر تعريف واجهات برمجة التطبيقات باستخدام IDL فوائد عديدة مقارنة بـ REST/JSON، ويعتبر Protobuf هو IDL الأكثر استقرارًا والمعتمد على نطاق واسع في الصناعة. لقد اخترنا البناء على هذا الأساس الموثوق به على نطاق واسع بدلاً من إنشاء رقم دولي جديد من الصفر.
ولكن على الرغم من مزاياه التقنية، إلا أن استخدام بروتوبوف كان في الواقع أكثر صعوبة مما ينبغي منذ فترة طويلة. يعد Buf CLI وBSR حجر الزاوية في جهودنا لتغيير ذلك إلى الأبد ولجعل Protobuf موثوقًا وسهل الاستخدام لأصحاب الخدمات والعملاء على حد سواء - وبعبارة أخرى، لإنشاء نظام بيئي حديث لـ Protobuf .
على الرغم من أننا نعتزم إجراء تحسين تدريجي على buf
CLI وBSR، إلا أننا واثقون من أن الأساس الأساسي لمثل هذا النظام البيئي موجود بالفعل .
يعد Buf Schema Registry (BSR) عبارة عن منصة SaaS لإدارة واجهات برمجة تطبيقات Protobuf الخاصة بك. فهو يوفر سجلاً مركزيًا ومصدرًا واحدًا للحقيقة لجميع أصول Protobuf الخاصة بك، بما في ذلك ليس فقط ملفات .proto
ولكن أيضًا المكونات الإضافية البعيدة. على الرغم من أن BSR يوفر واجهة مستخدم بديهية للمتصفح، إلا buf
يمكّنك من تنفيذ معظم المهام المتعلقة بـ BSR من سطر الأوامر، مثل دفع مصادر Protobuf إلى السجل وإدارة المستخدمين والمستودعات.
BSR غير مطلوب لاستخدام
buf
. لقد جعلنا الميزات الأساسية لـbuf
CLI متاحة لجميع مستخدمي Protobuf.
في حين أن ميزات buf
الأساسية يجب أن تغطي معظم حالات الاستخدام، فقد قمنا بتضمين بعض الميزات الأكثر تقدمًا لتغطية حالات الحافة:
.proto
الخاصة بك وفقًا لتكوين البنية الذي قمت بتوفيره، مما يعني أنك لم تعد بحاجة إلى تحديد --proto_paths
يدويًا. ومع ذلك، لا يزال بإمكانك تحديد ملفات .proto
يدويًا من خلال علامات CLI في الحالات التي يلزم فيها تعطيل اكتشاف الملفات.buf
بإخراج المعلومات في file:line:column:message
بشكل افتراضي لكل خطأ في الوبر وتغييرات انقطاعية يواجهها، ولكن يمكنك أيضًا تحديد إخراج JSON وMSVS وJUnit وGithub Actions.buf
. نحن نقدم حاليًا تكاملات الفحص لكل من Vim وVisual Studio Code وJetBrains IDEs مثل IntelliJ وGoLand، ولكننا نخطط لدعم المحررين الآخرين مثل Emacs في المستقبل..proto
المحلية ولكن أيضًا ضد نطاق واسع من المدخلات الأخرى، مثل كرات القطران وملفات ZIP ومستودعات Git البعيدة وملفات الصور المعدة مسبقًا.protoc
. وهذا يسمح بتقديم تعليقات شبه فورية، وهو أمر ذو أهمية خاصة لميزات مثل تكامل المحرر. بمجرد تثبيت buf
، نوصي بإكمال البرنامج التعليمي لـ CLI، والذي يوفر نظرة عامة واسعة النطاق ولكن عملية حول الوظائف الأساسية لـ CLI. تستغرق الجولة حوالي 10 دقائق حتى تكتمل.
بعد الانتهاء من الجولة، قم بمراجعة بقية المستندات الخاصة بمجالات اهتمامك المحددة.
للحصول على المساعدة والمناقشة حول Protobuf وأفضل الممارسات والمزيد، انضم إلينا على Slack.
للحصول على تحديثات بشأن Buf CLI، اتبع هذا الريبو على GitHub.
لطلبات الميزات أو الأخطاء أو الأسئلة الفنية، راسلنا عبر البريد الإلكتروني على [email protected]. للاستفسارات العامة أو التضمين في إصداراتنا التجريبية القادمة، راسلنا عبر البريد الإلكتروني على [email protected].