2009-07-23 14 views
10

Estoy considerando cuál es la diferencia entre JRuby on Rails y la original Ruby on Rails para mi producto?¿Puede JRuby usar gemas de Ruby originales?

¿Cómo se diferencia en la actividad de desarrollo, la implementación, el soporte entre su original o escalabilidad?

He leído muchos artículos. Dijeron que JRuby es la misma función que Ruby. ¿Significa que podemos usar gemas de Ruby para JRuby, usando andamios y ActiveRecord como Ruby, y también podemos implementar el producto como Java?

Respuesta

0

La mayoría, pero no todas, las gemas de Ruby también están disponibles para JRuby. Scaffold y ActiveRecord definitivamente se pueden usar con JRuby. No encontrará ninguna funcionalidad RoR que falta en JRuby on Rails.

Con JRuby puede implementar su aplicación como estándar WAR. Si no está seguro si desea utilizar Ruby o JRuby nativos, le recomiendo que use Netbeans IDE. Con él, puede cambiar fácilmente de Ruby nativo a JRuby para aplicaciones Rails.

0

JRuby es una implementación completa de Ruby, son lo mismo pero JRuby se ejecuta en la JVM. Se escala muy bien porque puede implementarlo dentro de un servidor de aplicaciones como Glassfish o JBoss.

Puede utilizar los rieles, por supuesto, solo hay una configuración que hacer, el adaptador de la base de datos. Debe instalar el adaptador JDBC para ActiveRecord, por ejemplo:

gem install activerecord-jdbcmysql-adapter 

y en su database.yml

adapter: jdbcmysql 

y ya está!

edición:

si está interesado hay una comparación entre diferentes implementaciones de Ruby, JRuby http://www.infoq.com/presentations/seifer-ruby-vm-comparison y es uno de los mejor aplicación.

7

Solo gemas escritas puramente en Ruby funcionarán bajo JRuby. Las gemas como RMagick o MySQL o (la implementación estándar de) JSON que requieren extensiones C te dejarán sin suerte en algunos casos y con alternativas como las gemas JDBC MySQL y JSON-JRuby en otros casos.

3

Véase mi respuesta here

Además, esta es una referencia práctica: Is It JRuby

+3

Esa página web ya no existe. –

0

Usted no tiene que volver a instalar todas las gemas para JRuby. Todo lo que tienes que hacer es establecer la variable de entorno GEM_HOME en la ruta con tus gemas. Tenga en cuenta que JRuby no admite extensiones nativas. Por lo tanto, deberá encontrar reemplazos compatibles con JRuby para las gemas que usan extensiones nativas.

0

Puede leer este JRuby description

hay algún texto sobre gema de rubíes y cómo los utilizan nube jruby:

muchas joyas no tendrán ningún problema en JRuby; sin embargo, algunas gemas crean bibliotecas C nativas como parte de su proceso de instalación. Estas gemas no funcionarán en JRuby a menos que la gema también proporcione un equivalente de Java a la biblioteca nativa.

Cuestiones relacionadas