一、NET 6概述
.NET 6 提供 .NET 统一计划的最终部分,该计划在 .NET 5 中启动。 .NET 6 在移动、桌面、IoT 和云应用之间统一了 SDK、基础库和运行时。 除了这方面的统一以外,.NET 6 生态系统还提供了以下功能:
简化开发:轻松入门。 C# 10 中的新语言功能可减少需要编写的代码量。 利用 Web 堆栈和最小 API 的投资,可以轻松地快速编写更小、更快速的微服务。
更佳的性能:.NET 6 是最快的完整堆栈 Web 框架,如果在云中运行,则会降低计算成本。
终极工作效率:.Net 6 和 Visual Studio 2022 提供热重载、新的 git 工具、智能代码编辑、可靠的诊断和测试工具以及更好的团队协作。
.NET 6 将作为长期支持 (LTS) 版本得到三年的支持。
预览功能默认为禁用状态。 它们还不支持在生产环境中使用,并且可能会在将来的版本中删除。 新的 RequiresPreviewFeaturesAttribute 用于批注预览 API,如果使用这些预览 API,则相应的分析器会发出警报。
Visual Studio 2022 和 Visual Studio 2022 for Mac(以及更高版本)支持 .NET 6。
本文未涵盖 .NET 6 的所有新功能。 若要查看所有新功能,以及有关本文中列出的功能的详细信息,请参阅宣布发布 .NET 6 博客文章。
.NET 6 在移动、桌面、IoT 和云应用之间统一了SDK、基础库和运行时。除了这方面的统一以外,.NET 6生态系统还提供了以下功能:
二、ASP.NET Core 6 的优点
ASP.NET Core 6 提供一套完整的Web UI框架。主要区分为服务器UI和客户端UI。在ASP.NET Core 6中可以使用三种方法来构建新的Web UI。
三种方式如下:
1)使用服务器UI来构建应用。
2)使用客户端UI在浏览器中构建应用。
3)服务器UI和客户端UI混合使用的方式来构建应用。 例如,大多数Web UI使用服务器UI,运行在服务器上,并会根据需要来添加客户端UI组件,运行在客户端的浏览器中。
使用服务器 Web UI,ASP.NET Core 6构建的应用会在服务器上动态生成页面的 HTML和CSS,以响应浏览器发过来的请求。页面在到达客户端时已准备以何种样式显示给用户看了。
优点:
常见的使用服务器Web UI的应用场景如下:
缺点:
客户端UI是指ASP.NET Core 6开发的应用在客户端上动态地呈现Web UI,根据需求直接更新浏览器页面中的DOM,从而改变页面中的数据及页面。
优点:
客户端 Web UI 的使用场景如下:
缺点:
服务器ASP.NET Core Web UI主要有ASP.NET Core Razor Pages 和 ASP.NET Core MVC 组成,这是.NET 6中基于服务器的ASP.NET Core框架,用于创建Web应用。
Razor Pages是一个基于页面的Web开发框架。Web UI和业务逻辑关注点保持分离状态,但都在页面内。Razor Pages入门比ASP.NET Core MVC要简单一些。
Razor Pages的优点:
ASP.NET MVC 在服务器上呈现 UI的一个开发框架,是用于创建基于 MVC(模型-视图-控制器结构模式)的Web 应用的Web开发框架。 MVC模式将应用分成三组主要组件:模型、视图和控制器。用户请求被路由到控制器。控制器负责使用模型来执行用户操作或检索查询结果。控制器选择要显示给用户的视图,并为其提供所需的任何模型数据。对Razor Pages的支持是建立在ASP.NET Core MVC基础之上的。
ASP.NET Core MVC的优点:
Blazor和Javascripot客户端框架是ASP.NET Core 6中所使用的用于在客户端构建Web应用的Web UI模型。
Blazor是一个使用Blazor生成交互式客户端的Web UI框架,使用C#代替JavaScript来创建信息丰富的交互式UI,允许使用共享代码和库。使用 C#、HTML 和 CSS 实现的可重用的Web UI组件。将 UI 呈现为 HTML 和 CSS,以支持众多浏览器,其中包括移动浏览器。Blazor 组件非正式地称为 Blazor 组件,正式可以称Razor组件,Razor组件类通常以 Razor 标记页(文件扩展名为 .razor)的形式编写。
Razor组件的优点:
使用JavaScript前端框架(如 Angular 或 React)生成基于ASP.NET Core的应用程序的客户端页面。ASP.NET Core为 Angular和React提供了项目模板,当然也可以用其他的JavaScript框架(例如Vue,EasyUI,Extjs)。
将ASP.NET Core SPA与JavaScript框架结合使用的优点:
缺点:
MVC、Razor Pages和Blazor都是ASP.NET Core框架的一部分,微软在设计时,就已经设计为可以结合使用。Razor组件可以通过Blazor WebAssembly或Blazor Server集成到Razor Pages和MVC应用程序中。呈现视图或页面时,可以同时预呈现组件。
在MVC或Razor Pages的优点基础上,MVC或Razor Pages与Blazor结合使用的优点如下:
九、C# 10 和模板
C# 10 包括一些创新,如 global using
指令、文件范围内的命名空间声明和记录结构。 有关详细信息,请参阅 C# 10 中的新增功能。
为了配合这些内容,已采用新式 C# .NET SDK 项目模板以使用一些新的语言功能:
async Main
方法通过将这些新语言功能添加到项目模板,可从启用的功能开始编写新代码。 但是,在升级到 .NET 6 时,不会影响现有的代码。 有关这些模板更改的详细信息,请参阅博客文章:.NET SDK:新式 C# 项目模板。
参考:
ASP.NET Core Blazor编程系列一——综述
.NET 6 中的新增功能 | Microsoft Learn