Apache ™ Thrift es un programa creado a partir de la plataforma de programación del servidor web Apache ™. Está hecho para generar código y trabajar con múltiples lenguajes de codificación a la vez. A diferencia de generadores similares, que producen cantidades innecesarias de código o un gran tamaño, Apache ™ Thrift funciona para incluir solo el código necesario para que sea transparente. Muchos sitios web grandes que necesitan varios idiomas utilizan Thrift, ya que evita que los programadores tengan que utilizar programas y archivos separados. Thrift puede trabajar con 14 lenguajes de codificación a la vez, aunque, aunque tiene muchos beneficios, hay algunas cosas que no puede hacer.
Con la plataforma Apache ™ Thrift, un programador no tiene que crear un cliente complicado desde cero. Más bien, el programador simplemente comienza definiendo algunos tipos de datos. Para una secuencia de comandos de inicio de sesión, esto podría incluir una definición del nombre y la contraseña de un usuario.
Después de definir los tipos de datos, el programador generalmente tiene que empezar a trabajar para definirlos más y agregar un gran espacio de código. En su lugar, Apache ™ Thrift tomará el código definido y lo generará en cualquier lenguaje de codificación que el programador necesite. Ahora el programador solo tiene que revisar el código generado y agregar algunas líneas aquí y allá, en lugar de construir desde cero.
En mayo de 2011, Apache ™ Thrift puede trabajar con 14 lenguajes de codificación. Estos incluyen: C #, C ++, Java®, Python®, Preprocesador de hipertexto (PHP), Erlang, Ruby®, Haskell, Perl®, Cocoa®, Node.js, JavaScript®, OCaml y Smalltalk. Esto permite a los programadores utilizar casi cualquier lenguaje de codificación basado en servidor necesario para programas o problemas específicos, todo bajo un solo programa. Este sistema fue creado para Facebook® pero se convirtió en una aplicación de código abierto en 2007.
Uno de los mayores problemas, especialmente para los nuevos usuarios, es que Apache ™ Thrift no incluye de forma inherente tutoriales ni documentación. Esto significa que los programadores deben resolver el programa por sí mismos. Este problema ha sido resuelto por muchos sitios web que ofrecen tutoriales y programas de aprendizaje para que las personas nuevas en Thrift puedan aprender cómo funciona el programa y cómo generar código desde la plataforma.
La herencia, que permite a un programador crear objetos con comandos o definiciones similares sin escribir la definición de cada objeto, no está incluida en la plataforma Thrift. Esto significa que la codificación de polimorfismo tampoco está permitida, porque depende de la característica de herencia. No se pueden usar funciones nulas y todos los métodos y contenedores deben tener nombres únicos, incluso si se usan diferentes lenguajes de codificación. De lo contrario, el programa puede sobrecargarse.