选择 ASP.NET Core Web UI

ASP.NET Core 是一个完整的 UI 框架。 你可以选择要结合哪些功能,以满足应用的 Web UI 需求。

文章目录



一、ASP.NET Core Blazor

Blazor 是一个全栈 Web UI 框架,建议用于大多数 Web UI 方案。

使用 Blazor 的好处:

  • 可重用的组件模型。
  • 高效的基于差异的组件呈现。
  • 通过 WebAssembly 从服务器或客户端灵活地呈现组件。
  • 使用 C# 生成丰富的交互式 Web UI 组件。
  • 从服务器静态呈现组件。
  • 逐步增强服务器呈现组件,以实现更流畅的导航和表单处理并启用流式呈现。
  • 共享客户端和服务器上通用逻辑的代码。
  • 与 JavaScript 互操作。
  • 将组件与现有的 MVC、 Razor 页面或基于 JavaScript 的应用集成。

二、ASP.NET Core Razor Pages

Razor 页面是一个基于页面的模型,用于生成服务器呈现的 Web UI。 Razor 页面 UI 在服务器上动态呈现,以生成页面的 HTML 和 CSS 来响应浏览器请求。 页面在到达客户端时已准备好显示。 对 Razor Pages 的支持是建立在 ASP.NET Core MVC 基础之上的。

Razor 页面的优势:

  • 快速构建和更新 UI。 页面的代码与页面一起保存,同时保持 UI 和业务逻辑关注点相互分离。
  • 可进行测试并缩放到大型应用。
  • 组织 ASP.NET Core 页面,使用起来比 ASP.NET MVC 更简单:
    视图的具体逻辑和视图模型可以一起保存在它们自己的命名空间和目录中。
    相关页面的组可以保存在各自的命名空间和目录中。

三、ASP.NET Core MVC

ASP.NET Core MVC 在服务器上呈现 UI,并使用模型-视图-控制器 (MVC) 结构模式。 MVC 模式将应用分成三组主要组件:模型、视图和控制器。 用户请求被路由到控制器。 控制器负责使用模型来执行用户操作或检索查询结果。 控制器选择要显示给用户的视图,并为其提供所需的任何模型数据。

ASP.NET Core MVC 的优势:

  • 基于可缩放且成熟的模型生成大型 Web 应用。
  • 明确分离关注点以获得最大的灵活性。
  • 模型-视图-控制器的责任分离,确保了业务模型的发展,而不会与底层的实现细节紧密相连。

四、采用前端JavaScript框架的ASP.NET Core单页应用程序(SPA)

使用热门的 JavaScript 框架(如 Angular、React 和 Vue)生成适用于 ASP.NET Core 应用的客户端逻辑。 ASP.NET Core 为 Angular、React 和 Vue 提供了项目模板,也可以用于其他 JavaScript 框架。

在前面列出的客户端呈现的优点基础上,将 ASP.NET Core SPA 与 JavaScript 框架结合使用也有一些优点:

  • JavaScript 运行时环境已随浏览器提供。
  • 大型社区和成熟的生态系统。
  • 使用热门的 JS 框架(如 Angular、React 和 Vue)构建适用于 ASP.NET Core 应用的客户端逻辑。

缺点:

  • 需要更多编码语言、框架和工具。
  • 难以共享代码,因此一些逻辑可能会重复。

组合多个 Web UI 解决方案:ASP.NET Core MVC 或 Razor Pages 和 Blazor

MVC、Razor Pages 和 Blazor 都是 ASP.NET Core 框架的一部分,设计为可以结合使用。 Razor 组件可以集成到 Razor Pages 和 MVC 应用。 呈现视图或页面时,可以同时预呈现组件。

在 MVC 或 Razor Pages 的优点基础上,MVC 或 Razor Pages 与 Blazor 结合使用的优点如下:

  • 预呈现会在服务器上执行 Razor 组件,并将其呈现到视图或页面中,从而提高应用的感知加载时间。
  • 使用组件标记帮助程序将交互性添加到现有视图或页面。

相关推荐
铁皮饭盒1 小时前
26年bunjs, elysia+pg一把梭, redis都省了
前端·javascript·后端
lichenyang45314 小时前
Docker 学习笔记(一):为什么需要镜像、容器和仓库?
前端
kyriewen14 小时前
别再对着 TypeScript 报错发呆了:我把 10 个最常见的红色波浪线翻译成了人话
前端·javascript·typescript
IT_陈寒14 小时前
SpringBoot自动配置的坑,我的API突然就404了
前端·人工智能·后端
奇奇怪怪的15 小时前
Embedding 模型 10+ 横向评测
前端
陈广亮15 小时前
Monorepo 从 0 到 1 实操指南 2026 版:pnpm catalogs + Turborepo 2.x + changesets 全链路
前端
子兮曰15 小时前
OpenMontage 深度解剖:你的 AI 编程助手,其实是个视频工作室
前端·后端·ai编程
敲代码的鱼15 小时前
PDF 预览与签名批注写回 支持安卓 iOS 鸿蒙 UTS插件
android·前端·ios
子兮曰15 小时前
前端工具链的「Rust 化」:一场没有赢家的军备竞赛?
前端·后端·rust