JRuby: Implementación de Ruby en la JVM

  • 0 Respuestas
  • 3644 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Expermicid

  • *
  • Ex-Staff
  • *****
  • Mensajes: 463
  • Actividad:
    0%
  • Reputación 0
  • _-Expermicid-_
  • Skype: expermicid.xd
    • Ver Perfil

JRuby: Implementación de Ruby en la JVM

  • en: Septiembre 27, 2014, 01:18:36 pm
JRuby es una implementación 100% Java del lenguaje de programación Ruby. Básicamente es un intérprete de Ruby escrito en Java y que se ejecuta sobre la máquina virtual. Es una de las tantas implementaciones, de las más completas.


Actualmente Ruby se encuentra en su versión 1.9.2, y la implementación oficial (la más usada – Matz’s Ruby Interpreter o MRI) se toma como referencia para la especificación del lenguaje. Esta versión de Ruby corre sobre una máquina virtual específica de Ruby, y está escrita en C. JRuby soporta completamente Ruby 1.8, y se está trabajando en la compatibilidad con 1.9.2. Además de estas dos implementaciones existen también MacRuby (Ruby en Mac OS X), Rubinius, y otras.

La madurez de una implementación es medida (segun Wikipedia) por su habilidad de ejecutar Ruby On Rails. Este punto se denomina la singularidad Rails. Para tener una referencia de la madurez de JRuby, en mayo de 2010 solamente la MRI y JRuby eran capaces de ejecutar Rails sin modificaciones en un ambiente de producción.

¿Porqué JRuby?

No recuerdo cuándo leí por primera vez sobre JRuby, pero esta fue la primer pregunta que vino a mi cabeza. No me terminé de convencer de su utilidad hasta que fui a RubyConf Uruguay.

El tema es que JRuby es solo Ruby, pero no es solo Ruby. Se ejecuta sobre la JVM, que tiene bastante trabajados y aceitados varios aspectos de una máquina virtual como el Garbage Collector. Además, tenemos a disposición las miles de herramientas y bibliotecas ya maduras en el ambiente Java, y la integración con todos los demás lenguajes que corren sobre la JVM. Agregarle a eso la cantidad de plataformas en las que puede correr (y la concurrencia).

En resumen, podemos programar en Ruby dentro del ambiente Java, con todas las ventajas que esto nos aporta.

Usando JRuby

Instalarlo es trivial, en mi caso simplemente usé yaourt para descargar e instalar el paquete, pero pueden visitar el sitio web para descargarlo y ver instrucciones de instalación: http://jruby.org/download

Una vez hecho esto, podemos ejecutar código Ruby con JRuby, o escribir un híbrido Ruby Java. Un ejemplo que Charles Nutter – uno de los lead developers y gran evangelista de JRuby – dió en la RubyConf fue levantar un JFrame con JRuby. Es un código bien sencillo, pero en mi caso fue como el golpe que me hizo dar cuenta que se “programa Ruby con Java” (no sé si me explico, en fin, dejo a libre interpretación):

Código: Ruby
  1. #Usar Java
  2. require "java"
  3.  
  4. #Importar las clases Java requeridas:
  5. include_class javax.swing.JFrame
  6. include_class javax.swing.JLabel
  7.  
  8. #Crear Frame y agregar etiqueta:
  9. f = JFrame.new 'Ventana - JRuby'
  10. f.setSize 400,400
  11. l = JLabel.new 'Hola mundo desde JRuby'
  12. f.add l
  13. f.show

No hay que olvidar además que podemos hacer uso de Ruby On Rails y desplegarlo junto a otras aplicaciones web en un servidor Java como Tomcat.

JRuby 1.6

Esta entrada fue motivada por el lanzamiento de JRuby 1.6.0 RC1. Se trata de uno de los hitos más importantes para JRuby debido a varias razones. Llevó 9 meses de trabajo y algunas de las características destacadas son la compatibilidad con Ruby 1.9, mejoras en el rendimiento y soporte para Windows.

Respecto a la compatibilidad con el lenguaje y la API de Ruby 1.9.2, está casi terminada. Faltan algunas pocas cosas por implementar antes de la versión final. El rendimiento de las llamadas a métodos Ruby ha sido mejorado, reduciendo sustancialmente los tiempos, además de muchas optimizaciones en respuesta a reportes de los usuarios.

Otras mejoras a destacar:
  • Profiler Gráfico incorporado
  • Cambios en RubyGems – Actualización a RubyGems 1.4.2 y otros cambios
  • Soporte experimental para API de extensión de C
  • Preview de soporte RubyGems para Maven
  • Compatibilidad y experiencia de usuario mejorada en Windows
Además de todo esto, se hicieron más de 2000 commits y se resolvieron 265 problemas. El desarrollo de esta versión contó con la mayor cantidad arreglos, revisiones y contribuciones de usuarios hasta el momento.

Con todo esto podemos suponer que JRuby está creciendo, y seguirá así por un buen tiempo. Ya presenta una alternativa interesante a Ruby en un contexto de desarrollo específico de Java.

Viniendo de desarrollar en Java y queriendo desarrollar en Ruby, mirar JRuby es como un puente entre ambas. Todavía tengo fijada la idea de aprender Ruby, pero JRuby presenta una oportunidad para ir pensando en mechar Ruby con el trabajo diario en Java.

Autor: Fernando Briano
Fuente: picandocodigo

Saludos

 

[Ruby] Traductor de Decimal a Ascii / Ascii a Decimal

Iniciado por ANTRAX

Respuestas: 0
Vistas: 2852
Último mensaje Febrero 24, 2010, 04:16:38 pm
por ANTRAX
Lenguaje Ruby, aprendiendo poco a poco.

Iniciado por Alejandro_99

Respuestas: 2
Vistas: 3159
Último mensaje Agosto 15, 2013, 02:58:39 pm
por Alejandro_99
Crafting rails 4 applications (Manual de Ruby on Rails 4)

Iniciado por Alejandro_99

Respuestas: 0
Vistas: 1996
Último mensaje Marzo 01, 2014, 05:34:50 pm
por Alejandro_99
Desarrollo de aplicaciones Perl, PHP, Python y "Ruby on Rails"

Iniciado por Alejandro_99

Respuestas: 0
Vistas: 2475
Último mensaje Junio 13, 2014, 03:27:08 pm
por Alejandro_99
Como Instalar RubyMine y Crear un proyecto vacio para Ruby y Rails

Iniciado por Alejandro_99

Respuestas: 0
Vistas: 2900
Último mensaje Julio 07, 2013, 10:51:08 pm
por Alejandro_99