我习惯了 ASP.NET MVC 框架,但想知道是否有人有任何关于 MVC 框架比较的好文献。
一个比另一个好吗?
有没有人和多个人一起工作过?
请您参考如下方法:
一个比另一个好吗?那是一个巨大的、主要是主观的蠕虫 jar 头。大多数 MVC 框架都有很多共同点。
有区别吗?是的。以下是人们似乎关心的一些注意事项:
1)约定优于配置
例如。在 Ruby-on-Rails你不需要做很多配置或样板代码。相反,该框架会强制您遵循一些命名约定。如果你遵守规则,很多东西会自动神奇地“正常工作”。 Spring另一方面,(Java) 需要大量的 XML 配置,您必须构建更多的脚手架。
2)"template"的纯度
例如。在 Django ( Python ),您使用模板语言来定义 View 。在 ASP.NET MVC开箱即用的 View 是混合了大量代码的 HTML。
3)模块化程度
例如。我不得不在之前的回答中说开箱即用,因为在 Vanilla ASP.NET MVC 中,您可以使用 Web 窗体或 Razor “查看引擎”,但还有更多可用(包括 Django template system )。像 Spring 和 Monorail 这样的框架还提供许多“ View 引擎”,而其他框架通常只提供一种方法。
4) 完整的平台与简单的 MVC 框架
例如。一些框架超越了 MVC,以提供更多开箱即用的功能和与其他层的深度集成。例如,Rails 和 Django 提供了标准的 ORM(数据访问)。 Spring 和 Monorail 都提供 ORM和一个 IOC container . Django 甚至为您的模型提供了一个自动生成的管理界面。相比之下,ASP.NET MVC 将 IoC 和 ORM 之类的东西(甚至是否使用它们)留给开发人员。
5)语言依赖
例如。如果你选择 Django,你就是在选择 Python,而选择 Rails 意味着选择 Ruby .但是,Spring 可以与在 JVM 上运行的任何语言一起使用。 .还有Spring.NET这是 .NET 平台上的 Spring。 ASP.NET 旨在与 C# 和 VB.NET 一起很好地工作,但可以在任何 .NET 语言中使用。不同的语言具有超出 MVC 框架的不同优势和劣势。
那什么更好呢?好吧,使用像 Rails 这样的框架,您可以非常快速地启动和运行,但是当您尝试在线条之外着色时可能会遇到问题。 Spring 提供了一个完整的“企业”平台,有些人可能会觉得它太多了。 ASP.NET MVC 提供了一个很好的 Web 层,但将大部分应用程序管道留给了您。哪个更好在很大程度上取决于您的个性和您想要做什么。
我在上面提到了一些框架,但当然还有很多,many more .碰巧的是,我通常在 Mono 上使用 ASP.NET MVC我自己。
