8 مستودعات
Tools for generating client stubs and server skeletons from IDL files.
Distinguishing note: Focuses on the automation of boilerplate code.
Explore 8 awesome GitHub repositories matching development tools & productivity · Interface Definition Code Generation. Refine with filters or upvote what's useful.
gRPC is a language-agnostic remote procedure call framework designed for high-performance communication between distributed services. It utilizes a structured interface definition language to generate consistent client stubs and server skeletons, enabling applications to invoke methods on remote servers as if they were local objects. By leveraging the HTTP/2 transport layer, the framework supports efficient binary serialization and multiplexed data exchange across diverse programming environments. The framework distinguishes itself through its support for flexible communication patterns, incl
Automatically generates language-specific client stubs and server skeletons from interface definition files.
grpc-rust is a native gRPC framework for Rust designed for building high-performance remote procedure call clients and servers. It provides an asynchronous communication stack and a protocol buffers implementation for encoding, decoding, and generating type-safe code from service definitions. The project enables the implementation of unary and bi-directional data streaming over the HTTP/2 protocol. It includes specialized support for gRPC-Web integration, allowing browser-based clients to communicate with services through protocol translation. The infrastructure covers a broad range of distr
Automatically generates client stubs and server skeletons from protobuf interface definition files.
F Prime هو إطار عمل قائم على المكونات مصمم لتطوير ونشر البرمجيات المدمجة وبرمجيات الطيران الفضائي. يوفر بنية معيارية تفصل منطق البرمجيات عن واجهات الاتصال، مما يسمح للمطورين بتحديد هياكل النظام من خلال لغة نمذجة خاصة بالمجال. يتيح هذا النهج القائم على النماذج توليد الكود آلياً، مما يضمن الاتساق عبر طوبولوجيا النظام المعقدة مع الحفاظ على عقود واجهة صارمة بين وحدات البرمجيات. يتميز إطار العمل بنظام بناء متكامل ومجموعة عمليات بيانات أرضية. فهو يقوم بأتمتة دورة حياة البرمجيات المدمجة بالكامل، بدءاً من التجميع المتقاطع وإدارة التبعيات وصولاً إلى توليد واجهات القياس عن بُعد والأوامر. من خلال توفير بيئة موحدة لكل من برمجيات الطيران الموجودة على متن المركبة والمراقبة الأرضية، فإنه يسهل التكامل والاختبار والتحكم في الأنظمة المدمجة الموزعة عبر منصات أجهزة متنوعة. بالإضافة إلى بنيته الأساسية، يتضمن المشروع أدوات شاملة لمراقبة النظام، بما في ذلك تصور القياس عن بُعد في الوقت الفعلي، وتسجيل الأحداث، وتتبع التشخيص. وهو يدعم مجموعة واسعة من سيناريوهات النشر، من بيئات الأجهزة الخام (bare-metal) إلى أنظمة التشغيل في الوقت الفعلي، ويوفر آليات لإدارة الذاكرة، ونمذجة السلوك القائم على الحالة، وتنفيذ المهام غير المتزامنة. يتم صيانة المشروع كمستودع C++ مع توثيق شامل ودعم لنظام البناء من أجل التطوير عبر المنصات.
Automates the generation of source code and interface definitions from architectural models to ensure system consistency.
This project is a centralized API specification registry and governance framework. It serves as a source of truth for structured API schemas, gRPC definitions, and data models used to maintain consistency across a large ecosystem of services. The system functions as a multi-language client generator, transforming standardized interface definitions into executable source code and language-specific libraries. This process ensures that client libraries and technical documentation remain synchronized by deriving them directly from the original interface definitions. The project also covers the m
Generates client stubs and server skeletons from IDL files using automated build plugins.
Hertz is a high-performance Go HTTP framework designed for building scalable microservices, RESTful APIs, and AI applications. It functions as a high-performance web server and a communication framework for microservices, utilizing non-blocking I/O and zero-copy memory management to handle high-concurrency traffic. The project distinguishes itself through a microservices communication toolkit that supports high-efficiency remote procedure calls via gRPC and Thrift protocols. It implements an asynchronous middleware engine based on an onion model, allowing for a pluggable request-response pipe
Generates server skeletons and client stubs from Thrift or Protobuf IDL files to ensure type safety.
SWIG is a tool that generates wrapper code to expose C and C++ libraries to a wide range of higher-level programming languages. It reads annotated C/C++ header files and produces language-specific bindings from a single interface definition, supporting languages such as Python, Java, Ruby, C#, Perl, and many others. The generated wrapper code is free from the project's GPL license, allowing users to distribute it under their own terms. The tool handles modern C++ features including templates, namespaces, smart pointers, and constructs up to C++20 through specialized parsing and code generatio
Generates language-specific bindings from a single annotated C/C++ interface definition.
Apache Dubbo Go هو تطبيق بلغة Go لإطار العمل Apache Dubbo، مصمم لبناء خدمات مصغرة (microservices) عالية الأداء. يعمل كإطار عمل RPC متعدد اللغات وطبقة اتصال للخدمات المصغرة تتيح استدعاء الإجراءات عن بُعد بين الخدمات المكتوبة بلغات برمجة مختلفة. يعمل إطار العمل كمجموعة أدوات لحوكمة الخدمات ووكيل لشبكة الخدمات الموزعة (service mesh)، مما يسمح لطائرات البيانات (data planes) بالاتصال بطائرات التحكم الخارجية في أوضاع الوكيل أو بدون وكيل. يوفر بشكل خاص طبقة توافق لتسهيل الاتصال بين خدمات Go و Java من خلال تعريفات محايدة للغة وترميز بيانات موحد. يغطي النظام مجموعة واسعة من القدرات الموزعة، بما في ذلك اكتشاف الخدمات الديناميكي، وموازنة الحمل القائمة على الاستراتيجية، وإدارة حركة المرور عبر قواطع الدائرة (circuit breakers) وتحديد معدل الطلبات. كما يدمج إمكانية الملاحظة من خلال تتبع الطلبات الموزع ومقاييس الأداء، مع ضمان الأمان عبر تشفير طبقة النقل والتحكم في الوصول القائم على الهوية. يتم دعم إنتاجية المطور عبر واجهة سطر أوامر (CLI) لتهيئة التطبيقات وتوليد كود RPC تلقائيًا من تعريفات الواجهات.
Produces client and server stubs from shared interface definitions to automate the implementation of service contracts.
KotlinPoet هي واجهة برمجة تطبيقات (API) مبنية على Java لإنشاء وتنسيق ملفات مصدر Kotlin برمجياً. تعمل كأداة لتوليد الكود المصدري ورسم خرائط لنظام الأنواع، وتوفر إطار عمل لبناء هياكل كود Kotlin من خلال نموذج آمن للأنواع (type-safe) لعناصر اللغة، مما يساعد في أتمتة كتابة الكود المتكرر (boilerplate). يستخدم المشروع نمط الباني الانسيابي (fluent-builder) لبناء عناصر اللغة تدريجياً، ويحتفظ بنموذج كائنات داخلي يفصل بين الهيكل المنطقي وتنسيق النص النهائي. كما يتعامل مع تعقيدات إصدار الكود المصدري من خلال التنسيق القائم على المسافات البادئة (indentation) والهروب من الكلمات المحجوزة لضمان الحصول على مخرجات صالحة. تغطي المكتبة توليد مجموعة واسعة من التصريحات، بما في ذلك الفئات (classes)، والواجهات (interfaces)، والدوال (functions)، والخصائص (properties)، والكائنات المرافقة (companion objects). كما تتضمن أدوات لإدارة الأنواع المعقدة ذات المعاملات، وفئات التعداد (enum)، والأسماء المستعارة للأنواع (type aliases)، بالإضافة إلى أدوات لتضمين القيم الحرفية وبناء كتل التحكم في التدفق. تم دمج إدارة الاستيراد التلقائي والإشارة إلى التصريحات لحل الأعضاء عبر الأسماء المؤهلة. توفر KotlinPoet إمكانيات لتحويل بيانات الانعكاس (reflection) والرموز إلى تمثيلات مصدرية، وتدعم تصدير مواصفات الملفات لاستخدامها في أدوات معالجة التعليقات التوضيحية (annotation processing).
Supports the programmatic creation of interface declarations to define common APIs.