2009-07-23 11 views
10

Ich überlege, was ist der Unterschied zwischen JRuby on Rails und dem ursprünglichen Ruby on Rails für mein Produkt?Kann JRuby originale Ruby-Edelsteine ​​verwenden?

Wie unterscheidet es sich in der Entwicklungsaktivität, Bereitstellung, Unterstützung zwischen seiner ursprünglichen oder Skalierbarkeit?

Ich habe viele Artikel gelesen. Sie sagten, JRuby sei dieselbe Funktion wie Ruby. Bedeutet das, dass wir Ruby-Edelsteine ​​für JRuby verwenden können, indem wir Scaffold und ActiveRecord wie Ruby verwenden, und wir können das Produkt auch wie Java bereitstellen?

Antwort

0

Die meisten, aber nicht alle Ruby-Edelsteine ​​sind auch für JRuby verfügbar. Scaffold und ActiveRecord können definitiv mit JRuby verwendet werden. Sie werden keine RoR-Funktionalität finden, die in JRuby on Rails fehlt.

Mit JRuby können Sie Ihre Anwendung als Standard WAR bereitstellen. Wenn Sie nicht sicher wissen, ob Sie nativen Ruby oder JRuby verwenden möchten, empfehle ich Ihnen, Netbeans IDE zu verwenden. Damit können Sie problemlos von nativen Ruby- auf JRuby for Rails-Anwendungen wechseln.

0

JRuby ist eine vollständige Implementierung von Ruby, sie sind die gleichen, aber JRuby läuft auf der JVM. Es skaliert sehr gut, da Sie es in einem Anwendungsserver wie Glassfish oder JBoss bereitstellen können.

Sie können Rails natürlich verwenden, es gibt nur eine Konfiguration zu tun, der Datenbankadapter.

gem install activerecord-jdbcmysql-adapter 

und in Ihrem database.yml

adapter: jdbcmysql 

und fertig: Sie müssen JDBC-Adapter für Active, zum Beispiel installieren!

edit:

wenn Sie interessiert es einen Vergleich zwischen verschiedenen Implementierungen Ruby http://www.infoq.com/presentations/seifer-ruby-vm-comparison und JRuby ist eine der besten Umsetzung.

7

Nur Edelsteine, die rein in Ruby geschrieben sind, funktionieren unter JRuby. Edelsteine ​​wie RMagick oder MySQL oder (die Standardimplementierung von) JSON, die C-Erweiterungen benötigen, werden Sie in einigen Fällen und mit Alternativen wie den JDBC-MySQL- und JSON-JRuby-Edelsteinen in anderen Fällen Pech haben.

3

Siehe meine Antwort here

Auch dies ist eine praktische Referenz: Is It JRuby

+3

Diese Webseite existiert nicht mehr. –

0

Sie haben nicht alle Ihre Edelsteine ​​für JRuby neu zu installieren. Alles, was Sie tun müssen, ist, die Umgebungsvariable GEM_HOME auf den Pfad mit Ihren Gems zu setzen. Bitte beachten Sie, dass JRuby keine nativen Erweiterungen unterstützt. Du musst JRuby-kompatible Ersatz für Edelsteine ​​finden, die native Erweiterungen verwenden.

0

Sie können dies lesen JRuby description

es einige Text über Ruby Gem ist und wie Cloud jruby sie verwenden:

Viele Edelsteine ​​werden in JRuby gut funktionieren; Einige Gems erstellen jedoch native C-Bibliotheken als Teil ihres Installationsprozesses. Diese Edelsteine ​​funktionieren nicht in JRuby, es sei denn, der Edelstein hat auch ein Java-Äquivalent zur nativen Bibliothek bereitgestellt.