JRuby, otro de los entornos que podemos desplegar en los Servidores Cloud a golpe de clic
JRuby es el entorno de ejecución del popular lenguaje Ruby en una máquina virtual de Java (JVM), lo que significa que permite ejecutar Ruby en cualquier lugar donde se pueda ejecutar Java. Además, su instalación en los Servidores Cloud se realiza muy fácilmente y viene acompañado de otras aplicaciones imprescindibles para sacarle partido, incluyendo los ampliamente utilizados Ruby on Rails y Warbler Gem.
Como vimos en Ruby sobre Cloud, un versátil entorno para desarrollo web, Ruby es un lenguaje de programación que destaca por ser muy amigable con los desarrolladores. Recoge muchas de las mejores prácticas en cuanto a la implementación de la programación orientada a objetos y es uno de los más ilustres herederos de la filosofía Smalltalk. Una gran comunidad lo respalda y es motor de aplicaciones muy reconocidas en el ámbito de las startups. En ese sentido, JRuby, escrito en Java, es un esfuerzo por ampliar la cantidad de sistemas y aplicaciones donde es posible trabajar con el lenguaje Ruby, de cara a continuar incrementando su popularidad.
¿Por qué usar JRuby?
Una de las mejores virtudes de JRuby es su compatibilidad con Ruby on Rails, un framework para desarrollo muy conocido, motor de importantes sitios como Github, Twitter, Shopify o Airbnb. Obviamente, esta compatibilidad no es una razón suficiente para usar JRuby, ya que podríamos usarlo también con el intérprete original de Ruby. Sin embargo, existen otros motivos:
- Es compatible con el código de Java, de modo que podemos invocar código Java directamente desde código Ruby.
- Podemos usar cualquier librería Java dentro de una aplicación JRuby, incluso sustituir librerías nativas existentes en Ruby por alternativas más potentes escritas en Java.
- Pero, además, podemos usar otros lenguajes creados encima de la JVM, como es el caso de Scala, Clojure o Groovy.
- También al contrario, desde Java podríamos usar cualquier gema Ruby.
Incluso en algunas comparativas el compilador de JRuby basado en la máquina virtual de Java es más potente que el propio entorno de ejecución del propio Ruby, MRI.
La parte menos buena es que algunas gemas con código basado en extensiones de C no funcionan en JRuby, pero sobre todo encontraremos problemas con la falta de soporte a los threads de Ruby, aunque se puede suplir usando la concurrencia de la propia JVM.
La decisión de usar JRuby debe tomarse con cuidado, ya que no es una implementación estándar del lenguaje Ruby. Si no requerimos usar librerías Java o nuestro servidor no tiene o no necesita su máquina virtual, no necesitaríamos en principio basar nuestros desarrollos en JRuby. Sin embargo, debido a que el rendimiento de JRuby puede ser mejor que Ruby ejecutado sobre su propio intérprete, muchos desarrolladores de Ruby y Ruby on Rails acaban migrando a JRuby en algún momento.
Instalación en Cloud
Como forma parte del Catálogo de Aplicaciones, la instalación de JRuby en los Servidores Cloud de Arsys se realiza en sólo unos clics y también podemos seleccionar la imagen correspondiente desde el Panel de Control de Cloudbuilder Next. En cualquier caso, las instalación se realiza con un completo stack de tecnologías:
- JRuby. La ya mencionada implementación de Ruby para la JVM.
- Ruby on Rails. El popular framework de desarrollo de aplicaciones Ruby.
- Warbler Gem. para crear archivos jar o war desde código Ruby
- Tomcat. El servidor web de Java Servlets y JSPs.
- Subversion. El sistema de control de versiones.
- Los motores de base de datos SQLite y MySQL.