ASP MVC和RubyonRails之间有哪些相似的特性和差异?
答案 0 :(得分:8)
它们的相似之处不仅在于它们遵循MVC模式,而且在于它们如何做到这一点。有许多点非常相似,但也存在很多差异。
从纯粹主观的方式来看,我可以说Ruby on Rails更加成熟,并且有很多东西可以轻松完成构建网站的任务。我从ASP.NET MVC迁移到Ruby on Rails,这是我见过的优势列表(其中一些非常主观):
由于在Linux服务器上运行:
有超过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)
ASP.NET MVC for Ruby on Rails developers? http://bloggingabout.net/blogs/mischa/archive/2008/02/04/asp-net-mvc-vs-asp-net-webforms-vs-ruby-on-rails.aspx
答案 2 :(得分:0)
相似之处主要与设计决策(使用MVC模式的决定等)有关。差异包括语言(Ruby与C#/ VB),开发环境(Windows与多平台)以及工具。最终,相似之处和差异太大而无法列出。你能更具体一点吗?