IronRuby On Rails VS. Ruby On Rails(入门)

时间:2009-10-21 11:32:10

标签: ruby-on-rails ironruby

情景

我是具有几年经验的C#/ ASP.NET / MVC / Silverlight开发人员。我正在尝试启动我的Ruby On Rails学习。我现在正试图真正感受到ROR。

我想知道标准

作为.Net开发人员,您倾向于使用标准IDE(Visual Studio),一些标准数据库(SQL Server,Oracle等),以及用于设置Web 2.0应用程序样式的特定方式(XHTML / CSS) ,Silverlight等。)

'那么RUBY ON RAILS的标准等价物是什么!? (IDE,DB,表示层标记)'

同时

我走哪条路?我听说过IronRuby,从我读过的内容来看,它几乎完全转换为与Rails一起使用(IronRuby on Rails)。或者我是否直接使用Ruby On Rails!?

有什么好处?

如何在Rails上使用IronRuby而不是使用Ruby On Rails?

非常感谢,谢谢。

6 个答案:

答案 0 :(得分:9)

IDE

大多数RoR开发人员使用简单的文本编辑器(MacOS上的Textmate,Windows上的Scite) - 主要是因为为Java / C#等语言设计的IDE的大多数功能(重构,代码完成)无法轻易应用于动态像Ruby这样的语言。但是Netbeans到目前为止表现良好(另一方面有Aptana Studio - 基于Eclipse)。

数据库

由于RoR进行了大量的抽象,因此您使用的RDBMS并不重要。 MySQLPostgres可能是最佳选择,因为它们是最常用的选项(因此您可以希望获得持续的支持)。我不会开始选择基于性能的火焰战争,而是选择随之而来的服务/支持。

标记

标准是ERB(类似于ASP内联脚本)和(X)HTML。但是,还有其他标记,如HAML,对某些项目来说可能已经足够了。

优势

使用IronRuby,您可以访问.NET框架并与其他.NET库互操作。您也可以在静态C#中编写应用程序的某些部分。根据一些benchmarks,它可能比本机Ruby“更快”,但不是恕我直言的真正优势。

目前我建议您开始使用常规的RubyOnRails - 您可能稍后可以切换(一旦IronRoR足够稳定) - 如果您仍然希望切换。

答案 1 :(得分:4)

<强>的IDE:

在Mac上,标准IDE为Textmate

在Windows上,没有标准以完全相同的方式,但我喜欢Netbeans

<强>数据库:

MySQL可能是最常用于Rails的RDBMS,因此支持最多,但我使用Postgres,它也得到很好的支持,并且使用它没有任何问题。

<强>标记

内置的erb效果非常好,而且内置它我认为这是一个标准。如果您愿意,可以随时使用其他人。

IronRuby与Ruby

IronRuby可能几乎功能齐全,但我敢打赌,很有可能某些功能会出错,而且您可能无法跟踪它是否是您的代码或IronRuby。我很想在vanilla ruby​​中开发,然后稍后移植到IronRuby,如果这是部署应用程序的合适方式。

有关常用插件的信息,请参阅此问题:Rails Plugins

答案 2 :(得分:1)

我强烈建议您使用常规的Ruby On Rails - 您不必担心您的错误是由代码中的问题引起的,还是由您正在使用的平台中的不兼容性引起的。

我的其他建议可能已经过时了 - 自从我对RoR采取了很多措施以来已有几年了,但我相信如果我完全不正确,其他人会提及它。

现在可能有适用于Ruby的插件的IDE(我可能正在寻找一些Eclipse插件),但它并不像微软生态系统那样严格。您正在使用开源工具,这意味着不同的开发人员喜欢不同的东西找到适合他们的解决方案,因此可能没有这样的“标准”。我非常习惯使用带有ruby-mode插件的Emacs,这非常棒,但是有一个学习曲线。我采用了实用程序员的建议,善于在这方面非常认真地使用文本编辑器,我很高兴我做到了。

就数据库而言,您也可以使用MySQL,因为它看起来非常标准,但我相信您可以为许多不同的数据库解决方案找到ActiveRecord后端。如果您知道如何使用基本SQL,并且您可以使用SQL Server和Oracle,那么您可以很好地使用MySQL,毫无疑问。

关于表示层,它实际上是通过Rails视图创建的。目标通常是构建符合标准的html并使用CSS来设置它的样式。我从 Agile Web Development With Rails 一书中学到了很多东西,作为整个平台如何工作的指南。我知道现在每个人都希望免费从网上学到所有东西,但那本书以一种我认为非常实用并且物超所值的方式将各种东西融合在一起。

答案 3 :(得分:1)

如果您喜欢Visual Studio生态系统,请查看SapphireSteel的Ruby In Steel。这是付费软件,虽然有is a free personal edition

答案 4 :(得分:1)

关于Ruby或IronRuby - 使用IronRuby将获得的好处仅在于它与.Net对象的无缝互操作性。

如果您打算使用RoR应用程序中的.Net代码,请使用IronRuby。否则,去Ruby吧。

顺便说一下,如果你打算使用IIS,那么IronRuby on Rails也会更自然地运行它。

答案 5 :(得分:1)

摘自:http://blogs.msdn.com/b/ericnel/archive/2010/03/25/5-steps-to-getting-started-with-ironruby.aspx

  

IronRuby是.NET的Ruby programming language的开源实现,严重依赖Microsoft's Dynamic Language Runtime。该项目的首要目标是成为真正的Ruby实现,这意味着它运行现有的Ruby代码。查看使用IronRuby中的Ruby标准库和第三方库的this summary。 IronRuby与.NET紧密集成,因此任何.NET类型都可以在IronRuby中使用,IronRuby运行时可以嵌入到任何.NET应用程序中。

本文后面的内容:

  

第2步 - 安装IronRuby友好编辑器

     

您需要安装一个编辑器才能使用IronRuby,因为Visual Studio中没有IronRuby的设计器支持。有很多编辑可供选择,但我建议您选择:

     
      
  • SciTE(Download the MSI):这是一个轻量级的文本编辑器,易于启动和运行。 SciTE了解Ruby语法,并允许您使用较小的change to the config file.

  • 在编辑器中轻松运行IronRuby代码   
  • SharpDevelop 3.2(Download the MSI):这是C#,VB,Boo和IronRuby的开源开发环境。 IronRuby支持是新的,但它确实包括集成调试。您可能还想查看SharpDevelop的主网站。

  •   

注意:截至version 1.1.1 (released: Oct 21, 2010), Visual Studio 2010拥有对IronRuby的一流支持(native,rails f / w等等)。