Skip to content

Why FlatBuffers vs other options?

Wouter van Oortmerssen edited this page May 21, 2021 · 5 revisions

This is a long topic, but one thing to highlight is the range of possible use cases you address with the whole FlatBuffers eco-system:

<-- speed(C++) -------------------------- flexibity -->
   -flatb-structs-                                      +
              ------flatbuffer-tables------             +
                                     --flexbuffers--    + zero copy / random access
-structs-                                               +
           -capnproto-                                  +
                             ---protobuf---             | unpack/allocate
                                        -----json------ |

Meaning even if you don't need to be particularly fast or flexible with your current use-case, FlatBuffers scales in every direction, with more representation choices than any other serialization system, and more API choices (use with JSON, use with object API etc), and easy ways for the first 3 options to work together (struct/table/flex).