当前位置: 首页 > news >正文

ASP.NET Core 8 的 Web App

Web App

Web App 与 Web API 的不同之处在于包含 UI 部分,所谓的 UI 就是 HTML 页面。
Web App 支持几种渲染HTML 的方式:

  • 服务端渲染
  • 客户端渲染
  • 混合渲染

服务端渲染

服务端渲染UI是在浏览器请求的时候,服务端生成 HTML,然后返回给浏览器。

优点是:

  • 减轻客户端的压力
    • 服务端生成 HTML,适配各种浏览器
    • 极少从 Client 端拉取 JS 代码
  • 可以保护服务端的数据和安全
    • 可以保护服务端的资源,包括数据库访问,API 接口等。
  • 可以针对搜索引擎进行优化

缺点是:

  • 对服务端的压力很大,包括 CPU 和内存
  • 用户交互需要从服务端绕一圈生成 UI

一般用于:

  • 数据只读的网站
  • 静态网页
  • 管理系统

ASP.NET Core 8 支持的服务端渲染技术:

  • ASP.NET Core Razor Pages
  • ASP.NET Core MVC

ASP.NET Core Razor Pages

Razor Pages 是基于页面的模型,可以用于基于页面或者基于 Form 的网站。
Razor Pages的优点:

  • 页面的代码都和页面一起。类似 xaml 和 xaml.cs,这里是 cshtml 和 cshtml.cs
  • View 的逻辑和 View 一起,逻辑清晰。
  • 方便分组 View。

ASP.NET Core MVC

ASP.NET Core MVC 使用 MVC 架构模式,分成 Models, Views 和 Controllers。
客户端的请求发送到Controllers,Controllers处理请求,然后根据Models返回Views。
MVC 的优点:

  • 方便开发大型网站
  • 结构清晰,职责分离
  • 松耦合

客户端渲染

客户端渲染UI是在客户端动态渲染 UI,直接更新浏览器 DOM。
优点是:

  • 可以实时交换,不需要从服务端绕一圈。
  • 不需要提交请求到服务端就可以增量更新DOM。
  • 支持离线运行。
  • 减轻服务端的压力和成本。

缺点是:

  • 第一次加载时,需要把代码下载到本地运行。

ASP.NET Core 8 支持的客户端渲染技术:

  • Blazor WebAssembly
  • ASP.NET Core Single Page Application (SPA) with Angular | React | Vue

SPA with Angular | React | Vue

前后端分离。
优点是:

  • 浏览器提供 JS 的运行环境。
  • 良好的社区和生态系统

缺点是:

  • 要学习更多语言和框架
http://www.lryc.cn/news/160033.html

相关文章:

  • jeesite自定义数据字典,自定义字典表,自带树选择数据源(保姆级图文教程)
  • 基于v-md-editor的在线文档编辑实现
  • C(结构体指针、利用结构体指针偏移获取数据)
  • 数据结构和算法之插入排序
  • 感应电动机
  • AjaxJavaScriptcss模仿百度一下模糊查询功能
  • sqli-labs复现
  • k8s入门到实战--跨服务调用
  • 小程序中使用分包
  • python官方标准库
  • Python Opencv实践 - 霍夫圆检测(Hough Circles)
  • 异步请求库的实际应用案例:爬取豆瓣经典电影
  • 数据结构学习系列之两个单向链表的合并
  • java网络编程,套接字socket
  • 一日一技:Python如何同时调用多个GPT的API?
  • 【云原生】Docker环境安装
  • 56、springboot ------ RESTful服务及RESTful接口设计
  • sysmonitor如何使用
  • 视频监控/视频汇聚/安防视频监控平台EasyCVR如何将默认快照的raw格式改为jpg/base64格式?
  • QRCode.js生成的二维码水平居中的解决方案
  • 在Cisco设备上配置接口速度和双工
  • 增益带宽积GBW
  • 二分搜索树节点的查找(Java 实例代码)
  • 2.9 PE结构:重建导入表结构
  • MybatisPlus插件功能详细介绍 自动分页 通用分页实体
  • ES kibana 创建索引快速脚本
  • 2023年09月编程语言流行度排名
  • linux对一个文件夹中的所有文件重命名
  • Greenplum执行SQL卡住的问题
  • Discourse 的系统日志