2009-07-23 16 views
10

Sto valutando la differenza tra JRuby on Rails e l'originale Ruby on Rails per il mio prodotto?JRuby può utilizzare gemme originali Ruby?

Come funziona l'attività di sviluppo, l'implementazione, il supporto tra il suo originale o la scalabilità?

Ho letto molti articoli. Hanno detto che JRuby ha la stessa funzione di Ruby. Significa che possiamo usare le gemme di Ruby per JRuby, usando lo scaffold e ActiveRecord come Ruby, e possiamo anche distribuire il prodotto come Java?

risposta

0

La maggior parte, ma non tutte, le gemme di rubino sono disponibili anche per JRuby. Scaffold e ActiveRecord possono essere sicuramente utilizzati con JRuby. Non troverai alcuna funzionalità di RoR mancante da JRuby on Rails.

Con JRuby è possibile distribuire l'applicazione come standard WAR. Se non sai con certezza se vuoi usare nativo Ruby o JRuby, ti consiglio di usare Netbeans IDE. Con esso puoi passare facilmente da Ruby nativo a JRuby per le applicazioni Rails.

0

JRuby è un'implementazione completa di Ruby, sono uguali ma JRuby viene eseguito sulla JVM. Scala molto bene perché è possibile distribuirlo all'interno di un server di applicazioni come Glassfish o JBoss.

È possibile utilizzare Rails, ovviamente, c'è solo una configurazione da fare, l'adattatore del database. È necessario installare l'adattatore JDBC per ActiveRecord, per esempio:

gem install activerecord-jdbcmysql-adapter 

e nella vostra database.yml

adapter: jdbcmysql 

e il gioco è fatto!

edit:

se siete interessati c'è un confronto tra diverse implementazioni di Ruby, http://www.infoq.com/presentations/seifer-ruby-vm-comparison e JRuby è uno dei migliori implementazione.

7

Solo le gemme scritte esclusivamente in Ruby funzioneranno sotto JRuby. Gemme come RMagick o MySQL o (l'implementazione standard di) JSON che richiedono estensioni C ti lasceranno senza fortuna in alcuni casi e con alternative come le gemme JDBC MySQL e JSON-JRuby in altri casi.

3

Vedere la mia risposta here

Inoltre, questo è un utile riferimento: Is It JRuby

+3

Quella pagina Web non esiste più. –

0

Non è necessario reinstallare tutte le gemme per JRuby. Tutto quello che devi fare è impostare la variabile d'ambiente GEM_HOME sul percorso con le tue gemme. Tieni inoltre presente che JRuby non supporta le estensioni native. Quindi dovrai trovare sostituti JRuby compatibili per gemme che usano estensioni native.

0

Si può leggere questo JRuby description

c'è del testo A proposito di Ruby gemma e come il cloud JRuby usarli:

molte gemme funzioneranno bene in JRuby; tuttavia, alcune gemme creano librerie C native come parte del loro processo di installazione. Queste gemme non funzioneranno in JRuby a meno che Gem non abbia fornito anche un equivalente Java alla libreria nativa.

Problemi correlati