ASP MVC3与Ruby on Rails

Ada*_*dam 8 frontend frameworks ruby-on-rails asp.net-mvc-3

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

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

我知道Ruby On Rails很受欢迎,但它与MVC3有什么不同?

Dty*_*Dty 11

使用rails而不是mvc3有价值吗?

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

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

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

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

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

如果TDD对您很重要,那么rails就是您的选择.在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指南.在其中,您将了解ruby/rails以及以下内容

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

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