awesome-repositories.com
Blog
MCP
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetServeur MCPÀ proposNotre méthodologiePresse
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
protocolbuffers avatar

protocolbuffers/protobuf

0
View on GitHub↗
71,359 stars·16,164 forks·C++·21 vuesprotobuf.dev↗

Protobuf

Protocol Buffers est un mécanisme neutre vis-à-vis du langage et indépendant de la plateforme pour sérialiser des données structurées. Il fournit une chaîne d'outils pilotée par schéma qui compile des définitions de données déclaratives en code source typé, permettant une communication cohérente et des contrats d'API fortement typés entre des services écrits dans différents langages de programmation.

Le projet se distingue par un format binaire très efficace qui utilise un encodage basé sur des balises et une compression d'entiers à largeur variable pour minimiser la taille de la charge utile et la surcharge de traitement. Il prend en charge une gestion robuste des schémas évolutifs, permettant aux développeurs de mettre à jour les structures de données de manière incrémentale tout en maintenant la compatibilité ascendante et descendante. Ceci est soutenu par un système d'édition versionné qui gère les ensembles de fonctionnalités et la logique de sérialisation à travers les composants logiciels distribués.

Au-delà de sa sérialisation binaire de base, le projet inclut des capacités pour la conversion JSON canonique avec validation de schéma, un contrôle granulaire de la visibilité des symboles et le suivi de la présence des champs pour distinguer les valeurs par défaut des valeurs non définies. Il fournit également des optimisations spécialisées, telles que la gestion de la mémoire basée sur des arènes pour les implémentations C++, afin d'améliorer les performances lors de la création et du nettoyage d'arbres de messages complexes.

Features

  • Schema Definition - Establishes a language-neutral syntax for defining complex data structures, types, and enumerations.
  • Data Serialization - Encodes complex data structures into a dense binary representation optimized for high-performance storage and transmission.
  • Protocol Buffers - Delivers a compact, platform-agnostic format for serializing structured information across diverse computing environments.
  • Tag-Based Binary Encodings - Maps data fields using unique numeric identifiers, allowing parsers to efficiently skip unknown or unrecognized content.
  • Schema-Driven Code Generators - Transforms declarative schema files into type-safe source code across various programming languages.
  • API Contract Definitions - Enforces strict interface boundaries and data contracts to ensure reliable communication between distributed services.
  • Enumeration Types - Restricts input values to predefined sets of named constants to maintain strict type safety.
  • Cross-Language Serialization Frameworks - Coordinates cross-language communication by generating consistent, type-safe accessors from shared schema definitions.
  • Serialization Feature Configurations - Permits granular control over parsing and serialization behavior through versioned configuration options within schema files.
  • Schema Edition Management - Manages language feature sets through versioned editions to ensure consistency across schema updates.
  • Evolutionary Schema Management - Facilitates the evolution of data structures over time while preserving backward and forward compatibility for distributed systems.
  • Schema Compatibility Validators - Verifies schema modifications to prevent breaking changes during the lifecycle of distributed data models.
  • Serialization Protocols - Defines flexible field ordering rules that allow for efficient binary data layout and parsing.
  • Language-Neutral Data Serialization - Converts structured data into a universal binary format that remains independent of specific hardware architectures or programming languages.
  • Length-Delimited Encodings - Prefixes binary segments with variable-width integer headers to enable efficient stream reading and parsing.
  • Variable-Width Integer Encodings - Optimizes payload size by encoding integers using a variable number of bytes based on the magnitude of the value.
  • C++ - Generates native classes for high-performance access and manipulation of structured data within C++ applications.
  • Serialization - Google's standard data interchange format for structured data.
  • Serialization and Formats - Platform-neutral data serialization.
  • Serialization Formats - Language-neutral mechanism for serializing structured data.
  • Microservices and Messaging - Language-neutral mechanism for serializing structured data.
  • Middleware réseau - Format d'échange de données pour la communication structurée.
  • Data Serialization - Google's language-neutral data interchange format.
  • Data Structures - Standardized data interchange format for structured data.
  • Middleware and Communication - Data interchange format for structured communication.
  • Protocol Buffer Tools - Official repository for Protocol Buffer add-ons and extensions.
  • Edition-Based Feature Versioning - Tracks schema evolution through versioned feature sets that allow incremental updates while maintaining cross-language compatibility.
  • Arena-Based Memory Management - Allocates objects within contiguous memory blocks to improve performance and simplify cleanup by deallocating entire message trees simultaneously.
  • JSON Serializers - Supports configurable JSON output, including options for field presence and naming conventions, to simplify integration with web services.
  • Schema Extensions - Augment existing data structures with additional fields by utilizing modular schema definitions that prevent the need to rewrite original source files.
  • Field Presence Trackers - Distinguish between default values and explicitly unset fields by tracking presence flags within serialized binary payloads.

