This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages)
This article contains content that is written like an advertisement. Please help improve it by removing promotional content and inappropriate external links, and by adding encyclopedic content written from a neutral point of view.(August 2019) (Learn how and when to remove this template message)
This article is written like a manual or guide. Please help rewrite this article and remove advice or instruction.(August 2019)
(Learn how and when to remove this template message)
Apache Thrift
Original author(s)
Facebook, Inc.
Developer(s)
Apache Software Foundation
Stable release
0.19.0
/ 2 September 2023; 6 months ago (2023-09-02)[1]
Thrift is an interface definition language and
binary communication protocol[2]
used for defining and creating services for programming languages.[3] It was developed by Facebook. Since 2020, it is an open source project in the Apache Software Foundation.
It uses a remote procedure call (RPC) framework and combines a software stack with a code generation engine to build cross-platform services. Ultimately, 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,[6] Rust, Scala, Smalltalk, and Swift.[7] The implementation was described in a April 2007 technical paper released by Facebook, now hosted on Apache.[8][9]
^"Apache Thrift - Downloads". Retrieved 6 January 2024.
^"Installing and using Apache Cassandra With Java Part 4 (Thrift Client)". Sodeso – Software Development Solutions. Retrieved 2011-03-30. Thrift is a separate Apache project which is a binary communication protocol
^Andrew Prunicki. "Apache Thrift: Introduction". Object Computing. Archived from the original on 2011-07-23. Retrieved 2011-04-11. Through a simple and straightforward Interface Definition Language (IDL), Thrift allows [users] to define and create services which are both consumable by and serviceable by numerous languages. Using code generation, Thrift creates a set of files which can then be used for creating clients and/or servers. In addition to interoperability, Thrift can be very efficient through a unique serialization mechanism that is efficient in both time and space.
^Thrift Requirements, see this issue for Windows support
^Fred Potter, Using Thrift with Cappuccino Archived 2011-08-12 at the Wayback Machine, parallel48's posterously luscious blog, 10 June 2010.
^Andrew Prunicki. "Apache Thrift: Code Generation". Object Computing. Archived from the original on 2011-07-23. Retrieved 2011-04-12. Thrift supports many programming languages too varying degrees. The complete list is below. Be careful before assuming that just because your language has some support that it supports all of Thrift's features. Python for example, only supports TBinaryProtocol. Cocoa, C++, C#, Erlang, Haskell, Java, OCaml, Perl, PHP, Python, Ruby, and Smalltalk
now hosted on Apache. Thrift includes a complete stack for creating clients and servers. The top part is generated code from the Thrift definition. From...
in the United States ApacheThrift, a remote procedure call (RPC) framework Thrift (plant), a plant in the genus Armeria Syd Thrift (1929–2006), American...
data serialization formats ApacheThrift Protocol Buffers Etch (protocol) Internet Communications Engine MessagePack CBOR "Apache Avro: a New Format for Data...
Meta Platforms Products and services People Open source Apache Cassandra Apache Hive ApacheThrift Buck FQL Hack HHVM HipHop for PHP Infer MyRocks Open Compute...
open-source project on Google code in July 2008. In March 2009, it became an Apache Incubator project. On February 17, 2010, it graduated to a top-level project...
Apache Hive is a data warehouse software project, built on top of Apache Hadoop for providing data query and analysis. Hive gives an SQL-like interface...
Meta Platforms Products and services People Open source Apache Cassandra Apache Hive ApacheThrift Buck FQL Hack HHVM HipHop for PHP Infer MyRocks Open Compute...
Bigtable. It is a system built on top of Apache Hadoop, Apache ZooKeeper, and ApacheThrift. Written in Java, Accumulo has cell-level access labels and...
Meta Platforms Products and services People Open source Apache Cassandra Apache Hive ApacheThrift Buck FQL Hack HHVM HipHop for PHP Infer MyRocks Open Compute...
Meta Platforms Products and services People Open source Apache Cassandra Apache Hive ApacheThrift Buck FQL Hack HHVM HipHop for PHP Infer MyRocks Open Compute...
Meta Platforms Products and services People Open source Apache Cassandra Apache Hive ApacheThrift Buck FQL Hack HHVM HipHop for PHP Infer MyRocks Open Compute...
Meta Platforms Products and services People Open source Apache Cassandra Apache Hive ApacheThrift Buck FQL Hack HHVM HipHop for PHP Infer MyRocks Open Compute...
aligned well with their existing custom RPC frameworks. Cap'n Proto ApacheThriftApache Avro JSON-RPC XML-RPC Free and open-source software portal Comparison...
Meta Platforms Products and services People Open source Apache Cassandra Apache Hive ApacheThrift Buck FQL Hack HHVM HipHop for PHP Infer MyRocks Open Compute...
Meta Platforms Products and services People Open source Apache Cassandra Apache Hive ApacheThrift Buck FQL Hack HHVM HipHop for PHP Infer MyRocks Open Compute...
Meta Platforms Products and services People Open source Apache Cassandra Apache Hive ApacheThrift Buck FQL Hack HHVM HipHop for PHP Infer MyRocks Open Compute...
Meta Platforms Products and services People Open source Apache Cassandra Apache Hive ApacheThrift Buck FQL Hack HHVM HipHop for PHP Infer MyRocks Open Compute...
Meta Platforms Products and services People Open source Apache Cassandra Apache Hive ApacheThrift Buck FQL Hack HHVM HipHop for PHP Infer MyRocks Open Compute...
Meta Platforms Products and services People Open source Apache Cassandra Apache Hive ApacheThrift Buck FQL Hack HHVM HipHop for PHP Infer MyRocks Open Compute...
inter-machine communication at Google. Protocol Buffers are similar to the ApacheThrift, Ion, and Microsoft Bond protocols. Offering a concrete RPC protocol...
Meta Platforms Products and services People Open source Apache Cassandra Apache Hive ApacheThrift Buck FQL Hack HHVM HipHop for PHP Infer MyRocks Open Compute...
Meta Platforms Products and services People Open source Apache Cassandra Apache Hive ApacheThrift Buck FQL Hack HHVM HipHop for PHP Infer MyRocks Open Compute...