Integración de herramientas modernas de desarrollo Front end para Ruby on Rails
Integration of modern development tools Front end for Ruby on Rails
Autor
Ovalles Rodriguez, Liceth Lorena
Fecha
2016-11-20Resumen
Ruby on Rails permite gestionar dependencias de front end (CSS, JavaScript, fuentes, etc.) a través de gemas (librerías de Ruby) que se integran con el framework pero frecuentemente las versiones de las dependencias envueltas en dichas gemas se encuentran desactualizadas con respecto a las últimas versiones lanzadas de las dependencias. Adicionalmente, si el desarrollador desea programar en su nueva aplicación la versión más reciente de JavaScript(ES6) deberá conformarse con utilizar versiones anteriores, puesto que el Framework no soporta ES6 en la actualidad.
Este proyecto tiene como objetivo modernizar el flujo de trabajo de los desarrolladores, por eso se propone realizar la creación, integración e implementación de dos herramientas de desarrollo Front end. Para ello se logró la integración del framework con el manejador de paquetes Yarn, que permitió la conexión al canal de distribución de paquetes de JavaScript, posteriormente se realizó la creación de una librería (babel-rails) utilizando a Babel como el transpiler que transforma el código escrito en la próxima generación de JavaScript haciéndolo compatible con los navegadores actuales. Ruby on Rails allows you to manage front end dependencies (CSS, JavaScript, fonts, etc.) through gems (Ruby libraries) that integrate with the framework but often the versions of the dependencies wrapped in those gems are out of date with respect to the latest versions released from the dependencies. In addition, if the developer wants to program in their new application the latest version of JavaScript (ES6) must conform with using previous versions, since the Framework does not currently support ES6.
This project aims to modernize the workflow of the developers, so it is proposed to create, integrate and implement two Front End development tools. The integration of the framework with the Yarn package manager, which allowed the connection to the distribution channel of JavaScript packages, subsequently the creation of the babel-rails library using Babel as the transpiler that transforms the Code written in the next generation of JavaScript making it compatible with current browsers.
The tests performed showed an outstanding result given by the response received from Rails contributors, where it was observed that 86.7% of the sample surveyed will use this new alternative in their future projects.
Thanks to this project we will able to use Yarn as a front end dependency manager since version 5.1 of the Framework that will be published in the upcoming months giving developers the access to a library of unequaled size. Also the Babel-rails library that in his latest version has 142 downloads, will allow to write code in ES6 managing to improve Front end workflow.
Las pruebas realizadas mostraron un resultado sobresaliente dado a la respuesta recibida por parte de los contribuidores de Rails, en que se observó que un 86,7 % de la muestra encuestada utilizaran esta nueva alternativa en sus futuros proyectos.
Gracias a este proyecto se podrá usar Yarn como gestor de dependencias de front end a partir de la versión 5.1 del Framework que será publicada en los próximos meses dando acceso a los desarrolladores a una biblioteca de librerías de tamaño sin igual. Asimismo la librería Babel-rails que en su última versión cuenta con 140 descargas, permitirá escribir código en ES6 logrando mejorar el flujo de trabajo de Front end.