Wire - Clean, lightweight protocol buffers for Android and Java.

  •        192

Schemas describe and document data models. If you have data, you should have a schema. Google's Protocol Buffers are built around a great schema language. It's cross platform and language independent. Whatever programming language you use, you'll be able to use proto schemas with your application. Proto schemas are backwards-compatible and future-proof. You can evolve your schema as your application loses old features and gains new ones.

Why Wire?
The Protocol Buffers schema language and binary encoding are both defined by Google. Wire is an independent implementation from Square that's specifically designed for Android and Java. For each message type defined in the schema, Wire generates an immutable model class and its builder. The generated code looks like code you'd write by hand: it's documented, formatted, and simple. Wire's APIs should feel at home to programmers who like Effective Java.

https://github.com/square/wire

Tags
Implementation
License
Platform

   




Related Projects

Protocol Buffers - Google's data interchange format

  •    C++

Protocol buffers (a.k.a., protobuf) are Google's language-neutral, platform-neutral, extensible mechanism for serializing structured data. You define how you want your data to be structured once, then you can use special generated source code to easily write and read your structured data to and from a variety of data streams and using a variety of languages.

protobuf - Protocol Buffers - Google's data interchange format

  •    C++

Copyright 2008 Google Inc. Protocol Buffers (a.k.a., protobuf) are Google's language-neutral, platform-neutral, extensible mechanism for serializing structured data. You can find protobuf's documentation on the Google Developers site.

Cap'n Proto - Serialization/RPC system

  •    C++

Cap'n Proto is an insanely fast data interchange format and capability-based RPC system. Think JSON, except binary. Or think Protocol Buffers, except faster. In fact, in benchmarks, Cap'n Proto is INFINITY TIMES faster than Protocol Buffers.

protobuf-c - Protocol Buffers implementation in C

  •    C++

This is protobuf-c, a C implementation of the Google Protocol Buffers data serialization format. It includes libprotobuf-c, a pure C library that implements protobuf encoding and decoding, and protoc-c, a code generator that converts Protocol Buffer .proto files to C descriptor code, based on the original protoc. protobuf-c formerly included an RPC implementation; that code has been split out into the protobuf-c-rpc project. protobuf-c's mailing list is hosted on a Google Groups forum. Subscribe by sending an email to protobuf-c+subscribe@googlegroups.com.

php-protobuf - PHP Protobuf - Google's Protocol Buffers for PHP

  •    PHP

Protocol Buffers are a way of encoding structured data in an efficient yet extensible format. It might be used in file formats and RPC protocols.PHP Protobuf is Google's Protocol Buffers implementation for PHP with a goal to provide high performance, including a protoc plugin to generate PHP classes from .proto files. The heavy-lifting (a parsing and a serialization) is done by a PHP extension.


pbf - A low-level, lightweight protocol buffers implementation in JavaScript.

  •    Javascript

A low-level, fast, ultra-lightweight (3KB gzipped) JavaScript library for decoding and encoding protocol buffers, a compact binary format for structured data serialization. Works both in Node and the browser. Supports lazy decoding and detailed customization of the reading/writing code.If you use webpack as your module bundler, you can use pbf-loader to load .proto files directly. It returns a compiled module ready to be used.

protobuf.js - Protocol Buffers for JavaScript (& TypeScript).

  •    Javascript

Protocol Buffers are a language-neutral, platform-neutral, extensible way of serializing structured data for use in communications protocols, data storage, and more, originally designed at Google (see). Installation How to include protobuf.js in your project.

protobuf-swift - Google ProtocolBuffers for Apple Swift

  •    Swift

An implementation of Protocol Buffers in Swift. Protocol Buffers are a way of encoding structured data in an efficient yet extensible format. This project is based on an implementation of Protocol Buffers from Google. See the Google protobuf project for more information.

protobuf - Protocol Buffers for Go with Gadgets

  •    Go

gogoprotobuf is a fork of golang/protobuf with extra code generation features.Please let us know if you are using gogoprotobuf by posting on our GoogleGroup.

capnproto - Cap'n Proto serialization/RPC system - core tools and C++ library

  •    C++

