diff --git a/docs/html/index.html b/docs/html/index.html index 634adef3a583c9c72bf00ce8b13ef269b63b0661..5dab10e930a9781bae6e8cf7ccf7dd495bf8e718 100644 --- a/docs/html/index.html +++ b/docs/html/index.html @@ -80,11 +80,17 @@ $(document).ready(function(){initNavTree('index.html','');}); <h3>But all the cool kids use JSON!</h3> <p>JSON is very readable (which is why we use it as our optional text format) and very convenient when used together with dynamically typed languages (such as JavaScript). When serializing data from statically typed languages, however, JSON not only has the obvious drawback of runtime inefficiency, but also forces you to write <em>more</em> code to access data (counterintuitively) due to its dynamic-typing serialization system. In this context, it is only a better choice for systems that have very little to no information ahead of time about what data needs to be stored.</p> <p>Read more about the "why" of FlatBuffers in the <a href="md__white_paper.html">white paper</a>.</p> +<h3>Who uses FlatBuffers?</h3> +<ul> +<li><a href="http://www.cocos2d-x.org/">Cocos2d-x</a>, the #1 open source mobile game engine, uses it to serialize all their <a href="http://www.cocos2d-x.org/reference/native-cpp/V3.5/d7/d2d/namespaceflatbuffers.html">game data</a>.</li> +<li><a href="http://facebook.com/">Facebook</a> uses it for client-server communication in their Android app. They have a nice <a href="https://code.facebook.com/posts/872547912839369/improving-facebook-s-performance-on-android-with-flatbuffers/">article</a> explaining how it speeds up loading their posts.</li> +<li><a href="https://developers.google.com/games/#Tools">Fun Propulsion Labs</a> at Google uses it extensively in all their libraries and games.</li> +</ul> <h2>Usage in brief</h2> <p>This section is a quick rundown of how to use this system. Subsequent sections provide a more in-depth usage guide.</p> <ul> <li>Write a schema file that allows you to define the data structures you may want to serialize. Fields can have a scalar type (ints/floats of all sizes), or they can be a: string; array of any type; reference to yet another object; or, a set of possible objects (unions). Fields are optional and have defaults, so they don't need to be present for every object instance.</li> -<li>Use <code>flatc</code> (the FlatBuffer compiler) to generate a C++ header (or Java/C#/Go classes) with helper classes to access and construct serialized data. This header (say <code>mydata_generated.h</code>) only depends on <code>flatbuffers.h</code>, which defines the core functionality.</li> +<li>Use <code>flatc</code> (the FlatBuffer compiler) to generate a C++ header (or Java/C#/Go/Python.. classes) with helper classes to access and construct serialized data. This header (say <code>mydata_generated.h</code>) only depends on <code>flatbuffers.h</code>, which defines the core functionality.</li> <li>Use the <code>FlatBufferBuilder</code> class to construct a flat binary buffer. The generated functions allow you to add objects to this buffer recursively, often as simply as making a single function call.</li> <li>Store or send your buffer somewhere!</li> <li>When reading it back, you can obtain the pointer to the root object from the binary buffer, and from there traverse it conveniently in-place with <code>object->field()</code>.</li> @@ -108,7 +114,18 @@ $(document).ready(function(){initNavTree('index.html','');}); <li><a href="http://github.com/google/flatbuffers">GitHub repository</a></li> <li><a href="http://google.github.io/flatbuffers">Landing page</a></li> <li><a href="http://group.google.com/group/flatbuffers">FlatBuffers Google Group</a></li> -<li><a href="http://github.com/google/flatbuffers/issues">FlatBuffers Issues Tracker</a> </li> +<li><a href="http://github.com/google/flatbuffers/issues">FlatBuffers Issues Tracker</a></li> +<li>Videos:<ul> +<li>Colt's <a href="https://www.youtube.com/watch?v=iQTxMkSJ1dQ">DevByte</a>.</li> +<li>GDC 2015 <a href="https://www.youtube.com/watch?v=olmL1fUnQAQ">Lightning Talk</a>.</li> +<li>FlatBuffers for <a href="https://www.youtube.com/watch?v=-BPVId_lA5w">Go</a>.</li> +<li>Evolution of FlatBuffers <a href="https://www.youtube.com/watch?v=a0QE0xS8rKM">visualization</a>.</li> +</ul> +</li> +<li>Useful documentation created by others:<ul> +<li><a href="http://exiin.com/blog/flatbuffers-for-unity-sample-code/">Using FlatBuffers in Unity</a> </li> +</ul> +</li> </ul> </div></div><!-- contents --> </div><!-- doc-content --> diff --git a/docs/source/FlatBuffers.md b/docs/source/FlatBuffers.md index b7708695145d4414e6d870c62f1e364ebff7dc36..f05061cc0fb1d61971479ac16c1a73201bedd7de 100644 --- a/docs/source/FlatBuffers.md +++ b/docs/source/FlatBuffers.md @@ -76,6 +76,17 @@ little to no information ahead of time about what data needs to be stored. Read more about the "why" of FlatBuffers in the [white paper](md__white_paper.html). +### Who uses FlatBuffers? +- [Cocos2d-x](http://www.cocos2d-x.org/), the #1 open source mobile game + engine, uses it to serialize all their + [game data](http://www.cocos2d-x.org/reference/native-cpp/V3.5/d7/d2d/namespaceflatbuffers.html). +- [Facebook](http://facebook.com/) uses it for client-server communication in + their Android app. They have a nice + [article](https://code.facebook.com/posts/872547912839369/improving-facebook-s-performance-on-android-with-flatbuffers/) + explaining how it speeds up loading their posts. +- [Fun Propulsion Labs](https://developers.google.com/games/#Tools) + at Google uses it extensively in all their libraries and games. + ## Usage in brief This section is a quick rundown of how to use this system. Subsequent @@ -89,8 +100,8 @@ sections provide a more in-depth usage guide. present for every object instance. - Use `flatc` (the FlatBuffer compiler) to generate a C++ header (or - Java/C#/Go classes) with helper classes to access and construct serialized - data. This header (say `mydata_generated.h`) only depends on + Java/C#/Go/Python.. classes) with helper classes to access and construct + serialized data. This header (say `mydata_generated.h`) only depends on `flatbuffers.h`, which defines the core functionality. - Use the `FlatBufferBuilder` class to construct a flat binary buffer. @@ -128,3 +139,11 @@ sections provide a more in-depth usage guide. - [Landing page](http://google.github.io/flatbuffers) - [FlatBuffers Google Group](http://group.google.com/group/flatbuffers) - [FlatBuffers Issues Tracker](http://github.com/google/flatbuffers/issues) +- Videos: + - Colt's [DevByte](https://www.youtube.com/watch?v=iQTxMkSJ1dQ). + - GDC 2015 [Lightning Talk](https://www.youtube.com/watch?v=olmL1fUnQAQ). + - FlatBuffers for [Go](https://www.youtube.com/watch?v=-BPVId_lA5w). + - Evolution of FlatBuffers + [visualization](https://www.youtube.com/watch?v=a0QE0xS8rKM). +- Useful documentation created by others: + - [Using FlatBuffers in Unity](http://exiin.com/blog/flatbuffers-for-unity-sample-code/)