2010-06-22 90 views
3

哪些是ASP MVC和RubyonRails类似的功能和区别?ASP MVC vs Ruby on Rails

+0

可能重复[ASP.NET MVC for Ruby on Rails开发人员?](http://stackoverflow.com/questions/2283626/asp-net-mvc-for-ruby-on-rails-developers) – 2010-06-22 08:46:27

回答

8

它们是相似的,不仅在于它们遵循MVC模式,而且在他们是如何做到这一点。有很多点非常相似,但也有很多不同之处。

从纯粹主观的角度来看,我可以说Ruby on Rails更成熟,并且有很多东西可以轻松完成构建网站的任务。我从ASP.NET MVC到Ruby on Rails的感动,这是我见过的优势列表(有些人真的主观):

  • 由于在Linux服务器上运行:

    • 服务器更便宜。
    • 配置可重复使用,我们可以在30分钟内重新构建服务器。木偶。
  • 有超过10000个库,称为宝石,所有的安装和更新都以同样简单的方式。 http://rubygems.org/

  • 几个可重复使用的认证系统,包括我写的; ubiquitous_user + rails_openid。

  • 迁移。这个非常重要!

  • 使用真实数据库对模型进行单元测试。它很漂亮。

  • 具有非常强大的断言系统的控制器的功能测试。

  • 平台独立。你使用Windows,我使用Mac。

  • ActiveRecord(比EF或其他任何我见过的ORM都好)。优雅地降级,允许您添加更多的SQL部分,直到您使用SQL编写所有SQL部分。你会爱上它的。

  • 命令行工具更容易安装和维护更新(认为ssh,sftp/scp复制和同步文件,跛脚,sox等)。

  • 从控制器传递数据到视图不是一个痛苦的屁股,因为Ruby是动态的,C#/ ASP.NET MVC不是。

  • 好的地理定位库。

  • 与斯芬克斯很好的整合。

  • FreeNode中的社区#ruby和#rubyonrails(大于## csharp y ## asp.net)。

  • 在两个文件中连接所有样式表和JavaScript。

  • 时间戳所有文件,默认情况下。

  • 环境:开发,测试和生产的不同设置(不再有web.config的疯狂)。更多的环境可能。

  • 与capistriano部署。部署一个命令,一切;非常重复,可以轻松回滚;负责数据库迁移;可以处理一次部署到各种服务器或一组服务器(如果您有多个前端或分别有生产和分段)。

  • 本地MySQL。具有群集功能可能会派上用场(我已经使用它们,只有只读镜像)

  • 路由功能更强大,内置RESTful,使用起来微不足道。命名空间,子资源和许多其他功能。

  • 无需编译,部署到服务器时非常好。

  • 各种实现:Java中的JRuby,它可能更快,可以在Tomcat等Java服务器上工作。 Rubinious,带JIT编译器的Ruby。

  • Heroku:应用服务器,如谷歌应用程序,但对于Ruby on Rails。可能是一个很好的资源或不。它们的电压很好。

  • 非常好的工具来分析源代码和发现潜在的问题。一个小例子:http://getcaliper.com/caliper/project?repo=git://github.com/pupeno/ubiquitous_user.git

  • TDD不仅可能,它很容易。动态语言与惊人的测试框架相结合。

  • 好多连接方法

  • 非常好的形式产生:formtastic。可以在一行中生成一个表单。

  • 脚手架。

  • 管理工具。

  • 一个健全的翻译系统,gettext。

+0

谢谢,但有点太主观,我喜欢(虽然你自己说)。我真的很想知道你的经历中的重要事实。顺便说一句C#4.0 *是*动态。所以将数据从控制器传递到视图不是问题。 – 2011-02-02 07:25:36

+0

@Noel当我尝试ASP.NET MVC,C#4.0不存在。 – Pablo 2011-02-03 10:30:42

+0

ViewData是动态的穷人版本,但依然如此。将动态视图传递给视图是Asp.NET MVC开发人员不鼓励的一个主观观点,从C#4.0开始,动态不能用于扩展方法,这使得它们在MVC视图中无法使用。 – 2011-04-04 01:21:07

0

相似之处主要与设计决策有关(决定使用MVC模式等)。差异包括语言(Ruby与C#/ VB),开发环境(Windows vs Multi-Platform)和工具。最终,相似之处和差异不胜枚举。你可以说得更详细点吗?

+0

我还没有尝试过自己,但也可以在ASP.NET MVC中使用IronRuby。 – XIII 2010-06-22 07:32:27