Cap'n Proto is an insanely fast data interchange format and capability-based RPC system. Think JSON, except binary. Or think Protocol Buffers, except faster. In fact, in benchmarks, Cap'n Proto is INFINITY TIMES faster than Protocol Buffers. Read more...

ScalaBuff - the scala protocol buffers (protobuf) compiler

  •    Scala

ScalaBuff is a Scala Protocol Buffers (protobuf) compiler. It takes .proto files and outputs valid Scala classes that can be used by your code to receive or send protobuf messages. Both the ScalaBuff generator and the generated Scala classes depend on Google's Java runtime for Protocol Buffers, which is provided with ScalaBuff.

prototool - Your Swiss Army Knife for Protocol Buffers

  •    Go

Protobuf is one of the best interface description languages out there - it's widely adopted, and after over 15 years of use, it's practically bulletproof. However, working with Protobuf and maintaining consistency across your Protobuf files can be a pain - protoc, while being a tool that has stood the test of time, is non-trivial to use, and the Protobuf community has not developed common standards with regards to stub generation. Prototool aims to solve this by making working with Protobuf much simpler. Prototool accomplishes this by downloading and calling protoc on the fly for you, handing error messages from protoc and your plugins, and using the generated FileDescriptorSets for internal functionality, as well as wrapping a few great external libraries already in the Protobuf ecosystem.

rust-protobuf - Rust implementation of Google protocol buffers

  •    Rust

Protobuf implementation in Rust. 1.7+ 2.* versions should follow semver conventions. However, if you are developing critical library it's probably better to specify version as ~2.0 (>= 2.0 and <= 2.1), but not as 2.0 (>= 2.0 and <= 3.0).

protocol-buffers - Protocol Buffers for Node.js

  •    Javascript

See the Google Protocol Buffers docs for more information about the available types etc.Since v4 you can now compile your schemas to a JavaScript file you can require from Node. This means you do not have runtime parse the schemas, which is useful if using in the browser or on embedded devices. It also makes the dependency footprint a lot smaller.

protobuf - Go support for Google's protocol buffers

  •    Go

This package and the code it generates requires at least Go 1.4.This software has two parts: a 'protocol compiler plugin' that generates Go source files that, once compiled, can access and manage protocol buffers; and a library that implements run-time support for encoding (marshaling), decoding (unmarshaling), and accessing protocol buffers.

upb - small, fast parsers for the 21st century

  •    C

Unleaded is a library of fast parsers and serializers. These parsers/serializers are written in C and use every available avenue (particularly JIT compilation) to achieve the fastest possible speed. However they are also extremely lightweight (less than 100k of object code) and low-overhead.The library started as a Protocol Buffers library (upb originally meant μpb: Micro Protocol Buffers). It still uses protobuf-like schemas as a core abstraction, but it has expanded beyond just Protocol Buffers to JSON, and other formats are planned.

Sereal - Fast, compact, schema-less, binary serialization and deserialization oriented towards dynamic languages

  •    C

This repository is the home of the Sereal data serialization format. This format was started because the authors had technical reasons for producing a better Storable. Before we embarked on this project we had a look at various prior art. This included a review of Google Protocol Buffers and of the MessagePack protocol. Neither suited our needs so we designed this, liberally borrowing ideas from the other projects.

Protocol Buffers Workbench

  •    

Protocol Buffers Workbench helps developers to explore the Google Protocol Buffers serialization format. Given the message definition (in .proto format) it can translate messages back and forth between text and binary format. It's developed in C#.

protoc-gen-lua - Google's Protocol Buffers project, ported to Lua

  •    Lua

"Protocol Buffers" is a binary serialization format and technology, released to the open source community by Google in 2008. There are various implementations of Protocol Buffers and this is for Lua.

cpp-serializers - Benchmark comparing various data serialization libraries (thrift, protobuf etc

  •    C++

Compare various data serialization libraries for C++. This project does not have any external library dependencies. All (boost, thrift etc.) needed libraries are downloaded and built automatically, but you need enough free disk space to build all components. To build this project you need a compiler that supports C++11 features. Project was tested with GCC 4.8.2 (Ubuntu 14.04).