Data Serialization in C++ using FlatBuffers
What you'll learn
- How to use serialize data
- How to create FlatBuffers
- The difference between Binary and JSON files
- Writing efficient modern C++ code
- The FlatBuffers schema language in detail
Requirements
- Basic C++ knowledge
- Basic understanding of OOP
Description
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.
Who this course is for:
- C++ Programmers
Instructor
Hi, I'm Hristo,
I'm a Software Engineer and in my professional carrer I've been a Technical Lead with C# and Senior Gamplay Programmer with C++. I have practical and advanced knowledge in many programming languages. I am also the co-founder of a startup called Paper Cranes Ltd. which specializes in website development.
In my line of work, I've mentored and elevated many professionals to be experienced developers. If you learn with me you will be gaining real practical knowledge that you can apply tomorrow at your job or at your next project.