当前位置:  开发笔记 > 编程语言 > 正文

Asp.Net MVC vs Castle MonoRail

如何解决《Asp.NetMVCvsCastleMonoRail》经验,为你挑选了3个好方法。

我在使用Asp.Net构建应用程序方面有一些经验,但现在MVC框架变得更受欢迎.我想尝试使用Asp.Net MVC或Castle MonoRail构建新的多语言Web应用程序,但我不知道哪一个对我有好处.我不喜欢Web表单视图引擎,但我喜欢Asp.Net MVC中的路由功能.

任何人都可以讲述这些之间的利弊吗?

哪个ViewEngine更适合覆盖主模板?

Julian Birch.. 27

作为单轨列车的倡导者,我必须说你应该选择ASP.NET MVC.说实话,ASP.NET MVC将在三年内成为默认架构的简单事实应该可以解决它.这个等式与一年前不同,仅仅是因为与MonoRail相比,默认架构存在严重的生产力问题.

如果您想谈谈技术优势和劣势:

ASP.NET AJAX是一个混乱(避免它),但他们现在有了jQuery.实际上,jQuery支持比任何其他环境都要好.当然,只有IDE与标准视图引擎集成才能完全实现这一点.

有一些美学上的改进(例如,传递模型信息的方式比单轨更清晰,更明显).

另外,不要忽视标准视图引擎.你不必像使用ASP.NET那样抛出控件,你可以用与Brail非常相似的方式编写它,只使用C#而不是Boo.

有些事情只是简单丑陋*为参数提取对象的方法数量.祝你找到他们期望的文件,祝你好运.*微软对接口抽象类的喜爱.他们有他们的理由,但我仍然不喜欢它.

此外,在许多方面,MonoRail仍然是更完整的平台.例如,ASP.NET中没有验证或分页的抽象.此外,绑定到模型并没有任何帮助.与Monorail等效物相比,助手的功能非常少.

总的来说,我认为ASP.NET MVC是一个胜利者.



1> Julian Birch..:

作为单轨列车的倡导者,我必须说你应该选择ASP.NET MVC.说实话,ASP.NET MVC将在三年内成为默认架构的简单事实应该可以解决它.这个等式与一年前不同,仅仅是因为与MonoRail相比,默认架构存在严重的生产力问题.

如果您想谈谈技术优势和劣势:

ASP.NET AJAX是一个混乱(避免它),但他们现在有了jQuery.实际上,jQuery支持比任何其他环境都要好.当然,只有IDE与标准视图引擎集成才能完全实现这一点.

有一些美学上的改进(例如,传递模型信息的方式比单轨更清晰,更明显).

另外,不要忽视标准视图引擎.你不必像使用ASP.NET那样抛出控件,你可以用与Brail非常相似的方式编写它,只使用C#而不是Boo.

有些事情只是简单丑陋*为参数提取对象的方法数量.祝你找到他们期望的文件,祝你好运.*微软对接口抽象类的喜爱.他们有他们的理由,但我仍然不喜欢它.

此外,在许多方面,MonoRail仍然是更完整的平台.例如,ASP.NET中没有验证或分页的抽象.此外,绑定到模型并没有任何帮助.与Monorail等效物相比,助手的功能非常少.

总的来说,我认为ASP.NET MVC是一个胜利者.


看看这三年后,令人惊讶的是,变化不大.Monorail失去了大部分开发人员,但ASP.NET MVC实际上还没有实现功能奇偶校验.Razor是一种改进,但是查看引擎语法并不是那么重要.

2> Torkel..:

MonoRail和ASP.NET MVC基本上非常相似,你应该很好地使用其中任何一个.MonoRail已存在更长时间,因此具有更高级别的功能.

ASP.NET MVC的主要优势在于它的路由引擎,公平MonoRail几乎是一个等效的路由引擎,并且通过一些修改你可以使用带有MonoRail的ASP.NET MVC路由引擎,因为路由引擎并不是真的在ASP中.NET MVC但在System.Web.Routing中(在.NET 3.5 SP1中发布).ASP.NET MVC和与Visual Studio的集成也是一个优势,当我们接近v1的RTM时,它可能会变得更好.

MvcContrib项目包含一些很棒的视图引擎,如Spark,NHaml和Brail.没有人可以被认为是"最好的",个人最喜欢的是Spark.有关spark的更多信息:http://dev.dejardin.org/documentation/syntax

WebForms引擎具有intellisense,这是我所知道的所有替代视图引擎都缺乏的一个很大的优势.


我们正在寻找Spark在Stack Overflow上使用 - 它看起来像一个很棒的视图引擎,到目前为止!

3> 小智..:

除了微软的普及和支持之外,ASP.NET MVC仍然缺乏Monorail长期以来的一些核心功能,如控制器组织(区域),本地ViewComponents和过滤器,可以使用IoC来命名最重要的.

我有一些使用所有这些功能的大型应用程序,我很难将它们移植到ASP.NET MVC.

我已经和Monorail合作了好几年了,虽然MVC看起来很有前途,而且它的灵活性很棒,但我仍然发现它对于我试图做的每一件事情都是不合适的,原来它不存在而且我必须插一点MvcContrib是另一块SharpArchitecture,我自己制作,你得到了图片.单轨列车更容易使用(现在,就是这样).

我预计未来几个月情况会好转,因为一些提议的解决方案将开始对抗其他解决方案并变得更加主流.嘿,选择的多样性是好的但是相信我,你不想在3年前的Java-land中有这么多的web框架,你可以用每个不同的页面建立你的网站!

与此同时,为了以防万一,我将继续将我的MR应用程序缓慢移植到MVC.

推荐阅读
yzh148448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有