Archivo de la etiqueta: JRuby

Guía básica utilización de JRuby

 

No es novedad la potencia y rendimiento que posee la máquina virtual de Java, pero tampoco lo es lo tedioso que resulta desarrollar sobre esta misma. Es así entonces como nace la mezcla perfecta de un luega dinamico como ruby y el gran rendimiento de jvm!

Entonces… qué necesitamos?
– JRuby
– Java SDK

Para fedora, redhat, centos:

sudo yum install jruby

Ubuntu y deribados:

sudo apt-get install jruby

Si estamos cometiendo el pecado de no utilizar una máquina con Unix lo descargamos de aquí.

Y también descargamos la última versión de java SDK. Recomendamos Java 7.

sudo yum install java-sdk

o

sudo apt-get install java-sdk

Si no poseemos un repositorio de java lo descargamos directamente del sitio de Oracle aquí.

Ahora ya estamos listos para comenzar.

Primero creamos un archivo para extraer datos (para hacer la cosa un poquito más interensate)

echo "Hola Mundo !!" >> datos.txt

Creamos nuestro archivo ruby

vim primerJRuby.rb

Y pegamos lo siguiente

require 'java'
module JavaIO
   include_package "java.io"
end
frame = javax.swing.JFrame.new("Mi primer JFrame en JRuby")
frame.size = java.awt.Dimension.new(400,200)
label = javax.swing.JLabel.new((File.open('datos.txt', 'r')).readline)
frame.getContentPane.add(label,java.awt.BorderLayout::CENTER)
frame.setDefaultCloseOperation(javax.swing.JFrame::EXIT_ON_CLOSE)
frame.setVisible(true)

Explicación…

Importamos java

require 'java'

Importamos la libreria java.io para aceptar entradas IO

module JavaIO
include_package "java.io"
end

Creamos nuestro frame (ventana)

frame = javax.swing.JFrame.new("Mi primer JFrame en JRuby")

Le asignamos tamaño a nuestra ventana

frame.size = java.awt.Dimension.new(400,200)

Leemos un archivo y lo desplegamos a través de un label

label = javax.swing.JLabel.new((File.open('datos.txt', 'r')).readline)

Meto el label dentro del JFrame

frame.getContentPane.add(label,java.awt.BorderLayout::CENTER)

Le asigno la funcionalidad de cerrar al JFrame

frame.setDefaultCloseOperation(javax.swing.JFrame::EXIT_ON_CLOSE)

Hacemos visible nuestro JFrame

frame.setVisible(true)

y ejecutamos.

jruby primerJRuby.rb

Espero les haya servido.
Saludos!