awesome-repositories.com
Blog
awesome-repositories.com

Entdecke die besten Open-Source-Repositories mit KI-gestützter Suche.

EntdeckenKuratierte SuchenOpen-Source-AlternativenSelf-hosted SoftwareBlogSitemap
ProjektÜber unsRanking-MethodikPresseMCP-Server
RechtlichesDatenschutzAGB
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
square avatar

square/wire

0
View on GitHub↗
4,419 Stars·616 Forks·Kotlin·Apache-2.0·3 Aufrufesquare.github.io/wire↗

Wire

Wire ist ein plattformübergreifender Codegenerator und eine Implementierung von gRPC und Protocol Buffers. Er transformiert Schemadefinitionen in typsichere native Sprachbindungen für Kotlin, Swift und Java, um einen konsistenten Datenaustausch und die Kommunikation zwischen verteilten Systemen zu gewährleisten.

Das Projekt bietet spezialisierte Tools für das Protocol-Buffer-Schema-Management, einschließlich der Möglichkeit, ungenutzte Typen zu entfernen und Felder nach Version zu filtern, um die endgültige Binary-Größe zu reduzieren. Es handhabt zudem das Namespace-Management und ermöglicht die Erstellung benutzerdefinierter Schema-Handler, um benutzerdefinierte Logik während der Kompilierungsphase auszuführen.

Das Framework deckt ein breites Spektrum an Funktionen ab, einschließlich der Generierung von Dienstschnittstellen für synchrone und asynchrone Remote Procedure Calls, das Mapping von Schematypen auf native Sprachprimitive und die Serialisierung von Nachrichten in JSON. Es enthält zudem Unterstützung für die Generierung von Parcelable-Nachrichten und Mock-Clients für Tests.

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.

Star-Verlauf

Star-Verlauf für square/wireStar-Verlauf für square/wire

KI-Suche

Entdecke weitere awesome Repositories

Beschreibe in einfachen Worten, was du brauchst — die KI bewertet tausende kuratierte Open-Source-Projekte nach Relevanz.

Start searching with AI

Häufig gestellte Fragen

Was macht square/wire?

Wire ist ein plattformübergreifender Codegenerator und eine Implementierung von gRPC und Protocol Buffers. Er transformiert Schemadefinitionen in typsichere native Sprachbindungen für Kotlin, Swift und Java, um einen konsistenten Datenaustausch und die Kommunikation zwischen verteilten Systemen zu gewährleisten.

Was sind die Hauptfunktionen von square/wire?

Die Hauptfunktionen von square/wire sind: 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.

Welche Open-Source-Alternativen gibt es zu square/wire?

Open-Source-Alternativen zu square/wire sind unter anderem: 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…

Open-Source-Alternativen zu Wire

Ähnliche Open-Source-Projekte, sortiert nach der Anzahl der gemeinsamen Funktionen mit Wire.
  • alipay/furyAvatar von alipay

    alipay/fury

    4,412Auf GitHub ansehen↗

    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
    Auf GitHub ansehen↗4,412
  • grpc/grpc-rustAvatar von grpc

    grpc/grpc-rust

    12,338Auf GitHub ansehen↗

    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
    Auf GitHub ansehen↗12,338
  • golang/protobufAvatar von golang

    golang/protobuf

    10,074Auf GitHub ansehen↗

    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
    Auf GitHub ansehen↗10,074
  • apache/foryAvatar von apache

    apache/fory

    4,234Auf GitHub ansehen↗

    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
    Auf GitHub ansehen↗4,234
  • Alle 30 Alternativen zu Wire anzeigen→