Ventajas que aporta a los proyectos la versión 6 de Ruby on Rails

Antonio Pérez17-Abr, 2019
En este artículo encontrarás:
  • Realizar mediciones y conocer al comprador
  • Velocidad de carga
  • Responsive
  • Animación, imágenes y multimedia
  • Legibilidad del texto
  • Diseño
  • Estructura, interfaz y navegación
Tags:

Dentro de muy poquito, entre el 30 de Abril y el 2 de Mayo se celebra la RailsConf en Minneapolis, este es, sin duda, el mayor evento dentro de la comunidad Rails del año y, como no, para esa fecha se hará el lanzamiento del tan esperado Rails 6, la nueva mayor release de nuestro framework de Ruby favorito, en su versión 5 desde Junio de 2016.

Pese a que aún no se ha lanzado, desde hace meses, tenemos disponible la beta de esta versión 6, por lo que las nuevas características de Rails son, en su mayor parte conocidas. Aún así, vamos a presentar cuales son sus principales novedades y ventajas.

Lo primero que tenemos que destacar es la versión de Ruby que necesitaremos para trabajar con esta nueva versión de Ruby on Rails, para poder trabajar con Rails 6 necesitamos mínimo la versión 2.5 de Ruby.

Nuevas características de Rails6

Algo que todos los desarrolladores de Rails tenemos que oír cada cierto tiempo es, “Rails es muy pesado…” o bien “Rails no es escalable…” Y, aunque muchos no estamos de acuerdo con esa afirmación parece que los chicos que se encargan de mantener el framework se han propuesto acabar con ese mito de una vez por todas y han decidido dotarlo de características muy interesantes tales como:

Soporte de múltiples bases de datos

Siempre se ha dicho que la gestión de bases de datos de Rails era engorrosa cuando teníamos que gestionar varias bases de datos en una aplicación. Pues bien, podemos olvidarnos de eso, con Rails 6 el soporte de múltiples bases de datos ya es nativo por lo que será mucho más sencillo y estará mucho mejor integrado que en versiones anteriores, lo que facilitará nuestro trabajo de forma significativa en aplicaciones grandes.

Tests en paralelo

Todos estamos de acuerdo en que si hay un framework que implementa los tests de forma nativa ese es Rails, pero ¿No os suena el ventilador cuando estáis ejecutando los tests? Efectivamente, este es otro punto en el que va a mejorar el rendimiento de nuestra aplicación y el flujo de desarrollo con Rails 6. En esta nueva versión tendremos la posibilidad de correr los tests que ejecutamos en paralelo, así podremos ejecutarlos mucho más rápida y eficientemente, mejorando nuestro flujo de trabajo en aplicaciones que tengan ya una envergadura importante.

Action Text

Esta es una de las novedades más llamativas de esta versión de Ruby on Rails, Action Text nos permite generar, dentro de un formulario estándar, un editor WYSIWYG que nos permitirá dar formato al texto que se introduzca en ese componente del formulario de forma nativa.
Action Text se basa en el conocido editor Trix, usado ampliamente por la comunidad y que, desde el equipo de Rails han decidido incorporar de forma nativa al framework.
Esta ha sido una de las características más demandadas a lo largo del tiempo por la comunidad por la necesidad siempre de tener que recurrir a soluciones externas que, todos sabemos que algún día su autor decide dejar de evolucionar, quedándose obsoleta y obligándonos a realizar cambios importantes en las aplicaciones en la que la estábamos usando, otro problema que Rails 6 nos elimina.

Action Mailbox

Este es el segundo framework de importancia que se añade a Rails 6, Action Mailbox nos permite procesar correo electrónico entrante en distintas bandejas. Además, viene directamente con integraciones para Amazon SES, Sendgrid, Mailgun y Mandrill. Hasta ahora, el correo saliente lo teníamos mas o menos controlado con Action Mailer, pero el correo entrante era el talón de Aquiles del framework, problema que viene a solucionar Action Mailbox.

Estas son quizá las principales novedades que nos brinda esta versión 6 de Ruby on Rails, desde luego hay muchas más, infinidad de detalles que se han añadido y mejorado en el framework, pero como resumen digamos que estas son las principales.

Como podemos observar, y pese a los rumores de que Rails es un framework en declive, realmente lo que nos damos cuenta es que Rails, con estas dos últimas versiones, Rails 5 y Rails 6 es un framework maduro y consolidado. Podemos apreciar que se sigue cuidando con mimo a los desarrolladores y que mantiene intacta su intención de hacer que nuestro trabajo sea más sencillo y productivo.

Principales proyectos en Rails

Volviendo al tema de que Rails no es escalable, aquí tenemos unos cuantos proyectos que desmienten esto mismo.

GitHub

Efectivamente, la plataforma que usamos tantos y tantos desarrolladores para mantener y tener nuestros repositorios de código en la nube está hecho en Ruby on Rails.

GitHub Ruby on Rails

Airbnb.

La archiconocida red de reserva de propiedades a particulares también está, efectivamente, construida con Ruby on Rails. Miles de usuarios simultáneamente la usan, un gran porcentaje de los que estéis leyendo este artículo probablemente lo hayáis hecho ¿alguno de vosotros ha notado que la web funciona mal o va lenta?

airbn Ruby on Rails

Basecamp

La plataforma de gestión de proyectos Basecamp es, de hecho, el germen del framework. David Heinemeier, el creador de Rails precisamente lo desarrolló estando trabajando en esta empresa para mejorar la plataforma tal como existía hasta el momento, posteriormente se migró toda la plataforma.

Basecamp Ruby on Rails

Si os planteáis si Ruby on Rails es un lenguaje apropiado para ejecutar vuestros proyectos la respuesta es un sí rotundo, sobre todo si necesitáis un backend para un proyecto multiplataforma, hablaremos en más artículos las grandes ventajas de Ruby on Rails para generar APIs. Os dejo además aquí un par de enlaces por si queréis ampliar la información

Esta es la conferencia que dio Eileen Uchitelle presentando las principales novedades de Rails 6 en la RailsConf de 2018

Aquí os dejo también las release notes de Rails 6

Antonio Pérez

Full Stack Developer. Desarrollo con Ruby on Rails, Angular, APIs y Bases de Datos.