Inserisci il tuo indirizzo di posta per ricevere i prossimi articoli gratis:
Servizio gestito tramite Feedburner
Continua la lettura
Articoli recenti
- Perché Google Wave non ha funzionato
- Nuovi iPods, iPhone 5, Bumper in nuova versione e iPad mini: da crederci?
- GoogleCar in vacanza Italia
- Google Chrome: 9 comandi nascosti
- iPad per gli studenti universitari: le prove generali questo autunno
- Tre conquiste dell’umanità di cui non godremo
- A Google Java e C++ vanno stretti
- Rails 3.0: Release candidate
- Android 3.0 fa la sua apparizione non ufficiale
- iPhone 4: venerdì disponibile in altri 17 paesi (Italia compresa)
I più letti

jRuby – Nuovo slancio a Ruby e Rails nel mondo Enterprise
jRuby è una implementazione di Ruby in Java; qualsiasi applicazione scritta in Ruby “puro” può essere eseguita su una Java Virtual Machine senza alcun cambiamento del codice.
Se al primo sguardo jRuby potrebbe sembrare un progetto bizzarro, ecco alcuni scenari che la buona riuscita del progetto potrebbe assicurare:
Nell’esempio sotto una piccola applicazione Ruby accede alla classe Random per ottenere un numero randomico:
require 'java'
include_class 'java.util.Random'
r = Random.new
puts r.nextInt
L’utilizzo delle classi Java è trasparente e può avvenire per mezzo della tipica sintassi di Ruby:
require 'java'
include_class 'java.util.Random'
array = []
[1, 2, 3, 4, 5, 6].each do |x|
array << Random.new
end
array.sort!
puts array.join(", ")
Con jRuby anche l’accoppiata fra Active Record e JDBC non potrebbe essere più felice:
require 'rubygems'
gem 'ActiveRecord-JDBC'
require 'jdbc_adapter'
require 'active_record'
ActiveRecord::Base.establish_connection(
:adapter => 'jdbc',
:driver => 'org.apache.derby.jdbc.EmbeddedDriver',
:url => 'jdbc:derby:test_ar;create=true'
)
Aspettando che jRuby raggiunga il livello di maturità necessario ad un suo utilizzo in ambienti di produzione, è possibile scaricare il progetto dal sito ufficiale ed iniziare ad utilizzare la console interattiva messa a disposizione.
Altri articoli interessanti: