ASP MVC3与Ruby on Rails

时间:2011-04-14 19:16:27

标签: ruby-on-rails asp.net-mvc-3 frameworks frontend

我主要是在.NET世界中开发的,但我有一个项目即将到来,需要真正支持前端。很多UI爱。

使用Ruby On Rails而不是MVC3有价值吗?我该如何选择两者之间?还有其他值得关注的选择吗?

我知道Ruby On Rails很受欢迎,但它与MVC3的区别如何?

2 个答案:

答案 0 :(得分:11)

使用rails代替mvc3是否有价值?

YES。如果没有,它会给你一个不同的视角,并拓宽你对编程问题的思考方式。有一些关于红宝石的简洁性,块的有用性以及语言的动态行为,可以让你真正地以不同的方式思考。

如何在两者之间做出选择?

如果项目很短,那么坚持你所知道的。但如果它最终成为一个更长的项目,那么开始深入研究轨道的学习曲线可能是值得的。大多数人都会告诉你,使用rails比使用.net mvc更快。如果项目足够长,一旦你熟悉它,你最终可能会在轨道上更快地发展。

话虽这么说,微软程序员的学习曲线可能很好!如果你是一个unix家伙,那么它不会那么糟糕,但如果没有,那就准备好了解很多不同的主题。命令行和你的shell,TDD,自制软件或macports,git而不是subversion,gems,bundler,rvm,rspec或其他一些测试框架等。

另外,如果你没有Mac或没有* nix的味道,那么你可能想坚持使用.net。据我所知,在Windows上开发导轨是一种痛苦的经历。

如果TDD对您很重要,那么rails就是您的选择。在轨道上部署也更容易。

如果您喜欢使用其他人制作的工具,那么生态系统可能是一个因素。 Rails拥有庞大的开源开发人员基础,为社区做出了巨大贡献。如果你想比较看看github.com(对于rails)和codeplex(对于microsoft)。但是,借助微软的NuGet系统,微软方面可能会开始创建一个更好的生态系统。但是现在它还没有接近。

值得关注的其他选择?

如果您需要开发一个非常动态的,数据库支持的网站,那么rails或.net mvc是不错的选择。如果它更简单/更小,那么一些更简单/更小的框架是sinatra(对于ruby)或webmatrix for .net。使用这些框架,您将能够更快地加快速度。

这两个框架有何不同?

我注意到的最大区别来自底层语言,ruby for rails和c#for .net mvc。 Ruby是动态的,而c#是静态的。在.net mvc是的时候不编译Rails。你将从.net mvc获得更多的原始性能。

Rails真的是以TDD和BDD为基础构建的。我最后一次使用.net mvc 1.0来做TDD真的很难。

开发时,.net mvc上的每个人都会使用Visual Studio,但我会说大多数rails开发人员都不使用IDE。他们只使用简单的文本编辑器(textmate,vim,emacs)并使用控制台进行调试。

修改 * 奖金提示 *

如果您想开始使用rails(我强烈推荐),最简单,最彻底的方法是通过Michael Hartl的rails tutorial。在其中,您将了解ruby / rails以及以下

  • git - source control
  • rvm - 用于在同一台计算机上运行不同版本的ruby
  • rspec - for TDD
  • heroku - 使用SIMPLE部署的免费虚拟主机

一旦你对rails有了一个很好的理解,你就会想要提高你的ruby技能,真正成为一名优秀的rails开发者。

答案 1 :(得分:0)

Ruby和RubyOnRails听起来很合适。

如果您真的想要,可以使用IronRuby来表示.NET的优点。

至于理由 - 许多成功的网站都是用框架编写的。它在MVC3方面有着良好的记录。