如果希望使用ASP.NET Core创建新的 Web 应用程序,应该选择哪种方法?Razor Pages还是 MVC(模型-视图-控制器),又或者使用Web API + Vue/React/......。
每种方法都有各自的优点和缺点。
什么是 MVC?
大多数服务器端语言都采用广泛使用的模型-视图-控制设计。它由三个主要组件组成:控制器、模型和视图。控制器负责输入并与模型和视图交互。视图负责用户界面,模型代表业务逻辑和数据。虽然 MVC 模型适用于 API 开发,但 Razor Pages 专注于页面而不是 API。如果您打算使用 Angular 或 React 等前端框架,那么 MVC 将是一个合适的选择。
什么是 Razor Pages?
Razor Pages 是允许轻松加载数据的网页,类似于 HTML 页面。它们与 ASP.NET MVC 的视图组件非常相似,具有相同的语法和功能。 Razor Pages 和 MVC 之间的主要区别在于,使用 Razor Pages,模型和控制器代码包含在页面本身中。这样就无需单独添加代码。Razor Pages 类似于MVVM 框架(模型-视图-视图-模型),提供双向数据绑定和具有隔离关注点的简化开发体验。 ASP.NET MVC在 Web 应用程序开发中越来越受欢迎,具有众多优势。事实上,ASP.NET Web Forms 是作为 MVC 中的 MVVM 解决方案设计的。 然而,新的 ASP.NET Core Razor Pages 代表了 ASP.NET Web Forms 的下一个发展阶段。
MVVM 框架最出名的是数据模型的双向数据绑定。
MVC 非常适合具有许多动态服务器视图、单页应用、REST API 和 AJAX 调用的应用。Razor Pages 非常适合只读或进行基本数据输入的简单页面。
什么是Web API?
MVC 用于 Web 应用程序开发。MVC返回数据和数据视图,而 Web API 仅返回 HTTP 服务数据,即仅以数据形式返回。
所以如果您了解前端“单页应用程序”框架(如 Vue、Angular、 React.js)并且想要使用该框架构建应用程序,那么您需要使用 ASP.NET Core Web API 构建 API。
Razor Pages 与 ASP.NET MVC
Razor Pages 和 MVC 各有优势,适用于不同的目的。虽然 Razor Pages 在创建基本页面方面可能更简单、更高效,但 MVC 提供了更灵活、更可扩展的架构,更适合具有更复杂要求的大型项目。
Razor Pages 还旨在根据文件的用途对其进行分组,并为每个提供增强功能的类提供紧密集成的代码。它们特别适合创建仅允许只读输入数据的基本页面。相比之下,MVC 有三个主要组件模型、视图和控制器。模型包括数据和相关逻辑;它表示在控制器组件之间传输的数据。视图使用从模型数据收集的数据来控制数据的呈现。
Razor Pages 和 MVC 之间的选择取决于项目的特定需求以及开发团队的偏好和专业知识。
什么是 Blazor?
Blazor 是基于 HTML、CSS 和 C# 的新式前端 Web 框架,可帮助更快地构建 Web 应用。 借助 Blazor,可以使用可从客户端和服务器运行的可重用组件构建 Web 应用,以便提供出色的 Web 体验。 Blazor 是 .NET 的一部分,它是用于构建任何内容的开发人员平台。 .NET 是免费的开放源代码,并且跨平台运行。
什么是 Blazor? - Training | Microsoft LearnBlazor 是基于 HTML 和 C# 的新式前端 Web 框架,可帮助更快地构建 Web 应用。https://learn.microsoft.com/zh-cn/training/modules/blazor-introduction/2-what-is-blazor