Ruby on Rails与.NET Guy的ASP.NET MVC 3对比?[关闭]


98

我对RoR非常陌生,我想在APS.NET MVC3和RoR之间进行选择。C#对我来说肯定很容易,因为我已经从事了很长时间,但是我想知道是否有考虑使用RoR over .MVC开发真实世界网站的观点?

值得花时间掌握RoR的ASP.NET MVC 3无法获得RoR带来的其他好处吗?尽管提供了可用的社区RoR插件是一个原因,但似乎并没有那么有条理,而且做正确的事情的学习曲线似乎是如此之大,以至于几乎不会为newby节省很多时间!我在这里可能是错的,我真的很感谢您对此的真实评论?提醒您,我仍然必须学习ASP.NET MVC,但这对于.NET Guy来说听起来不错!

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


11
这个问题与主题无关吗?无论如何,我已经advice在问题上添加了标签。
Zabba 2011年

1
@zabba,为什么?对我来说看起来像是非标签。
bzlm 2011年

1
@bzlm,什么是非标签?
Zabba 2011年

2
@zabba只有95个问题,没有Wiki摘要,目的不明确(要求“咨询”的问题通常无法回答,因此根据站点宪章不受欢迎),等等:)
bzlm 2011年

3
帅哥!“ .NET开发人员通过.NET MVC进行RoR的值是什么?” 没问题吗?!!根本没有锁定MVC,只是想知道答案!!
iCode

Answers:


71

他们俩都很棒,并且可以很快实现相同的目标。我使用了一本很棒的书来学习一阵子,它就在您的胡同上:.net开发人员专用的Rails

另外,我写了一篇有关从MVC到RoR的文章的。

至于比较,它们都具有所涵盖的优势,但以下几点对我很有帮助:

  • 我真的很喜欢RoR的部署和推送到现场站点的简单方法-根本不需要运行脚本,只要实际编写代码,只需一点命令行即可启动并运行。如果您选择RoR,请理解命令行命令-这将使您的生活更加轻松!

  • 正如您所提到的,这些插件很棒,并且可以真正用来加快速度。

  • 作为.Net开发人员,MVC会轻而易举,我建议使用Razor,因为它非常简单,并且比旧的2.0非剃须刀渲染更不混乱。

  • .Net的EF4几乎可以直接与RoR的ActiveRecord(用于处理数据的出色ORM系统)进行比较。

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

  • RoR的一个问题是快速而剧烈的变化。不久之前,它们在我的主机上升级到3.0,并且我没有锁定我的版本-各种东西都坏了,直到我发现新的东西(我应该冻结我的版本)。

这不是一个明确的选择-两者都很棒。由于您已经是.Net开发人员,所以我想MVC3将是您的理想之选,但是两者都很容易学习。


4
既然ASP.NET MVC是开源的,我想知道它能以多快的速度弥补RoR的功能差距。现在,我将钱花在MVC3上,因为开发人员社区将能够为仍由MS工程团队全面支持的产品做出贡献。
Scott

1
不确定RoR。如果您是使用C#MVC和Razor的.NET专家,但是您发现MS MVC,WebAPI,WCF,EF有点麻烦,并且想要更紧凑的解决方案...您可以尝试SS servicestack.net ...它是免费的,开源,非常活跃的社区支持.net和mono,完全替代了上述繁重的framworks。我个人非常喜欢它:)
汤姆(Tom)

2
如果您应该使用Bundler,则Ruby版本控制既简单又可预测。
莉莉丝·里弗

31

我既喜欢又喜欢,而且这样的问题是它们的区别是如此之大,以至于您可以整天谈论苹果和橙子,但是由于您的问题不是很具体,所以我只想说:

如果您认为自己是“ .NET专家”,那么您应该学习一种与C#截然不同的语言,而像Ruby这样的动态语言并不是一个不错的起点。(另一种选择是功能语言,例如Haskell,Scala等)。

完成之后,您将成为一个更好的程序员,并且您将不再需要称自己为“ .NET专家”!


3
我同意,但是我的目标不是尽快建立一个真正的网站,并使其尽快运行并扩大视野。我确实很重视学习像Ruby这样的新奇事物,但是现在我的重点是在有限的时间内选择正确的选项。为什么苹果和橘子的目标是成为Web开发框架?
iCode

3
快速运行一个真实的站点对Rails来说不是问题。帮自己一个忙:花一周的时间来研究本教程,然后再决定是否会缩短产品上市时间。唯一的风险就是您会学到一些东西!它们之所以成为“苹果和橙子”,是因为它们的工作方式不同,在不同的平台上运行等。它们具有MVC架构,并且显然有很大的影响力-主要是在一个方向上-但是它们非常不同的世界。这可能是一个令人难以置信的差异。
Craig Stuntz 2011年

太好了谢谢。我会的 考虑到您同时使用了两者,您是否仍会从实际角度评论一下.MVC中可用的Rails可以提供什么?
iCode

6

这里不是RoR开发人员,但我使用Django,我认为Django也可能会问相同的问题。我在ASP.NET MVC上喜欢Django的第一件事是Django已经附带了ORM。这意味着您将在网上找到的大多数代码示例都遵循类似的模式。使用ASP.NET MVC,您可以从许多不同的ORM中进行选择,这可能是一件好事,但也会引起混乱。

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


3
以前从未使用过Django。我是Rails和.NET MVC的人。我所见过的几乎所有.NET MVC教程都假定您使用的是Entity Framework,而ASP.NET网站上的文档和教程都非常好。要将EF包含在MVC项目中,您只需在NuGet程序包管理器控制台中键入命令-就像使用Rails获取gem一样,只是要获取.net程序集引用。带有EF和Code First的IMHO .NET MVC和用于部署的AppHarbor是最接近Rails环境的方法。
PhillipKregg

6

您在对Craig Stuntz的回复中提到,您希望“在有限的时间内拥有正确的选择”

使用mvc3并专注于学习,而不是同时学习新的语言和框架。RoR很棒,但是它同时具有新的语言,框架和IDE,很可能您第一次不会正确使用它。我没有

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


2
这也是我的想法,但是我听到人们在谈论即使对于新手来说,在RoR中执行操作也很容易,但我想知道这是用于Hello World网站还是真实世界的生产网站。我知道我的问题很棘手,但有一点告诉我RoR就像您提到的一样是一种新的语言,框架和IDE,它不能像使用.MVC一样快地完成生产产品,但是我想知道什么是.net社区对此有何经验?除了乐趣,我最想知道的是,选择RoR而不是.MVC3有什么意义?谢谢
iCode
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.