Llegamos a ustedes gracias a:



Noticias

Facebook lanza un software que crea más software

[24/08/2015] Facebook ha lanzado como fuente abierta una biblioteca que utiliza para generar código, proporcionando una manera para que los programadores externos automaticen algunos de los trabajos de rutina que hacen cuando crean programas de gran tamaño.

"Los desarrolladores externos a Facebook pueden utilizar esta herramienta para elevar el nivel de abstracción en su código y construir frameworks más potentes, escribió Alejandro Marcu, ingeniero de software de Facebook, sobre Codegen, en un correo electrónico.

Los frameworks han sido inmensamente valiosos en el desarrollo de software, ya que ahorran mucho tiempo en el desarrollo de una nueva aplicación mediante la racionalización de muchas de las tareas de implementación de bajo nivel. Por ejemplo, el framework de Ruby-on-Rails demostró ser muy popular para configurar rápidamente aplicaciones Web.

Los frameworks son declarativos, lo que significa que permiten al desarrollador "escribir qué quieren, en lugar de como quieren que se haga algo, explicó Marcu.

Codegen trabaja con Hack, un lenguaje de programación tipo PHP que Facebook creó para acelerar el desarrollo de su sitio web, y que posteriormente liberó como código abierto para que otros lo utilicen.

Antes de utilizar Codegen, los ingenieros de Facebook utilizaron una mezcla de scripts y plantillas para generar los bits de código que realizan tareas simples pero ejecutadas con frecuencia como, por ejemplo, buscar el cumpleaños de un usuario.

Sin embargo, este enfoque de 'enlozado' tuvo algunas limitaciones, como Marcu esbozó en un blog que explica la tecnología. Los ingenieros de Facebook no podían decir qué partes del código resultante se basaron en otras partes. Por ello, cualquier cambio podría dar lugar a consecuencias no deseadas.

Además, este viejo enfoque no permitiría a los desarrolladores establecer los tipos de datos para las variables, lo cual puede ser útil para asegurar la integridad de datos. Establecer los tipos de datos también proporcionaría una forma de software de edición de código para autocompletar los fragmentos de código, otro ahorro de tiempo.

E incluso con las plantillas, todavía tenían que escribir muchos componentes adicionales a mano, como por ejemplo el código de prueba, o el cargador de datos.

La biblioteca de Codegen simplifica las operaciones al permitir que un desarrollador cree un esquema, el cual mantendría una plantilla de código que se puede utilizar varias veces, así como una manera de generar todas las funcionalidades relacionadas necesarias para soportar ese código, tal como un cargador de datos y una conexión a la base de datos.

Al usar la biblioteca, el usuario proporciona los detalles necesarios acerca de la implementación en particular y el software se encarga del resto. Puede generar clases, métodos, variables, funciones, interfaces, archivos y otros bloques de código que se necesitan con frecuencia.

El software también proporciona una manera de identificar cuándo es cambiado por otro desarrollador el código generado de forma automática, una información que se puede utilizar para advertir a un proceso de actualización de que no sobrescriba el código escrito a mano. También proporciona un lugar dentro del código generado para colocar las funcionalidades adicionales donde no serán sobrescritas.

Además de Facebook, la biblioteca Codegen sería útil para cualquier desarrollador que con frecuencia tiene que hacer cambios en múltiples partes de un código base, como la creación de una clase, o la adición de una constante.

"Codegen le permitirá hacer automáticamente esto con un cambio, escribió Marcu.