Che cos’è Apache™ Thrift?

Apache™ Thrift è un programma creato dalla piattaforma di programmazione del server Web Apache™. È fatto per generare codice e funzionare con più linguaggi di codifica contemporaneamente. A differenza di generatori simili, che producono quantità inutili di codice o un ingombro pesante, Apache™ Thrift funziona per includere solo il codice necessario in modo che sia trasparente. Molti siti Web di grandi dimensioni che necessitano di più lingue utilizzano Thrift, perché impedisce ai programmatori di dover utilizzare programmi e file separati. Thrift può funzionare con 14 linguaggi di programmazione contemporaneamente, tuttavia, sebbene abbia molti vantaggi, ci sono alcune cose che non può fare.

Con la piattaforma Apache™ Thrift, un programmatore non deve creare un client complicato da zero. Piuttosto, il programmatore inizia semplicemente definendo alcuni tipi di dati. Per uno script di accesso, questo potrebbe includere una definizione di nome utente e password.

Dopo aver definito i tipi di dati, il programmatore di solito deve iniziare a lavorare per definirli ulteriormente e aggiungere un ampio spazio di codice. Apache™ Thrift prenderà invece il codice definito e lo genererà in qualsiasi linguaggio di codifica necessario al programmatore. Ora il programmatore deve solo esaminare il codice generato e aggiungere qualche riga qua e là, piuttosto che costruire dal nulla.

A partire da maggio 2011, Apache™ Thrift è in grado di lavorare con 14 linguaggi di programmazione. Questi includono: C#, C++, Java®, Python®, Hypertext Preprocessor (PHP), Erlang, Ruby®, Haskell, Perl®, Cocoa®, Node.js, JavaScript®, OCaml e Smalltalk. Ciò consente ai programmatori di utilizzare quasi tutti i linguaggi di codifica basati su server necessari per programmi o problemi specifici, tutto in un unico programma. Questo sistema è stato creato per Facebook® ma è diventato un’applicazione open source nel 2007.

Uno dei problemi più grandi, specialmente per i nuovi utenti, è che Apache™ Thrift non include intrinsecamente tutorial o documentazione. Ciò significa che i programmatori sono lasciati a capire il programma da soli. Questo problema è stato risolto da molti siti Web che offrono tutorial e programmi di apprendimento in modo che le persone che non conoscono Thrift possano imparare come funziona il programma e come generare codice dalla piattaforma.

L’ereditarietà, che consente a un programmatore di creare oggetti con comandi o definizioni simili senza scrivere la definizione per ciascun oggetto, non è inclusa nella piattaforma Thrift. Ciò significa che nemmeno la codifica del polimorfismo è consentita, poiché dipende dalla funzione di ereditarietà. Non è possibile utilizzare funzioni null e tutti i metodi e i contenitori devono avere nomi univoci, anche se si utilizzano linguaggi di codifica diversi. In caso contrario, il programma può sovraccaricarsi.