Un file .thrift è un file di definizione utilizzato dal framework Apache Thrift. Apache Thrift è un linguaggio di definizione dell'interfaccia (IDL) e un protocollo di comunicazione binario utilizzato per definire e creare servizi per molteplici linguaggi di programmazione. Il file .thrift definisce le strutture dati, le interfacce e i servizi che verranno impiegati in un'applicazione Thrift. Specifica i tipi di dati, i campi, i metodi e le eccezioni che costituiscono parte del contratto di servizio. Il compilatore Thrift utilizza quindi questo file di definizione per generare codice in vari linguaggi, come C++, Java, Python, PHP, Ruby, Erlang, Go e altri. Questo codice generato include le classi e le funzioni necessarie per la serializzazione e deserializzazione dei dati, nonché per l'esecuzione di chiamate di procedura remota (RPC). Lo scopo principale di un file .thrift è abilitare la comunicazione cross-language e l'interoperabilità tra diversi componenti software. Consente agli sviluppatori di definire un servizio una sola volta e di implementarlo successivamente in più linguaggi, garantendo che tutte le implementazioni aderiscano allo stesso contratto. Ciò semplifica notevolmente lo sviluppo di sistemi distribuiti e architetture a microservizi.