It uses a remote procedure call (RPC) framework and combines a software stack with a code generation engine to build cross-platform services.
Thrift can connect applications written in a variety of languages and frameworks, including ActionScript, C, C++,[4] C#,[5] Cocoa, Delphi, Erlang, Go, Haskell, Java, JavaScript, Objective-C, OCaml, Perl, PHP, Python, Ruby, Elixir, Rust, Scala, Smalltalk, and Swift.
[6] The implementation was described in an April 2007 technical paper released by Facebook, now hosted on Apache.
In contrast to built-in types, created data structures are sent as a result of generated code.
With Thrift, it is possible to define a service and change the protocol and transport without recompiling the code.