Apache Thrift

Apache Thrift
Original author(s)Facebook, Inc.
Developer(s)Apache Software Foundation
Stable release
0.21.0 / 9 September 2024; 58 days ago (2024-09-09)[1]
RepositoryThrift repository
Written inActionScript, C, C#, C++, D, Dart, Delphi, Erlang, Go, Haskell, Haxe, Java, JavaScript, Node.js, OCaml, Perl, PHP, Python, Rust, Scala, Smalltalk
TypeRemote procedure call framework
LicenseApache 2.0
Websitethrift.apache.org

Thrift is an IDL (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. 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.[7][8]

  1. ^ "Apache Thrift - Downloads". Retrieved September 27, 2024.
  2. ^ "Installing and using Apache Cassandra With Java Part 4 (Thrift Client)". Sodeso – Software Development Solutions. Archived from the original on March 31, 2022. Retrieved March 30, 2011. Thrift is a separate Apache project which is a binary communication protocol
  3. ^ Prunicki, Andrew. "Apache Thrift: Introduction". Object Computing. Archived from the original on July 23, 2011. Retrieved April 11, 2011. Using code generation, Thrift creates a set of files which can then be used for creating clients and/or servers.
  4. ^ "ThriftRequirements". Apache Software Foundation. Archived from the original on February 26, 2024. Retrieved June 22, 2024.{{cite web}}: CS1 maint: unfit URL (link)
  5. ^ Fred Potter, Using Thrift with Cappuccino Archived 2011-08-12 at the Wayback Machine, parallel48's posterously luscious blog, 10 June 2010.
  6. ^ Andrew Prunicki. "Apache Thrift: Code Generation". Object Computing. Archived from the original on July 23, 2011. Retrieved April 12, 2011.
  7. ^ Mark Slee, Aditya Agarwal, Marc Kwiatkowski, Thrift: Scalable Cross-Language Services Implementation
  8. ^ "LibraryFeatures". Apache Software Foundation. July 11, 2019. Archived from the original on May 3, 2024. Retrieved April 21, 2016.