寻找ASP.NET MVC和MonoRail之间的现代比较

我来自Ruby on Rails,我需要创建一个C#Web应用程序。 目前我在看ASP.NET MVC和MonoRail。 我发现大多数比较是从2008-2009年开始的,当时ASP.NET MVC还是新的,而且大部分反对MVC的观点都认为它太过原始,并不像MonoRail那样精致。

那么,从那以后几年过去了,微软在ASP.NET MVC上做了很多工作。 两个框架的现代版本如何相互比较?


我大约四年前评估过MonoRail,与今天的mvc3相比,这些是主要差异(imho)

  • Razor作为MVC默认的模板引擎。 这是一个很高兴使用,而单轨列车默认为NVelocity。 我检查了Castleproject的网站,并有计划升级Monorail ...
  • MVC3的文档非常多,而且今天也许是我的错 - 我在Monorail的网站上找不到任何在线文档。
  • 区域,部分,剃刀在VS2010中非常集成。 如果你不喜欢它,你可以插入并使用不同的模板引擎。
  • MVC3有更好的Ajax / Jquery集成,不显眼的表单验证

  • 过去几年我一直在使用这两个框架。 最初,当mvc出来后,我们坚持单轨列车,因为我们觉得它是生的。 恕我直言,MVC3现在处于比Monorail 2更成熟的地步,它具有更好的支持,更多的文档和更新的版本定期出版。

  • Razor比nvelocity更强大,并且具有很好的Visual Studio支持,而nvelocity缺乏这种支持。
  • 单轨视图不会编译为编译的MVC3视图。 有时,只要改变视图并立即改变视图,就可以发展出它的高兴。 另一方面,编译视图更快。
  • 单轨列车一段时间还没有新版本,似乎停滞不前。 单轨3虽然在作品中。
  • 现在,MVC3也支持helpers,既可以作为扩展方法,也可以直接在Razor视图中声明它们。 单轨仅支持助手作为辅助类的静态方法。
  • MVC3有更好的路由支持。
  • MVC3现在也支持IoC支持过滤器。
  • MVC3支持将过滤器应用于方法级别,但单轨只支持控制器级别的过滤器。
  • MVC3不支持开箱即用的Ioc,但您可以使用IDependencyResolver来实现此目的。 你可以找到许多解决方案。
  • MVC3对CSRF攻击有很大的支持。 在Monorail中,您需要通过使用助手和过滤器的组合来自行开发。
  • MVC3支持预编译视图,因此您可以在发布您的网站之前尽量减少错误。 但是你不能在Monorail中使用nvelocity视图来做到这一点,因为它们被解释了
  • MVC3 html自动编码任何字符串。 在单轨列车上,你总是需要给这个帮助者打个电话。
  • 当单轨铁路3出来时,看看他们支持什么会很有趣。 请查看https://docs.google.com/document/d/1AkeeJPh8kZQKtnHN3RDR3v-UfG7zt9wCL0jMiualUqI/edit?hl=en&authkey=CN7U99YN&pli=1,这是Hammet单轨列车3的价值主张。

    链接地址: http://www.djcxy.com/p/11071.html

    上一篇: Looking for a modern comparison between ASP.NET MVC and MonoRail

    下一篇: Multithreading in LLVM