JRuby on Rails与Ruby on Rails有什么区别?
时间:2020-03-06 14:54:19 来源:igfitidea点击:
我正在尝试尝试JRuby和JRuby on Rails。我很难找到有关JRuby on Rails和Ruby on Rails之间的区别的信息。
我需要注意的区别是什么?
解决方案
大多数情况下,它应该工作相同。在jRoR中,我们可以访问RoR中没有的东西。通常主要是部署方面的问题。
但是,如果RoR应用程序使用的本地库没有在JVM上运行的等效库,则可能会很麻烦。但是,大多数库都有可用的非本机版本(至少我遇到的流行库)。
JRuby是在JVM上运行的ruby实现,而Matz的ruby是C实现。
要注意的主要功能是:
- Jruby在Java VM上运行,并且可以编译或者解释为Java字节码。
- JRuby可以与Java代码集成。如果我们有Java类库(.jar),则可以在JRuby的ruby代码中引用和使用它们。在另一个方向上,我们也可以从Java内部调用Jruby代码。 JRuby还可以使用JVM和应用程序服务器功能。
- JRuby通常托管在Java应用程序服务器中,例如Sun的glassfish甚至是Tomcat Web服务器。
- 尽管我们不能在JRuby中使用本机的ruby gem,但是大多数流行的ruby库都有jruby实现。
jruby Wiki列出了其他差异:
- JRuby和Ruby(MRI)之间的区别
- JRuby在Rails上
我可能是错的,但是我认为我们可以以一种与正常的RoR在Mingle或者类似产品上无法做到的方式打包JRuby on Rails应用程序。可以不丢裤子也不打开和服的情况下进行出售。
就是说,我对RoR包装还不太熟悉,所以不要拘泥于:)