ASP MVC与Ruby on Rails

时间:2010-06-22 07:11:13

标签: asp.net-mvc ruby

ASP MVC和RubyonRails之间有哪些相似的特性和差异?

3 个答案:

答案 0 :(得分:8)

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

从纯粹主观的方式来看,我可以说Ruby on Rails更加成熟,并且有很多东西可以轻松完成构建网站的任务。我从ASP.NET MVC迁移到Ruby on Rails,这是我见过的优势列表(其中一些非常主观):

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

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

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

  • <强>迁移。这非常重要!

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

  • 使用非常强大的断言系统对控制器进行功能测试。

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

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

  • 命令行工具更易于安装和维护更新(想想ssh,sftp / scp来复制和同步文件,lame,sox等)。

  • 将数据从控制器传递到视图并不是一件容易的事,因为Ruby是动态的,而C#/ ASP.NET MVC则不是。

  • 地理定位的好图书馆。

  • 与Sphinx很好的整合。

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

  • 将所有样式表和javascripts连接成两个文件。

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

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

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

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

  • 路由功能更强大,内置RESTful,使用起来非常简单。命名空间,子资源和许多其他功能。

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

  • 各种实现:Java中的JRuby,它可能更快,可以在像tomcat这样的Java服务器上运行。 Rubinious,Ruby with JIT编译器。

  • Heroku:一款应用服务器,如谷歌应用,但适用于Ruby on Rails。可能是一个好资源或不是。他们的表现非常好。

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

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

  • 更好的链接方法

  • 非常好的表单生成器:formtastic。可以在一行中生成表单。

  • 脚手架。

  • 管理工具。

  • 一个理智的翻译系统,gettext。

答案 1 :(得分:1)

答案 2 :(得分:0)

相似之处主要与设计决策(使用MVC模式的决定等)有关。差异包括语言(Ruby与C#/ VB),开发环境(Windows与多平台)以及工具。最终,相似之处和差异太大而无法列出。你能更具体一点吗?