Historique des stars

Graphique de l'historique des stars pour protocolbuffers/protobufGraphique de l'historique des stars pour protocolbuffers/protobuf

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Alternatives open source à Protobuf

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Protobuf.
  • google/protobufAvatar de google

    google/protobuf

    71,412Voir sur GitHub↗

    Protocol Buffers is a binary serialization framework used to encode structured information into compact payloads to reduce network bandwidth and storage. It functions as a cross-language data interchange standard that enables different platforms and languages to exchange structured data using a shared schema. The project includes an interface definition language compiler that transforms schema definitions into type-safe source code for multiple target programming languages. This mechanism decouples data structures from specific language memory layouts and ensures consistent data handling acro

    C++
    Voir sur GitHub↗71,412
  • fasterxml/jacksonAvatar de FasterXML

    FasterXML/jackson

    9,740Voir sur GitHub↗

    Jackson is a Java data binding framework and multi-format data serializer used to translate data structures into native language objects. It functions as a JSON data binding library and a streaming parser that reads and writes data as discrete tokens to process large datasets with minimal memory. The project distinguishes itself through a bytecode serialization accelerator that replaces standard reflection with generated bytecode to increase data binding speed. It employs a module-based extensibility model to support a wide range of formats beyond JSON, including XML, YAML, CSV, TOML, and bin

    hacktoberfestjacksonjava-json
    Voir sur GitHub↗9,740
  • alipay/furyAvatar de alipay

    alipay/fury

    4,412Voir sur GitHub↗

    Fury is a multi-language binary serialization framework designed for encoding domain objects and complex graphs to facilitate cross-language data exchange. It includes an interface definition language compiler that translates schema definitions into idiomatic native types and serialization boilerplate across multiple languages. The project distinguishes itself through a zero-copy binary reader that allows specific fields to be accessed without deserializing the entire object, as well as an object graph serializer that preserves circular references and referential integrity. It also features a

    Java
    Voir sur GitHub↗4,412
  • apache/foryAvatar de apache

    apache/fory

    4,234Voir sur GitHub↗

    Fory is a cross-language serialization framework and binary data serializer designed to convert complex object graphs into a compact binary format for high-performance data exchange. It includes an IDL-based schema compiler to transform interface definition language files into type-safe native data models and a schema evolution manager to maintain forward and backward compatibility. The project features a zero-copy data access layer that allows reading specific fields from binary rows without deserializing the entire object. It supports dual-mode serialization, enabling a toggle between a por

    Javacompressioncppcross-language
    Voir sur GitHub↗4,234
Voir les 30 alternatives à Protobuf→

Questions fréquentes

Que fait protocolbuffers/protobuf ?

Protocol Buffers est un mécanisme neutre vis-à-vis du langage et indépendant de la plateforme pour sérialiser des données structurées. Il fournit une chaîne d'outils pilotée par schéma qui compile des définitions de données déclaratives en code source typé, permettant une communication cohérente et des contrats d'API fortement typés entre des services écrits dans différents langages de programmation.

Quelles sont les fonctionnalités principales de protocolbuffers/protobuf ?

Les fonctionnalités principales de protocolbuffers/protobuf sont : Schema Definition, Data Serialization, Protocol Buffers, Tag-Based Binary Encodings, Schema-Driven Code Generators, API Contract Definitions, Enumeration Types, Cross-Language Serialization Frameworks.

Quelles sont les alternatives open-source à protocolbuffers/protobuf ?

Les alternatives open-source à protocolbuffers/protobuf incluent : google/protobuf — Protocol Buffers is a binary serialization framework used to encode structured information into compact payloads to… fasterxml/jackson — Jackson is a Java data binding framework and multi-format data serializer used to translate data structures into… alipay/fury — Fury is a multi-language binary serialization framework designed for encoding domain objects and complex graphs to… apache/fory — Fory is a cross-language serialization framework and binary data serializer designed to convert complex object graphs… cognitect/transit-format — Transit is a language-agnostic data interchange format designed for serializing complex data structures between… protobufjs/protobuf.js — protobuf.js is a JavaScript and TypeScript library for encoding and decoding structured data using the Protocol…