当前位置:  开发笔记 > 后端 > 正文

JRuby on Rails与Ruby on Rails,有什么区别?

如何解决《JRubyonRails与RubyonRails,有什么区别?》经验,为你挑选了3个好方法。

我想在Rails上试用JRuby和JRuby.我无法找到有关JRuby on Rails和Ruby on Rails之间区别的信息.

我需要注意哪些不同之处?



1> 小智..:

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 gems,但是大多数流行的ruby库都有jruby实现.

jruby wiki中列出了其他差异:

JRuby和Ruby(MRI)之间的差异

JRuby On Rails


哦,它的运行速度比1.9慢一点

2> kares..:

我很惊讶这个问题的所有答案中都缺少一个关键的东西,与GIL有关.

你应该关心的主要区别是esp.在Web应用程序中,例如使用Rails构建的应用程序是真正的并发("Global Interpreter Lock"免费).当使用JRuby运行两个线程(例如,提供2个用户请求)时,它们能够在单个进程内并发运行,而在MRI中,GIL(即使使用1.9的本机线程)也可以避免并行执行Ruby代码.

对于应用程序开发人员来说,这是考虑JRuby时要记住的第一件事,因为它真的很闪亮,config.threadsafe!但要求您确保您的代码(和您的宝石代码)"真正"是线程安全的.



3> Nic Wise..:

我可能错了,但我认为你可以用一种你不能用正常RoR做的方式打包JRuby on Rails应用程序 - 看看Mingle或类似的.可以在不丢弃裤子/打开komono的情况下进行销售.

也就是说,我对RoR包装不够熟悉,所以不要抱它我:)

推荐阅读
女女的家_747
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有