

Welcome
In this bite-sized course you will learn what data serialization is and how to do it properly. Data serialization is crucial for various tasks. It is essential for web developers who need to transmit data over the network. It is also important for desktop applications and games where the ability to save and retrieve settings or game saves is necessary.
In any of the above cases you would like to have a fast method of preparing data for being sent and also read back on the other side. So I will introduce binary serialization and its benefits compared to the more widespread JSON or XML alternatives.
FlatBuffers
This library is developed by Google and is a really efficient mechanism for serializing data. It is one of the two libraries available that are really popular, and the second one is also developed by Google and is called ProtoBuf, which is used mostly for their other technology called gRPC. The FlatBuffers library is more lightweight and versatile, though, and you can use it for so much more than ProtoBuf.
I will be teaching the FlatBuffers schema language for most of this course. But a lot of the ideas taken from FlatBuffers are also applicable to ProtoBuf and gRPC communication. You will also be able to compile FlatBuffers for other languages as well and not just for C++—so you can have a C++ server and an EcmaScript client, for example.
This course is primarily taught on the Windows OS, but the knowledge gained can easily translate into other operating systems as well.