awesome-repositories.com
Blog
awesome-repositories.com

Descubre los mejores repositorios open-source con nuestra búsqueda potenciada por IA.

ExplorarBúsquedas curadasAlternativas open-sourceSoftware autohospedableBlogMapa del sitio
ProyectoAcerca deCómo clasificamosPrensaServidor MCP
Aviso legalPrivacidadTérminos
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
square avatar

square/wire

0
View on GitHub↗
4,419 estrellas·616 forks·Kotlin·Apache-2.0·3 vistassquare.github.io/wire↗

Wire

Wire es un generador de código multiplataforma e implementación de gRPC y Protocol Buffers. Transforma definiciones de esquemas en bindings de lenguaje nativo con seguridad de tipos para Kotlin, Swift y Java para asegurar un intercambio de datos consistente y comunicación entre sistemas distribuidos.

El proyecto proporciona herramientas especializadas para la gestión de esquemas de protocol buffer, incluyendo la capacidad de eliminar tipos no utilizados y filtrar campos por versión para reducir el tamaño final de los binarios. También maneja la gestión de espacios de nombres y permite la creación de manejadores de esquemas personalizados para ejecutar lógica definida por el usuario durante la fase de compilación.

El framework cubre una amplia gama de capacidades, incluyendo la generación de interfaces de servicio para llamadas a procedimientos remotos síncronas y asíncronas, el mapeo de tipos de esquema a primitivas de lenguaje nativo y la serialización de mensajes a JSON. También incluye soporte para generar mensajes parcelables y clientes mock para pruebas.

Features

  • Schema-Based Code Generators - Transforms protocol buffer definitions into type-safe native source code for multiple target languages.
  • Cross-Platform Language Bindings Generators - Transforms schema definitions into type-safe native language bindings for Kotlin, Swift, and Java.
  • gRPC Service Generators - Automatically generates gRPC service code from protocol definitions during the build process.
  • Mobile gRPC Clients - Generates type-safe gRPC network code for mobile platforms to communicate with backend servers.
  • Remote Procedure Call Frameworks - Implements a gRPC framework to execute remote procedure calls between distributed systems.
  • Type-Safe Remote Calls - Implements gRPC service interfaces for type-safe, automatic serialization between distributed systems.
  • gRPC Service Interfaces - Generates typed service interfaces for gRPC to handle synchronous and asynchronous remote procedure calls.
  • Native Type Mappings - Converts standardized schema types into native language primitives to ensure consistent data representation across platforms.
  • Java Protobuf Generators - Produces type-safe Java code from Protobuf schemas to ensure consistent data exchange between services.
  • Cross-Platform State Serialization - Ensures data is interpreted identically across different programming languages and platforms using protocol buffers.
  • Type-Safe Code Generators - Transforms schema files into type-safe native source code for messages and services to eliminate serialization errors.
  • Protobuf Code Generators - Generates language-specific source code directly from protocol buffer schema definitions.
  • Protocol Buffer Implementations - Provides a full implementation of the Protocol Buffers serialization format and encoding/decoding logic.
  • Multi-Language - Supports service development across multiple languages using a shared RPC protocol and type-safe interfaces.
  • Typed Language Bindings - Generates type-safe native language bindings that map schema definitions to specific programming language interfaces.
  • Schema-to-Native Type Mappings - Provides mapping of protocol buffer schema types to native language primitives like timestamps or nullable types.
  • Protobuf Schema Lifecycle Management - Manages protobuf schemas by pruning unused types, managing namespaces, and filtering fields by version.
  • Custom Schema Handlers - Allows the execution of user-defined logic during compilation for specialized code generation, validation, or logging.
  • Schema Element Pruning - Removes unwanted types and fields from generated code via exclusion lists or reachability analysis to reduce binary size.
  • Schema Namespace Management - Uses manifest configuration files to resolve module dependencies and organize imports across multiple schema files.
  • Protobuf Schema Management - Provides tools for organizing and pruning protocol buffer definitions to manage dependencies and reduce binary size.
  • Version-Based Filtering - Filters out obsolete fields from generated sources based on version ranges to maintain backward compatibility.
  • Module Namespaces - Manages hierarchical naming systems for Swift modules to organize code and prevent identifier collisions.
  • Dependency Pruning - Implements reachability analysis to prune unused types and fields from schemas to reduce the final binary size.
  • Compiler Plugins - Provides a plugin architecture for the Protocol Buffers compiler to automate the generation of custom data structures.
  • Schema Pruning - Filters schemas to a specific subset of root types and dependencies to reduce total source code size.
  • Schema Version Filtering - Removes obsolete schema fields based on defined version ranges to maintain backward compatibility in generated sources.
  • Data Structures - Lightweight protocol buffer implementation for Android and Java.
  • Data Structures and Memory - Lightweight protocol buffers for Android and Java.
  • Data Structures - Lightweight protocol buffer implementation.
  • ProGuard Configurations - Provides protocol buffer configuration rules.

