Ruby on Rails与ASP.NET MVC 3 for .NET Guy?

iCo*_*ode 98 asp.net ruby-on-rails asp.net-mvc-3

我是RoR的新手,我想在APS.NET MVC3和RoR之间进行选择.C#对我来说确实比较容易,因为我已经这么做了很长时间,但我想知道是否有任何意义可以考虑使用RoR而不是.MVC来开发真实世界的网站?

我还有什么方法可以使用值得花时间掌握RoR的ASP.NET MVC 3无法获得的RoR?我虽然可用的社区RoR插件是一个原因,但它似乎没有组织,似乎做正确的事情的学习曲线将是如此之大,以至于它实际上不会为新手节省太多时间!我在这里错了,我真的很感谢你对此的现实评论?请注意,我仍然需要学习ASP.NET MVC,但对于一个.NET Guy来说听起来很快!

有什么能回报率报价,一个.NET家伙WORTH选择回报率在ASP.NET MVC 3?并请实用的建议!:)

nas*_*ski 71

它们都非常棒,可以很快实现相同的目标.我用了一本很棒的书来学习,不久就会出现在你的小巷里:.Net开发人员的Rails

另外,我写了一篇关于从MVC到RoR的帖子.

至于比较,他们都有所涵盖的优势,但这里有一些对我有用:

  • 我确实喜欢RoR的部署和简单的推送到站点的方法 - 根本没有脚本可以运行,只需要一些命令行就可以让你在实际编写代码后启动并运行.如果您选择RoR,了解指挥线命令 - 它将使您的生活变得更加轻松!

  • 正如您所提到的,插件非常棒,可以用来加快速度.

  • 作为一个.Net开发者,MVC将是轻而易举的,我建议使用Razor,因为它非常简单,并且比旧的2.0非剃刀渲染更简洁.

  • .Net的EF4几乎可以直接与RoR的ActiveRecord进行比较,这是用于处理数据的优秀ORM系统.

  • 我发现.Net的文档更加一致和彻底.

  • 我对RoR的一个问题是快速而剧烈的变化; 不久前,他们在我的主机上升级到3.0,我没有锁定我的版本 - 各种各样的东西都破了,直到我弄清楚新的东西(我应该冻结我的版本).

这不是一个干净的选择 - 两者都很棒.由于你已经是.Net开发人员,我猜想MVC3将会成为现实,但两者都很容易学习.

  • 既然ASP.NET MVC是开源的,我想知道它将如何快速地缩小与RoR的功能差距.由于开发人员社区将有能力为MS工程团队仍然完全支持的产品做出贡献,因此我将资金投入到MVC3上. (4认同)
  • 好点谢谢. (3认同)
  • 如果您使用Bundler,Ruby版本很简单且可预测. (2认同)

Cra*_*ntz 31

我使用和喜欢这两个,这个问题的问题是它们是如此不同以至于你可以整天关于苹果与橙子,但由于你的问题非常具体,我只会说:

如果你认为自己是"一个.NET人",那么你应该学习一种与C#非常不同的语言,而像Ruby这样的动态语言并不是一个糟糕的起点.(另一种选择是像Haskell,Scala等功能语言)

在你做完之后,你将成为一个更好的程序员,你将不再需要称自己为"一个.NET家伙"!

  • 我同意,但我的目标是尽快建立一个真实的网站,并尽可能快地扩展我的视野,这不是我现在的主要目标.我确实很重视学习像Ruby这样的新东西,但我现在的重点是在有限的时间内选择合适的选项.为什么苹果和橙子的目标是成为一个Web开发框架? (3认同)
  • 快速运行真正的站点不会成为Rails的问题.帮自己一个忙:花一个星期的时间完成[本教程](http://ruby.railstutorial.org/ruby-on-rails-tutorial-book),然后才决定它会缩短你的上市时间.唯一的风险就是你会学到一些东西!他们是"苹果和橘子"的原因是他们的工作方式不同,在不同的平台上运行等等.他们有共同的MVC架构,并且显然有很多影响 - 主要是在一个方向 - 但它们非常不同的世界.这可能是一种扩大思维的差异. (3认同)

Al *_*l W 6

这里不是RoR开发者,但是我做了Django,我认为同样的问题也可以被问到Django.我喜欢Django而不是ASP.NET MVC的第一件事就是Django已经加入了ORM.这意味着您在网络上找到的大多数代码示例都会遵循类似的模式.使用ASP.NET MVC,您可以从许多不同的ORM中选择,这可能是一件好事,但也可能导致混淆.

就像@Craig所说,它确实是苹果与橙子.如果我需要在MS堆栈上部署它,我会选择ASP.NET MVC,并将Django用于需要将其部署在Linux上的"个人"项目或项目.

  • 从未使用过Django.我是Rails和.NET MVC的人.我见过的几乎所有.NET MVC教程都假定您使用的是Entity Framework,并且ASP.NET站点上的文档和教程非常好.要在MVC项目中包含EF,只需在NuGet包管理器控制台中输入一个命令 - 就像使用Rails获取gem一样,除了获得.net程序集引用.使用EF和Code First的IMHO .NET MVC以及用于部署的AppHarbor是最接近Rails环境的. (3认同)

Bal*_*ldy 6

你在回答Craig Stuntz时提到你想要'有限时间的'正确选择'

使用mvc3并专注于学习,而不是同时学习新的语言和框架.RoR很棒,但是它同时是一种新的语言,框架和IDE,你很有可能第一次就做对了.我没有.

asp.net网站上有一些非常好的教程可以帮助您快速启动和运行

  • 这也是我的想法,但我听到人们都在谈论在RoR中做事情是多么容易,即使对于新手来说也是如此,但我想知道这是用于你好世界的网站还是现实世界的制作网站.我知道我的问题很棘手,但有些事情告诉我RoR是一个新的语言,框架和IDE,如你所提到的那样,并且用.MVC制作生产产品的速度不快,但我想知道什么是.net社区经历这个?我最想知道,除了乐趣之外,选择RoR而不是.MVC3有什么意义?谢谢 (2认同)