For anyone who has tried to write their own protocols to connect Server and Client, the pain of having to constantly maintain your protocol on both sides is real. Introducing new features to your protocol or trying to implement a backward compatibility could prove to be a serious ordeal.
Well, as always, Google got you covered! Google has created this awesome technology called Protocol Buffer. This software allows you to make a faster and more efficient transmission over the wired connection.
The initial work on the first version of Protocol Buffer called Proto1 began in early 2001. However, work on Proto1 had been seized after development team at Google decided that the code was too messy. Eventually, Proto1 evolved into Proto2 which took some of the features from Proto1, as well as making the code more readable. Recently, Google has released new version of Protocol Buffer called Proto3. The list of some of the new features that were added includes extended language support (C++, Java, C#, GO, Python), cross platform compatibility and backward support.
One of the most coolest feature among the others is the ability to modify your protocol without a need to adjust both side of the transmission.
All in all, I am very exited of this new tech and is very eager to try it myself. Check out their Git repository (520 Issues, 230 contributors and 14,700 stars): https://github.com/google/protobuf
and their website : https://developers.google.com/protocol-buffers/