从ASP.NET转向Ruby on Rails

我是过去5年的ASP.NET开发人员,仍然喜欢它。 关于Ruby on Rails有很多好的声音。 我想向社区提问,有没有值得尝试以下面的观点来学习Ruby On Rails作为ASP.NET Web开发人员。

  1. 可扩展性
  2. 文档
  3. 社区支持
  4. 托管解决方案
  5. 部署ETC.

我现在在你的位置,因为我在.NET中进行商业开发5年后学习了RoR。 这是我的两分钱:

  1. 可伸缩性:我相信rails可以很好地扩展,有很多选项,比如Linux上的mongrel集群。
  2. 这个比.NET差一点。 但社区非常好,你永远不会找到自己寻找的好方法。
  3. 见上文(很棒)
  4. 托管不是问题:提供众多托管选项。
  5. 我发现从开发到测试再到生产的过渡更好地考虑了Ror而不是ASP.NET。

我会把它作为ASP.NET MVC。 这样你就可以坚持使用.NET Framework,但仍然可以从RoR中获得一些你想要的东西。

ASP.NET MVC非常轻量级,易于扩展,它提供了一些API(用于会话的SQL存储甚至是Microsoft Velocity)。

ASP.NET MVC得到了社区的大量支持,因此拥有来自社区和Microsoft本身的大量文档和反馈。

许多。 有关更多信息,请访问http://www.codeplex.com/ASPNET 。

那么,ASP.NET MVC是可以部署的。 因此,只要您的主机支持ASP.NET 3.5,您就不需要其他任何东西。 他们不需要以任何方式安装ASP.NET MVC。 因此,如果您愿意,可以轻松使用共享主机。

使用ASP.NET MVC以及Visual Studio 2010中的更改可以通过“软件包”更轻松地部署网站,从而轻松部署。 我目前维护2个ASP.NET MVC站点,并通过bin部署找到它与常规ASP.NET WebForms站点相同。

我完全同意乍得的post。

我已经完成了在rails中开发应用程序的一半,现在我已经完成了一个完整的360并且在深入研究ASP.NET MVC以便我的日常工作承诺之后重新考虑了。

我现在正在改变课程,并在我的所有个人项目中查看ASP.NET MVC,我认为现在两者都非常可比,因为我认为MS已经很好地审视了Ruby on Rails的function集,并确保它们能够非常匹配function密切。 毕竟,如果你把一个项目与LINQ 2 SQL / EF,ASP.NET MVC和潜在的动态数据结合起来(如果你需要那种东西),我真的想不出有任何令人信服的理由选择Rails over .NET,但是我可以选择选择.NET over rails的理由 – 在完成VS.NET的丰富调试体验之后,丰富的智能感知和观察者/快速观察支持以及ASP.NET MVC框架支持Html Action Helpers,Model Binders,支持和鼓励对于unit testing,现在包含JQuery和JSON结果,你几乎是不可阻挡的。

我想除了显然托管/许可成本,Ruby语言偏好和其他个人偏好,如它是开源等,它真的是你的选择。

1)可扩展性

Rails与任何其他Web应用程序堆栈一样可扩展。 唯一的区别是您的单个服务器可能会过载,并且由于ruby运行时性能较慢,因此需要比在.NET中更快地拆分到2个服务器。 在实践中,这不是问题。

2)文档

微软确实为核心库提供了比Ruby或Rails更好的文档,但ruby / rails仍然是非常好的。 我认为ruby / rails在这里是赢家,因为你可以随时查看所有内容的来源。 没有多少文档可以替代能够真正看到正在发生的事情。

3)社区支持

围绕铁路的社区支持给我留下了深刻的印象。 我不知道还有什么要说的。

4)托管解决方案

由于phusion乘客被释放,这些天似乎更容易找到rails托管比找到ASP.net托管。 随着时间的推移,托管公司不必向微软公司支付版税,以便在Linux服务器上部署rails,这只会对铁路产生更大的影响。

5)部署ETC.

Capistrano(最常见的rails部署解决方案)击败其他所有人。

好吧,我对Scalability部分一无所知,但是我刚刚开始从ASP.NET学习Ruby On Rails。 我真的很难找到一些好的文档 – 在我看来,Rails网站上的类文档真的很差,我有一个简单的问题,你可以在actionlink中添加什么参数。 但也许只是我从来没有找到合适的地方。 但我个人认为ASP.NET文档比rails更好 – 至少买一本书,我认为这是一个很好的方法。

3号。我很确定有非常好的社区支持铁路你只需要找到合适的论坛或其他符合你喜欢的媒体 – 也许这就是我做错了。

4号.Rails有很多托管解决方案,但没有ASP.NET或PHP那么多。 我认为你必须研究这个你的自我,并找出,如果有任何你喜欢的套房。

Number 5. Ruby应该非常容易部署,它有一个开发,测试和生产数据库的概念。 它使用迁移,因此数据库模式中的更新是无缝的 – 这非常酷。 它是脚本,所以它应该是从开发计算机到生产服务器的xcopy问题。

你应该选择Ruby on Rails的原因是你喜欢MVC模式。 MVC模式是天才,当你学习它时,ruby是一门很棒的语言。 也许可以深入了解ASP.NET MVC,看看它是什么样的 – 然后可能转向Rails。 然后你只需要学习一门新语言,而不是同时学习新的架构,框架和语言。

记住这是来自一个嗅到Rails的ASP.NET开发人员,但放弃了,因为缺乏找到真正好的文档的能力,并且总是有一些奇怪的错误,来自编辑器或Rails – 但这恰恰是一个新手的东西:)

但如果你有时间,一定要学习它。 一些开发人员说我们应该每年学习一门新语言,而Ruby是一个很好的候选者。