JRuby - одна из самых полных реализаций ruby (есть много других, таких как IronRuby, Maglev, Rubinius, XRuby, YARV, MacRuby). Он очень всеобъемлющий, поэтому, если вы не используете гемы, которые используют нативный код на языке C, вы, скорее всего, будете просто прекрасны в плане совместимости.
JRuby немного быстрее, чем фактическая реализация C, но поддерживает реальные потоки, в то время как официальная реализация немного пытается получить ее (она все еще использует Green Threads ). Использование потоков Java из JRuby довольно тривиально, даже если вам потребуется соединить ваш код с Java (хотя с небольшим DI это соединение произойдет только один раз).
Еще одно преимущество: инструменты времени выполнения. Java как платформа вместо языка имеет lot инструментов времени выполнения, которые помогут вам диагностировать проблемы и проверять состояние приложения (профилировщики, JConsole и т. Д.) .
Twitter инженеры также отметили, что Ruby VM своего рода испытывает затруднения, будучи средой для долгоживущих процессов , в то время как JVM очень хороша в этом, потому что она оптимизирована за это за последние десять лет .
В последнее время в Ruby также возникла небольшая проблема с безопасностью, которая не повлияла на реализацию JRuby.
С другой стороны, вашему проекту требуются дополнительные артефакты (JVM, JRuby jar и т. Д.). Если вы используете приложение, которое будет работать долго, и вам нужна лучшая поддержка во время выполнения, JRuby может стать отличным вариантом. В противном случае вы можете спокойно подождать, пока вам не понадобятся эти вещи, чтобы сделать ход (скорее всего, все пройдет гладко).