不同的.NET MVC框架的优缺点

13

围绕着MVC的炒作(合理地),我决定尝试自己编写第一个.NET MVC Web应用程序。有几个选项可供选择,我想知道人们推荐哪个框架MVC

似乎前两者真正成为主要竞争者。此外,某些DI容器是MVC的自然补充-MonoRail将已经附带一个而ASP.NET MVC可能可以使用类似Unity之类的东西工作。

5个回答

11

我认为最好的选择是微软ASP.NET MVC,理由如下:

  • 它是官方版本。
  • 它将与Visual Studio 2010集成。
  • 它是由微软员工开发的。
  • 它是免费的。
  • 有很多开发人员专门使用并支持它。
  • 有大量的文档和相关信息。
  • .NET的强大功能尽在掌握。
  • 不限于使用一种编程语言进行开发。

4
尽管这是由微软开发的,但并不一定是件好事。其他观点我都同意。 - Halvard
4
你能详细说明这可能会是一件负面的事情吗? - JoshJordan
1
它实际上也与VS 2008集成了,不是吗? - mfloryan
3
这些观点在不同的框架之间是可以相互转换的,而其他一些观点像“官方”的或者“由微软员工开发”之类的对我来说毫无意义。 - Owen
我认为第1和第4项实际上是同一件事,因为.NET完整框架是闭源的,至少在我写作时是这样。即使我们可以看到代码的简化版本,.NET FX确实是开源的,但我们无法提交补丁并将其合并到完整框架中。 - ygormutti
显示剩余9条评论

4

微软ASP.NET MVC

优点:您可以利用.NET和您对ASP.NET的经验。


3
你的论点并不完全正确,因为ASP.NET MVC可以在Mono上运行。 - Brad Wilson
从Mono 2.4.2.1开始,Mono预装了ASP.Net MVC,这是微软的ASP.Net MVC。正如之前所述,你的反驳是错误的。 - chyne

4
ASP.NET MVC已经内置了所有常见的DI框架,可在code-project上使用,而且自己编写也很容易 - 我重写了StructureMap以支持一些特定场景(从路由数据中选择SM配置)。
所以这解决了你在问题中提到的主要区别;-p 个人会使用ASP.NET MVC...但两种方法可能都会接近。我只是期望ASP.NET MVC更加主流,因为“官方”的卡片会带来更多的书籍/社区等。
只需看看SO上的标签计数; asp.net-mvc(及类似)4k+; monorail...难以找到...

0

实际上,这取决于你希望从中获得什么。

话虽如此,在asp.net mvc方面很难被打败,因为它具有以下优点: * 活跃的维护 * 一致/易于使用的命名约定(如果不理解,请随意跳过 :) * 具备源代码/教程/手动实验室等详细文档 * 可以轻松地与其他选项一起扩展

我没有听说过/看到过最后两个选择,尽管我浏览了这些链接,但考虑到asp.net mvc已经存在,我不会花时间去学习/阅读它们 - 我的建议。


0

这里没有提到的一个框架是我自2014年以来最喜欢的NancyFx, 它受到了Ruby世界中的Sinatra的启发。

与重量级官方ASP.NET MVC不同,几乎没有开销。

它可以与OWIN和Razor模板(以及其他模板)一起使用,并且易于扩展。

最好的功能是您可以在同一个MVC控制器类中编写服务和视图路由,Nancy称之为“Module”


Nancy并不完全基于MVC。这一点从你的最后一行就可以看出来。 - Devesh Khandelwal

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接