JRuby是否可以替代Rails开发的MRI?

时间:2009-10-28 00:21:14

标签: ruby-on-rails ruby netbeans jruby jrubyonrails

我是一名初学者,正在努力提高我的技能。

我对JRuby的状态有点困惑,以及它是否是切换到MRI的可行替代方案。

目前我在家中运行Mac并使用textedit进行编辑(MRI用于ruby,终端用于rails命令等)。在工作中,我在Windows上使用NetBeans,但不在那里做任何Ruby工作。

我正在认真考虑放弃Mac,原因与此对话无关,但我担心一旦我在Windows上,对Ruby的支持将不是最优的(我可能错了)。

我非常喜欢在工作中使用Netbeans,我可以看到在Windows上使用Netbeans使用JRuby并允许JRuby管理我的宝石将是一个相对愉快的体验。我喜欢代码完成的想法和完整的IDE而不是文本编辑器(没有启动编辑器火焰战争)。

我的问题是,JRuby是否会使学习轨道复杂化?从我所看到的,JRuby上不支持某些宝石,或者在该生态系统中可能会有所不同。作为一名学习者,我会从网络和书籍中学习很多教程,我担心事情可能会起作用,或者很难在JRuby上工作。这种怀疑主义是否有充分根据?或者它应该是一个相对无痛的开关?它如何影响部署到非JRuby平台,如Heroku等?

我仍然在权衡很多选择,包括Windows上的MRI,MRI或OpenSolaris上的JRuby等等。我认为无论哪种方式,我都将使用Netbeans。

感谢任何评论。

5 个答案:

答案 0 :(得分:2)

实际上,您不需要Rails的代码完成。 TextMate是目前Ruby世界中最常用的编辑器,对于Ruby中的所有内容来说,它已经绰绰有余了。 Ruby不需要像Java那样接近工具支持。所以我想说如果编辑问题是你选择JRuby的唯一原因,那不是一个很好的理由。因为你是对的,有很多宝石在JRuby中不起作用,因为它们使用某种原生扩展。也就是说,最流行的宝石往往在JRuby中工作。 JRuby的性能仍然不如Ruby 1.9,但在很多情况下它与MRI 1.8相当。就个人而言,我建议将JRuby视为高级Ruby概念。它会运行Rails,但是,是的,你会发现你将无法按照教程进行操作,对于初学者来说,一切都会变得如此艰难。 JRuby并不是一项特别令人生畏的技术,但作为初学者,它可能比你想要克服的障碍更多。

我强烈建议您将欧元支付给TextMate副本,即使您不主要进行开发。值得每一分钱,然后一些。在该环境中工作一段时间,看看你是否真的需要你的IDE。我打赌你不会。

答案 1 :(得分:1)

  

我的问题是,JRuby会去   复杂的学习轨道?

是的,因为所有教程,初学者文档以及通常能够帮助您的大多数开发人员都在进行MRI检查,因此对于每个问题,您必须先消除jRuby相关原因。

  

从我所看到的,某些宝石   JRuby或其他东西不支持   可能会有点不同   那个生态系统。

任何使用C本机扩展编写的gem都需要移植到jRuby(反之亦然,但问题比较少)。

  

作为一名学习者,我会关注很多   来自网络和书籍的教程   我担心事情可能不会发生   工作或将难以开展工作   JRuby的。这种怀疑很好吗?   成立?

我会说是的,请看我的第一点。

  

它如何影响部署   非JRuby平台,如Heroku   等?

您的开发环境越偏离您的生产环境,就会出现越多“古怪”的错误。另一种方法是部署到google app engine using jRuby.

另一方面,如果没有需求,谁会写jRuby教程?

答案 2 :(得分:1)

我使用Netbeans,Textmate和Vim,但通常使用Netbeans。我喜欢Netbeans的集成调试,有时非常有帮助。 Netbeans和Vim是跨平台的,这对我来说很重要。我讨厌依赖只适用于一个操作系统的软件。我很确定我已经尝试了几乎所有的Rails IDE,Netbeans是我最好的Rails IDE,但我离题了。

cwninja对JRuby的宝石不兼容性是正确的,尽管JRuby支持大多数宝石。有关支持的宝石,请参阅http://isitjruby.com/。 JRuby现在有很多动力,是一个强大的开发选择。从理论上讲,选择JRuby或MRI应该是无关紧要的,但不要指责我。 JRuby允许轻松地在1.8.x和1.9.x之间轻松切换ruby兼容性,但是你可以再次使用RVM(恰好是炸弹)来实现这一点。

无论哪种方式,如果您正在考虑使用不同的ruby解释器,请查看RVM。它允许您轻松地轻松安装和管理大多数ruby解释器。

答案 3 :(得分:0)

看看TBH从UNIX系统转向用于Ruby开发的Windows系统,这看起来很愚蠢。如果你不想使用Mac,请不要使用Mac,但Windows上的很多东西都不会很好用。与做任何工作相比,你将花费更多的时间来搞定它的工作。

我建议不要使用代码完成编辑器,它对您没有帮助。我会说远离那个,直到你有一个良好的语言基础,在开始尝试快捷方式之前了解在哪里查找API等。

JRuby肯定是MRI红宝石的一个很好的替代品,但如果你正在学习教程,它可能只是增加了WTF的水平,因为你知道这可能会适得其反,但如果你去了Windows JRuby可能是最好的方法去吧。

祝你好运。

答案 4 :(得分:0)

我开始在OS X上使用MRI,然后是Windows。我目前在Windows上使用JRuby,但仍然在Windows上使用MRI来检查行为,这是你会习惯的。 JRuby正在进行大量更改以使其与Ruby 1.9兼容,而Ruby本身也是一个移动目标。

查看两者之间的差异并报告错误,最终会加强您对两者的理解,并有助于两个团队推动语言向前发展。