FlatBuffers


FlatBuffers is a free software library implementing a serialization format similar to Protocol Buffers, Thrift, Apache Avro, SBE, and Cap'n Proto, primarily written by Wouter van Oortmerssen and open-sourced by Google. Like Cap'n Proto and SBE, it supports “zero-copy” deserialization, so that accessing the serialized data does not require first copying it into a separate part of memory, which makes accessing data in these formats much faster than data in formats requiring more extensive processing, such as JSON, CSV, and in many cases Protocol Buffers. Compared to other serialization formats however, the handling of FlatBuffers requires usually more code, and some operations are not possible.
FlatBuffers is a popular project on GitHub, with 10,228 stars, 260 contributors, 1,605 forks, and 600 watchers on GitHub as of 2018-09-19.
FlatBuffers can be used in software written in C++, C#, C, Go, Java, JavaScript, PHP, Python, and Rust. The schema compiler runs on Android, Microsoft Windows, Mac OS X, and Linux, but games and other programs using FlatBuffers for serialization work on many other operating systems as well, including iOS, Amazon's Fire OS, and Windows Phone.
Van Oortmerssen originally developed FlatBuffers for game development and similar applications.
Although FlatBuffers has its own interface definition language to define the data to be serialized with it, it also supports schemas defined in the Protocol Buffers.proto format.

Users

Some notable users of FlatBuffers: