Los desarrolladores front-end pueden ser cosa del pasado gracias a la IA

Estándar

Todos sentimos una mezcla de fascinación y tristeza al revisar las listas de trabajos que están a punto de desaparecer gracias a los avances de la IA (Inteligencia Artificial) o los sistemas robotizados, entre ellos jugadores de Go, conductores de camión, trabajadores de almacén, taxistas, trabajadores de entrega de paquetes y al parecer recientemente desarrolladores front-end. Sí los desarrolladores front-end están ahora en la lista de trabajos que no veremos en los próximos años.

Resulta que Tony Beltramelli de UIzard Technologies acaba de publicar un artículo y un video de su projecto pix2code. La idea básica de este proyecto es bastante simple aunque pueda parecer en un principio sorprendente. Tomar una red neuronal y mostrarle la imagen de una interfaz de usuario y entrenarla para que pueda producir el código fuente que crea dicha interfaz de usuario. Usted puede entrenar la red para una diversa gama de sistemas diferentes – iOS, HTML y así sucesivamente. El truco para ser multilingüe es usar un DSL (Domain Specific Language) para cada plataforma en particular, que describe la interfaz de usuario y luego se compila en el lenguage de la plataforma de destino. Por lo tanto, la red neural sólo debe ser entrenada para una representación del lenguaje DSL que se adapta a cada plataforma.

Aunque el código fuente aún no está publicado, hay un proyecto en Github del autor dónde indica que lo publicará, lo mismo que los datasets que ha usado para las conferencias NIPS de este año, a realizarce entre el 4 y 9 de diciembre.

Por lo pronto como una muestra, ha subido un video a YouTube en dónde se puede ver cómo dándole una imagen al programa pix2code e indicándole a que plataforma debe de generar el front-end, produce todos los archivos de código fuente necesarios, aquí el video:

 

Para más información sobre esta tecnología además del website del autor, también se pueden visitar los artículos de Wired UK & The Next Web, que contienen información adicional.