Mis on Apache™ Thrift?

Apache™ Thrift on programm, mis on loodud Apache™ veebiserveri programmeerimisplatvormilt. See on loodud koodi genereerimiseks ja mitme kodeerimiskeelega korraga töötamiseks. Erinevalt sarnastest generaatoritest, mis toodavad tarbetult palju koodi või suure jalajälje, töötab Apache™ Thrift nii, et sisaldab ainult vajalikku koodi, et see oleks läbipaistev. Paljud suured veebisaidid, mis vajavad mitut keelt, kasutavad Thrifti, kuna see hoiab programmeerijatel kasutamast eraldi programme ja faile. Thrift võib töötada korraga 14 kodeerimiskeelega, kuigi sellel on palju eeliseid, kuid mõningaid asju see ei suuda.

Apache™ Thrift platvormiga ei pea programmeerija keerulist klienti nullist üles ehitama. Pigem alustab programmeerija mõne andmetüübi määratlemisega. Sisselogimisskripti puhul võib see sisaldada kasutajanime ja parooli määratlust.

Pärast andmetüüpide määratlemist peab programmeerija tavaliselt hakkama nende edasise määratlemise ja suure koodiruumi lisamisega tegelema. Apache™ Thrift võtab selle asemel määratletud koodi ja genereerib selle mis tahes kodeerimiskeeles, mida programmeerija vajab. Nüüd peab programmeerija lihtsalt genereeritud koodi läbi vaatama ja siia-sinna paar rida lisama, mitte eimillestki ehitama.

2011. aasta mai seisuga on Apache™ Thrift võimeline töötama 14 kodeerimiskeelega. Nende hulka kuuluvad: C#, C++, Java®, Python®, Hypertext Preprocessor (PHP), Erlang, Ruby®, Haskell, Perl®, Cocoa®, Node.js, JavaScript®, OCaml ja Smalltalk. See võimaldab programmeerijatel kasutada peaaegu iga serveripõhist kodeerimiskeelt, mis on vajalik konkreetsete programmide või probleemide jaoks, kõik ühe programmi all. See süsteem loodi Facebook® jaoks, kuid sai 2007. aastal avatud lähtekoodiga rakenduseks.

Üks suurimaid probleeme, eriti uute kasutajate jaoks, on see, et Apache™ Thrift ei sisalda õpetusi ega dokumentatsiooni. See tähendab, et programmeerijad peavad programmi ise välja mõtlema. Selle probleemi on lahendanud paljud veebisaidid, mis pakuvad õpetusi ja õppeprogramme, et Thrifti uued inimesed saaksid õppida, kuidas programm töötab ja kuidas platvormilt koodi luua.

Pärand, mis võimaldab programmeerijal teha sarnaste käskude või definitsioonidega objekte ilma iga objekti jaoks definitsiooni kirjutamata, ei sisaldu Thrift platvormis. See tähendab, et ka polümorfismi kodeerimine pole lubatud, kuna see sõltub pärilikkuse tunnusest. Nullfunktsioone ei saa kasutada ning kõigil meetoditel ja konteineritel peavad olema kordumatud nimed, isegi kui kasutatakse erinevaid kodeerimiskeeli. Vastasel juhul võib programm üle koormata.