Apache™ Thrift este un program construit din platforma de programare a serverului web Apache™. Este creat pentru a genera cod și a lucra cu mai multe limbaje de codare simultan. Spre deosebire de generatoarele similare, care produc cantități inutile de cod sau o amprentă mare, Apache™ Thrift funcționează pentru a include doar codul necesar, astfel încât să fie transparent. Multe site-uri web mari care au nevoie de mai multe limbi folosesc Thrift, deoarece îi împiedică pe programatori să folosească programe și fișiere separate. Thrift poate funcționa cu 14 limbaje de codare simultan, deși, deși are multe beneficii, există câteva lucruri pe care nu le poate face.
Cu platforma Apache™ Thrift, un programator nu trebuie să construiască un client complicat de la zero. Mai degrabă, programatorul începe doar prin a defini câteva tipuri de date. Pentru un script de conectare, acesta ar putea include o definiție a numelui și parolei unui utilizator.
După definirea tipurilor de date, programatorul trebuie de obicei să înceapă să lucreze la definirea lor în continuare și adăugarea unui spațiu mare de cod. Apache™ Thrift va prelua în schimb codul definit și îl va genera în orice limbaj de codare de care are nevoie programatorul. Acum, programatorul trebuie doar să caute prin codul generat și să adauge câteva linii ici și colo, în loc să construiască din nimic.
Din mai 2011, Apache™ Thrift poate lucra cu 14 limbaje de codare. Acestea includ: C#, C++, Java®, Python®, Hypertext Preprocessor (PHP), Erlang, Ruby®, Haskell, Perl®, Cocoa®, Node.js, JavaScript®, OCaml și Smalltalk. Acest lucru permite programatorilor să folosească aproape orice limbaj de codare bazat pe server, necesar pentru anumite programe sau probleme, toate sub un singur program. Acest sistem a fost creat pentru Facebook®, dar a devenit o aplicație open-source în 2007.
Una dintre cele mai mari probleme, în special pentru utilizatorii noi, este că Apache™ Thrift nu include în mod inerent tutoriale sau documentație. Aceasta înseamnă că programatorii sunt lăsați să descopere singuri programul. Această problemă a fost rezolvată de multe site-uri web care oferă tutoriale și programe de învățare, astfel încât oamenii nou la Thrift să poată afla cum funcționează programul și cum să genereze cod de pe platformă.
Moștenirea, care permite unui programator să creeze obiecte cu comenzi sau definiții similare fără a scrie definiția fiecărui obiect, nu este inclusă în platforma Thrift. Aceasta înseamnă că nici codarea polimorfismului nu este permisă, deoarece aceasta depinde de caracteristica de moștenire. Funcțiile nul nu pot fi utilizate și toate metodele și containerele trebuie să aibă nume unice, chiar dacă folosesc limbaje de codare diferite. În caz contrar, programul se poate supraîncărca.