Может ли JRuby использовать оригинальные драгоценности Ruby?

Я рассматриваю вопрос о том, какая разница между JRuby on Rails и оригинальным Ruby on Rails для моего продукта?

Как он отличается от активности разработки, развертывания, поддержки между ее оригинальной или масштабируемостью?

Я прочитал много статей. Они сказали, что JRuby - это такая же функция, как Ruby. Означает ли это, что мы можем использовать камни Ruby для JRuby, используя эшафот и ActiveRecord, такие как Ruby, и мы также можем развернуть продукт, например Java?

Ответ 1

Только Жемчужины, написанные исключительно в Ruby, будут работать под JRuby. Драгоценные камни, такие как RMagick или MySQL или (стандартная реализация) JSON, которые требуют расширения C, в некоторых случаях оставят вас в удалении и с альтернативами, такими как JDBC MySQL и JSON-JRuby в других случаях.

Ответ 2

Смотрите мой ответ здесь

Кроме того, это удобная ссылка: Is It JRuby

Ответ 3

Большинство, но не все, камни Ruby также доступны для JRuby. Scaffold и ActiveRecord могут быть использованы с JRuby. Вы не найдете никаких функций RoR, отсутствующих в JRuby on Rails.

С JRuby вы можете развернуть свое приложение как стандартное WAR. Если вы не знаете наверняка, хотите ли вы использовать собственный Ruby или JRuby, я рекомендую вам использовать NetBeans IDE. С его помощью вы можете легко переключиться с родного Ruby на JRuby для Rails-приложений.

Ответ 4

JRuby - это полная реализация Ruby, они такие же, но JRuby работает на JVM. Он очень хорошо масштабируется, потому что вы можете развернуть его на сервере приложений, например Glassfish или JBoss.

Вы можете использовать Rails, конечно, есть только одна конфигурация, адаптер базы данных. Вы должны установить адаптер JDBC для ActiveRecord, например:

gem install activerecord-jdbcmysql-adapter

и в вашем database.yml

adapter: jdbcmysql

и все готово!

изменить:

если вам интересно сравнение между различными реализациями Ruby, http://www.infoq.com/presentations/seifer-ruby-vm-comparison, а JRuby - одна из лучших реализаций.

Ответ 5

Вам не нужно повторно устанавливать все свои драгоценные камни для JRuby. Все, что вам нужно сделать, - установить переменную окружения GEM_HOME в путь с помощью ваших драгоценных камней. Также обратите внимание, что JRuby не поддерживает собственные расширения. Таким образом, вам придется найти совместимые с JRuby замены для драгоценных камней, которые используют собственные расширения.

Ответ 6

Вы можете прочитать это описание JRuby

есть какой-то текст о рубиновой жемчужине и о том, как облачные jruby используют их:

Многие драгоценные камни будут отлично работать в JRuby; однако некоторые Gems создают собственные библиотеки C как часть процесса установки. Эти самоцветы не будут работать в JRuby, если Gem не предоставил Java эквивалент родной библиотеке.