Historial de estrellas

Gráfico del historial de estrellas de square/wireGráfico del historial de estrellas de square/wire

Búsqueda con IA

Explora más repositorios increíbles

Describe lo que necesitas en lenguaje sencillo: la IA clasifica miles de proyectos open-source curados por relevancia.

Start searching with AI

Alternativas open-source a Wire

Proyectos open-source similares, clasificados según cuántas características comparten con Wire.
  • alipay/furyAvatar de alipay

    alipay/fury

    4,412Ver en 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
    Ver en GitHub↗4,412
  • grpc/grpc-rustAvatar de grpc

    grpc/grpc-rust

    12,338Ver en GitHub↗

    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

    Rustasyncgrpcproto
    Ver en GitHub↗12,338
  • golang/protobufAvatar de golang

    golang/protobuf

    10,074Ver en GitHub↗

    This project is a Protocol Buffers implementation for Go, providing a binary serialization framework to convert native data structures into a compact binary format for efficient network transmission and storage. It functions as a language bindings generator, utilizing a compiler plugin to create Go source code from platform-neutral protocol buffer definitions. The implementation includes a JSON data mapper that transforms structured binary messages into JSON format to facilitate compatibility with web services and external APIs. It also enables cross-language data exchange by using a common s

    Go
    Ver en GitHub↗10,074
  • apache/foryAvatar de apache

    apache/fory

    4,234Ver en 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
    Ver en GitHub↗4,234
Ver las 30 alternativas a Wire→

Preguntas frecuentes

¿Qué hace square/wire?

Wire es un generador de código multiplataforma e implementación de gRPC y Protocol Buffers. Transforma definiciones de esquemas en bindings de lenguaje nativo con seguridad de tipos para Kotlin, Swift y Java para asegurar un intercambio de datos consistente y comunicación entre sistemas distribuidos.

¿Cuáles son las características principales de square/wire?

Las características principales de square/wire son: Schema-Based Code Generators, Cross-Platform Language Bindings Generators, gRPC Service Generators, Mobile gRPC Clients, Remote Procedure Call Frameworks, Type-Safe Remote Calls, gRPC Service Interfaces, Native Type Mappings.

¿Qué alternativas de código abierto existen para square/wire?

Las alternativas de código abierto para square/wire incluyen: alipay/fury — Fury is a multi-language binary serialization framework designed for encoding domain objects and complex graphs to… grpc/grpc-rust — grpc-rust is a native gRPC framework for Rust designed for building high-performance remote procedure call clients and… golang/protobuf — This project is a Protocol Buffers implementation for Go, providing a binary serialization framework to convert native… apache/fory — Fory is a cross-language serialization framework and binary data serializer designed to convert complex object graphs… real-logic/simple-binary-encoding — Simple Binary Encoding (SBE) - High Performance Message Codec. anyproto/anytype-ts — anytype-ts is a TypeScript client library and offline-first knowledge base client designed for managing structured…