.Net和Ruby on Rails - 使用情况

Dav*_*her 2 asp.net programming-languages ruby-on-rails

我只想尽可能的事实.有一些东西,ASP.Net比Ruby on Rails更快速,更容易.我只是想知道在哪些情况下你会使用ASP.Net,以及哪个RoR处理得更好.所以,鉴于你有一个同样擅长RoR和ASP.Net的团队,你会在哪里选择每项技术?ASP.Net的显而易见的是:

  • 在Windows Server公司中,ASP.Net是王道.
  • 当您需要使用Web引用时,Visual Studio和MonoDevelop是首屈一指的.
  • 如果你对速度感到绝望,那么C#的编译性质可能更快或更有效 - 如果不是这样,请告诉我.
  • 对于CMS来说,.Net上的Umbraco似乎比RoR产品更好.再说一遍,如果我错了,请告诉我!
  • 如果使用SQL Server或Sharepoint,那么.Net很可能是更好的选择.

但是,RoR会更好:

  • 一个Linux服务器
  • 原型设计和较小的数据驱动应用程序

我真的很担心这个问题会被关闭,但我确实需要知道这个问题的答案.我现在领导一些默认使用Ruby on Rails的新应用程序,但在ASP.Net上也有很多经验,所以我想知道我做出了正确的决定,就像一个项目一样 - 项目基础出现了,而不只是"感觉"企业",让我们去ASP.Net".如果我可以在另一个交易所提出这个问题,那就太好了.我确实理解,在大多数情况下,两者都是一样的.HTML/CSS/Javascript集完成了大部分工作,这是我需要做的唯一选择,所以我需要知道我正在为即将到来的情况做出最好的准备.

如果有一篇文章解决了这个问题,请指出我的方向,我试着谷歌搜索没有真正的效果.感谢您提供给我的任何帮助.

tl; dr:与RoR相比,什么情况更适合.Net堆栈和开发工作流程,反之亦然.

再次感谢!

GeR*_*ReV 6

这是我在这个问题上的2美分,但首先让我做一个快速免责声明.

我曾经在ASP.net工作了大约3年,最近开始领导一个小团队在Rails中开发Web应用程序.
目前我必须说我对RoR非常偏向,但我会尝试进行客观评价.

ASP.net

我会和ASP.net一起去做一些事情:

  • 更大,数据量更大的应用程序,而不是小而灵活的应用程序;
  • 面向使用Windows的中大型公司的应用程序;
  • 非常简单的项目(如果您正在与入门级开发人员合作).

原因如下:

  • ASP.net的编译性质使其成为一个伟大的"数据推动者",即处理大型数据集或执行昂贵的操作.
  • Windows是我见过的几乎所有中型组织中的首选操作系统,Windows服务器经常伴随着.
  • 微软的参与是特殊的(参见Eric Lippert的个人资料).
  • IIS-MSSQL-ASP-VS束是一个非常"紧耦合"开发套件,无论在它的部件之间以及在支持兼容性.
  • 微软的支持(我对此没有权限,但我猜测是付费客户会给你一些官方支持).
  • 实体框架是一个很好的和容易使用的ORM.
  • 浅薄的学习曲线和丰富的课程,因此对入门级开发人员有利.

Ruby on Rails

我会和RoR一起去做以下事情:

  • 任何需要快速原型设计或运行严格的概念验证计划的项目(即:初创公司);
  • 中小型网络应用;
  • 任何预算都很少的项目.

这就是为什么:

  • 与ASP.net甚至PHP相比,Rails上的开发是我见过的最快的.
  • 宝石.在ASP.net中有许多令人痛苦的代码,并且只需在带有宝石的Rails上解决(分页,树结构,有序列表等等).
    此外,像HAMLSASS/SCSS巨大的时间,储户和实践内置.
  • 开源,因此通常需要较小的预算.
  • 易于部署.许多Rails的功能都需要考虑部署(数据库种子,迁移等).我发现ASP.net项目更难部署.
  • NoSQL在Rails中更常见,我认为支持得更好.
  • Rails的ActiveRecord是一款优秀且易于使用的ORM.
  • 辉煌的社区.

但是,值得注意的是,在很多方面,Rails和ASP.net MVC都有很多共同之处,而且往往是等价的.

MySQLMSSQL都是企业级数据库,IISApache都是企业级Web服务器.
你可以找到运行ASP.net和Rails的大型网站(即:.NET上的StackOverflow,Rith上的Github等),两者都可以提供性能和可扩展性.
两者都支持第三方工具,例如通过gem或外部库的MongoDB和Memcached.

总之,我认为您的考虑应该更多地考虑最终部署环境,开发的简易性,进度以及开发人员和同行的整体偏好,而不是两个框架之间的技术差异.

  • "我发现ASP.net项目更难部署" - ASP.net有"一键部署"(http://msdn.microsoft.com/en-us/library/dd465337.aspx). (5认同)