Apache Thrift offers its own type system, which is designed to allow the developers to use the variable types native to their language of choice. Then, Thrift's libraries take care of translating the types between different languages.
Apache Thrift creators divided its types into a few categories:
Basic: These are the simplest types present in virtually every programming language.
Special: These are those which don't fit into the basic category (currently, it is only one type).
Structs: These are the equivalent of structs or classes from popular programming languages (with some limitations).
Container: These are equivalent to commonly used container types in most of the programming languages.
Services: These are core concept in Apache Thrift. They gather all the other types mentioned earlier to describe the procedures that can be called remotely. Exposing services is the main purpose of Apache Thrift.
IDL is a way of defining...