This website, nor it's author isn't in any form affiliated or endorsed by the Apache Software Foundation.

Opinions or suggestions included in this document are based on the author's knowledge of Apache Thrift, which is still work-in-progress.

Getting started with Apache Thrift

Please note: this webiste was created in 2011 and - in some places - may be out of date. If you wish to get the tutorial covering latest version of Apache Thrift (as of December 2015), along with lots of examples, advanced information, production hints, created especially for those who want to gain solid knowledge about this framework, consider buying my book Learning Apache Thrift from or publisher's website.

Apache Thrift is – as its official website states - "a software framework for scalable cross-language services development." In simpler words, it allows for easy exchange of data (variables, objects) between applications written in different languages. Thrift protocol offers cross language serialization with overhead slightly smaller than, ie. SOAP. Thrift tools can generate code for C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, Smalltalk and OCaml.

Apache Thrift was primarily developed and used by Facebook, and then was donated to the Apache Software Foundation. Now, Thrift is used not only by Facebook, but as well by some of the big websites – as or reCaptcha.

Apache Thrift lacks of any tutorials, even documentation. It may be troublesome for some people, who want to try it (as it was for me). Hence the idea of preparing this quick "getting started" tutorial answering some basic questions about how to start.

This tutorial covers following topics:

  • installation of the Apache Thrift
  • basic information on how Apache Thrift works
  • quick start - running tutorial provided with Apache Thrift archive
  • writing our own “Hello world” application
  • links to other resources about Apache Thrift

My operating system is Linux Debian (lenny), and my languages of choise are Python and PHP.

Copyrights information

This document is published under the Creative Commons Attribute-Share Alike 3.0 license. Creative Commons License

This website template was prepaded by Studio7designs and is shared under the Creative Commons Attribution 3.0 Unported license.

About the author

Krzysztof Rakowski is living in Warsaw, Poland. He manages eMAG's software development hub.

You may visit his website or contact him by writing to the email krzysztof [at]