Developer(s) | Microsoft |
---|---|
Initial release | January 2015 |
Repository | N/A |
Operating system | Windows, macOS, Linux |
Platform | Cross-platform |
Type |
|
License | MIT License |
Microsoft Bond is an open-source cross-platform framework used for working with schematized data. It uses an interface description language to describe the structure of the data, which is used for generating code in a targeted programming language to parse or emit a stream of bytes representing this structured data. It is used broadly in Microsoft's cloud services.[1][2][3]
Microsoft announced and open sourced Bond in early 2015 under the MIT License.[4] It is used schema rules and a rich type system to serialize and deserialize data in a backwards and forwards compatible manner.
Bond currently supports C++, C#, Java and Pyton on Lunux, MacOS and Windows.[1]
Microsoft Bond is similar to the Apache Thrift (used by Facebook), Ion (created by Amazon), or Protocol Buffers (created by Google).[5][6]
Data structures are defined in a .bond file and compiled via gbc, the Bond compiler/codegen tool.[7]
Bond schemas are defined in field names, along with integers that identify each field. The protocol itself only uses the integers, saving space for the field names during the transmission of the data. The names are only used in the generated code for readability.
namespace Examples
struct Record
{
0: string Name;
1: vector<double> Constants;
}
Bond currently supports:[8]
This article "Microsoft Bond" is from Wikipedia. The list of its authors can be seen in its historical. Articles taken from Draft Namespace on Wikipedia could be accessed on Wikipedia's Draft Namespace. [[Category:Cross-platform free software