Apache™ Thrift je program, zgrajen iz programske platforme spletnega strežnika Apache™. Narejen je za generiranje kode in delo z več kodnimi jeziki hkrati. Za razliko od podobnih generatorjev, ki proizvajajo nepotrebne količine kode ali imajo velik odtis, Apache™ Thrift vključuje samo potrebno kodo, tako da je pregledna. Številna velika spletna mesta, ki potrebujejo več jezikov, uporabljajo Thrift, ker programerjem preprečuje uporabo ločenih programov in datotek. Thrift lahko deluje s 14 jeziki kodiranja hkrati, čeprav ima številne prednosti, nekaj stvari ne more storiti.
S platformo Apache™ Thrift programerju ni treba zgraditi zapletenega odjemalca iz nič. Namesto tega programer šele začne z definiranjem nekaj tipov podatkov. Za skript za prijavo lahko to vključuje definicijo uporabniškega imena in gesla.
Po definiranju podatkovnih tipov mora programer običajno začeti delati na njihovem nadaljnjem definiranju in dodajanju velikega prostora kode. Apache™ Thrift bo namesto tega vzel definirano kodo in jo ustvaril v katerem koli kodnem jeziku, ki ga potrebuje programer. Zdaj mora programer samo pregledati ustvarjeno kodo in dodati nekaj vrstic sem ter tja, namesto da bi gradil iz nič.
Od maja 2011 lahko Apache™ Thrift deluje s 14 kodirnimi jeziki. Ti vključujejo: C#, C++, Java®, Python®, Hypertext Preprocessor (PHP), Erlang, Ruby®, Haskell, Perl®, Cocoa®, Node.js, JavaScript®, OCaml in Smalltalk. To programerjem omogoča uporabo skoraj katerega koli strežniškega kodnega jezika, ki je potreben za določene programe ali težave, vse v enem programu. Ta sistem je bil narejen za Facebook®, vendar je leta 2007 postal odprtokodna aplikacija.
Ena največjih težav, zlasti za nove uporabnike, je, da Apache™ Thrift sama po sebi ne vključuje vadnic ali dokumentacije. To pomeni, da so programerji prepuščeni, da sami ugotovijo program. To težavo so rešila številna spletna mesta, ki ponujajo vadnice in učne programe, tako da se lahko ljudje, ki so novi v Thriftu, naučijo, kako program deluje in kako ustvariti kodo iz platforme.
Dedovanje, ki programerju omogoča izdelavo objektov s podobnimi ukazi ali definicijami, ne da bi za vsak objekt napisal definicijo, ni vključeno v platformo Thrift. To pomeni, da tudi kodiranje polimorfizma ni dovoljeno, ker je to odvisno od značilnosti dedovanja. Funkcij nič ni mogoče uporabiti, vse metode in vsebniki pa morajo imeti edinstvena imena, tudi če uporabljajo različne jezike kodiranja. V nasprotnem primeru se lahko program preobremeni.