我是RoR的新手,我想在APS.NET MVC3和RoR之间进行选择。 C#对我来说确实比较容易,因为我已经这么做了很长时间,但我想知道是否有任何意义可以考虑使用RoR而不是.MVC来开发真实世界的网站?
对于值得花时间掌握RoR的ASP.NET MVC 3,我无法获得哪些内容?我虽然可用的社区RoR插件是一个原因,但它似乎没有组织,似乎做正确的事情的学习曲线将是如此之大,以至于它实际上不会为新手节省太多时间!我在这里错了,我真的很感谢你对此的现实评论?请注意,我仍然需要学习ASP.NET MVC,但对于一个.NET Guy来说听起来很快!
对于那些 WORTH 在ASP.NET MVC 3上挑选RoR的.NET人员,RoR能提供什么?并请实用的建议! :)
答案 0 :(得分:71)
他们都很棒,可以很快实现同样的目标。我用了一本很棒的书来学习一段时间,它就在你的小巷里:Rails for .Net Developers
此外,我还写了一篇关于going from MVC to RoR的帖子。
至于比较,他们都有所涵盖的优势,但这里有一些对我有用:
我真的很喜欢RoR的部署和简单的推送到网站的方法 - 根本没有脚本可以运行,只需要一些命令行就可以让你在实际编写代码后启动并运行。如果您选择RoR,理解命令行命令 - 它将使您的生活变得更加轻松!
正如你所提到的,这些插件非常棒,可以用来加快速度。
作为.Net开发者,MVC将是轻而易举的,我建议使用Razor,因为它比旧的2.0非剃须刀渲染更简单,更简洁。
.Net的EF4几乎可以直接与RoR的ActiveRecord进行比较,这是一个很好的ORM系统来处理数据。
我发现.Net的文档更加一致和彻底。
我对RoR的一个问题是迅速而剧烈的变化;不久前,他们在我的主机上升级到3.0,而且我没有锁定我的版本 - 各种各样的东西都破了,直到我弄清楚新的东西(我应该冻结我的版本)。
这不是一个干净的选择 - 两者都很棒。由于你已经是.Net开发人员,我猜想MVC3将会成为现实,但两者都很容易学习。
答案 1 :(得分:31)
我使用和喜欢这两个,这个问题的问题是它们是如此不同以至于你可以整天关于苹果与橙子,但由于你的问题非常具体,我会只是说:
如果你认为自己是“一个.NET人”,那么你应该学习一种与C#非常不同的语言,而像Ruby这样的动态语言并不是一个糟糕的起点。 (另一种选择是像Haskell,Scala等功能语言)
你做完后会成为一个更好的程序员,你不必再称自己为“一个.NET人”了!
答案 2 :(得分:6)
这里不是RoR开发者,但是我做了Django,我认为同样的问题也可以被问到Django。我喜欢Django而不是ASP.NET MVC的第一件事就是Django已经加入了ORM。这意味着您在网络上找到的大多数代码示例都会遵循类似的模式。使用ASP.NET MVC,您可以从许多不同的ORM中进行选择,这可能是一件好事,但也会引起混淆。
就像@Craig所说,它确实是苹果与橘子。如果我需要在MS堆栈上部署它,我会选择ASP.NET MVC,并将Django用于需要将其部署在linux上的“个人”项目或项目。
答案 3 :(得分:6)
你在回答克雷格·斯特恩茨时提到你想要在有限的时间内选择“正确的选择”
使用mvc3并专注于学习,而不是同时学习新的语言和框架。 RoR很棒,但是它同时是一种新的语言,框架和IDE,你很有可能第一次就做对了。我没有。
the asp.net website上有一些非常好的教程可以帮助您快速启动并运行