微软发布最新.NET 8恒久支持版本,云计算、AI应用支持再强化 ...

打印 上一主题 下一主题

主题 713|帖子 713|积分 2143


11 月 15 日开始的为期三天的 .NET Conf 在线活动的开幕日上,.NET 8作为微软的开源跨平台开发平台正式发布。.NET 团队偏重强调云、性能、全栈 Blazor、AI 和 .NET MAUI 是.NET 8的重要亮点。.NET团队在 .NET Conf 2023 [1]活动开幕式上表现:“通过这个版本,.NET 重塑了我们构建按需扩展的智能、云原生应用步调和高流量服务的方式。 无论你是部署到 Linux 还是 Windows,利用容器还是你选择的云应用模型,.NET 8 都能更轻松地构建这些应用。”
在数字化转型的智能化方向上我们可以用.NET 8 做下列这些场景:


  • 将 OpenAI 的 GPT 等大型语言模型 (LLM) 直接集成到 .NET 应用中,这个重要是通过开源项目 Semantic Kernel(简称SK)。
  • 利用单个功能强大的组件模型来处置惩罚 Blazor 的全部 Web UI 需求, Blazor 在.NET 8真的是成熟了,可以大力发挥全栈开发的本领了。
  • 利用 .NET MAUI 将移动应用步调部署到最新版本的 iOS 和 Android,在移动应用开发方面解决多年的包袱。
  • 发现新的语言加强功能,使你的代码在 C# 12 中更加简洁和富有体现力。
对企业来说特殊重要的是,.NET 8 [2]是一个恒久支持 (LTS) 版本,这意味着它将得到三年的支持和补丁,而尺度期限支持 (STS) 版本则是 18 个月。对于开发人员来说,特殊重要的是 .NET团队正在向期待已久的原生提前编译(NativeAOT)迈进 。
2020年的时候.NET团队做过一项调查中发现Survey: Native AOT [results][3],.NET Core 中缺少NativeAOT 拦阻了开发平台的接纳,促使 .NET 团队大力推动 AOT。


.NET 8通过推进NativeAOT来加强可连续计算,以淘汰内存利用并实现即时应用步调启动,今天强调了AOT的功能,包括:


  • 它将应用步调编译为利用更少内存的本机代码并立即启动
  • 无需等待 JIT(实时)编译器在运行时编译代码
  • 无需部署 JIT 编译器和 IL 代码
  • AOT 应用仅部署应用所需的代码
  • 如今,应用步调可以在不允许利用 JIT 编译器的受限环境中运行
还形貌了原生 AOT 巨细优化。


在形貌.NET 8的整体情况时,.NET 团队表现:“NET 8提供了数千项性能,稳定性和安全性改进,以及平台和工具加强功能,有助于提高开发人员的生产力和创新速度。在公告博客[4]文章中,这数千项改进围绕上述五个主题举行了分组。以下是每个领域的介绍。
性能 .NET团队的 Stephen Toub 每年都会针对.NET性能方举行彻底、煞费苦心和详尽的具体阐明,他总结了数千个性能数据点,宣称: .NET 7 速度超快, .NET 8 更快。[5]
.NET 8 引入了新的代码天生器,即动态配置文件引导优化 (PGO),它根据实际利用情况优化代码。此功能最多可将应用性能提高 20%。AVX-512 指令集支持对 512 位数据向量举行并行运算,在 .NET 8 中受支持和利用,从而允许在更短的时间内举行更多的数据处置惩罚。此外,基元类型如今实现了新的格式化和可解析接口,使它们能够直接格式化息争析为 UTF-8,而不会产生任何转码开销。这个结果可以看 TechEmpower 22轮Web框架 性能评测:.NET 8 战绩斐然的[6]阐明


云原生 .NET 8 以多种方式促进了云原生开发,比方包括许多容器加强功能,但这里的重大新闻是 .NET Aspire 的第一个预览版的可用性,这是一个用于构建弹性、可观察和可配置的云原生应用步调的堆栈。 .NET Aspire 附带了一组针对云原生开发加强的精选组件,默认情况下包括遥测、复原、配置和运行状况查抄,这个项目来自几年前的实验性项目Tye。




.NET团队表现:“联合复杂而简单的当地开发人员体验,Aspire 可以在第 1 天起轻松发现、获取和配置云原生应用步调的基本依赖项。


在云原生的容器方面,.NET 8 通过简化应用步调的打包和利用默认的非 root 用户配置加强安全性来简化容器化。它还提供更小的映像巨细以加快部署速度,并提供可选的Dirstroless Ubuntu 映像以加强安全性,以及多功能架构支持。
人工智能
随着天生式AI的到来,人工智能领域发生了翻天覆地的厘革,从底层语言、运行时,到库的处置惩罚,到接口,到跨平台应用,对于 人工智能,.NET都有相对成熟的解决方案了。当下的这个生态位还是蓝海!.NET携带完备的工具和生态,杀进来,爽的不要不要的。用 .NET写整个的应用层代码,不需要写一行 C++ 代码,就可以架构整个完备的产物体系和服务体系。如果竞争对手选择的是别的技能架构,那么,你相对他,会有很强的生产力优势。.NET平台.NET 团队指出了展示模式和实践的各种示例和参考模板 可帮助开发人员入门,Semantic kernel 下个月发布正式版,目前是Beta6。


它们包括:


  • 客户谈天机器人[7]
  • 检索加强天生RAG[8]
  • 利用 Azure AI 服务开发应用[8]
Blazor Blazor 已经发展成为一个全栈 Web 开发框架,这要归功于由 .NET团队的 Steve Sanderson 领导的渲染改进,他是 Blazor 的创建者,最初称为“Blazor United”。它同时提供客户端 (Blazor WebAssembly) 和服务器端 (Blazor Server),能够根据条件提示切换装备。
ASP.NET 产物经理 Daniel Roth 本年早些时候是这么说:“在 .NET 8 中,我们正在扩展 Blazor 的功能,以便它能够处置惩罚全部 Web UI 需求,包括客户端和服务器端呈现。作为这项工作的一部分,我们正在将现有的 Blazor Server 和 Blazor WebAssembly 托管模型与新功能合并,比方无状态服务器端呈现、流式渲染、导航和表单处置惩罚的渐进式加强,以及利用 Blazor 或 Blazor WebAssembly 对每个组件举行交互的本领。
今天的公告总结了全部这些内容:“通过专注于优化页面加载时间、可伸缩性和提升用户体验的几项新加强功能,开发人员如今可以在同一应用中利用 Blazor Server 和 Blazor WebAssembly,在运行时自动将用户从服务器转移到客户端。由于新的基于“Jiterpreter”的运行时和新的内置组件,您的 .NET 代码在 WebAssembly 上的运行速度明显更快。作为加强 .NET 8 中整体身份验证、授权和标识管理[9]的一部分,Blazor 如今支持天生基于 Blazor 的完备标识 UI。


.NET MAUI .NET团队表现,.NET多平台应用步调UI扩展了开发人员的工具箱,为利用.NET构建跨平台移动和桌面应用步调提供了全栈解决方案。 MAUI被称为 Xamarin.Forms 的“演变”,由于它增加了桌面支持,以提供跨 Android、iOS、macOS 和 Windows 的同一开发体验,帮助开发人员覆盖更广泛的受众。加上开源项目AvaloniaUI 和UNO的补充, .NET 可以覆盖全部平台的UI应用开发,特殊是国内信创市场的桌面端.NET具有极强的竞争力
在 .NET 8 中,该框架通过对最新移动操纵体系的额外支持扩展了其覆盖范围,并改进了性能、可靠性和开发人员体验。NativeAOT(实验性)如今支持针对类似 iOS 的平台。适用于 .NET MAUI 的新 Visual Studio Code 扩展[10]提供了开发跨平台 .NET 移动和桌面应用所需的工具。如今支持 Xcode 15 和 Android API 34,允许您面向最新版本的 iOS 和 Android。在性能、控件和 UI 元素以及特定于平台的举动方面[11]举行了大量质量改进,比方桌面交互增加了更好的点击处置惩罚、键盘侦听器等。


C#12 借助于C#12 ,你如今可以用简单而优雅的语法在任何类和布局中创建重要构造函数,不再需要样板代码来初始化字段和属性。利用简洁而富有体现力的语法创建数组、spans和其他集合类型。对 lambda 表达式中的参数利用新的默认值。不再需要重载或 null 查抄来处置惩罚可选参数。您甚至可以利用 using alias 指令为任何类型设置别名,而不但仅是定名类型!
C# 12 中的新增功能[12]”指南解释了版本 12 中的以下新功能:


  • 主构造函数 - 在 Visual Studio 17.6 预览版 2 中引入。
  • Lambda 表达式中的可选参数 - 在 Visual Studio 17.5 预览版 2 中引入。
  • 任何类型的别名 - 在 Visual Studio 17.6 预览版 3 中引入。
  • 内联数组 - 在 Visual Studio 17.7 预览版 3 中引入。
  • 集合表达式 - 在 Visual Studio 17.7 预览版 5 中引入。
  • 拦截器 - 预览功能在 Visual Studio 17.7 预览版 3 中引入。
总结
围绕 .NET 8 有一大堆新特性和功能, Microsoft 还公布 Visual Studio 2022 17.8 已正式发布。该公司还指出其 VS Code 和 C# 开发工具包可以帮助新手入门。Microsoft表现,另一种入门方法是利用SDK中新的.NET的GitHub Codespaces模板[13]。
今天的公告帖子还包括指向更多资源的链接,这些资源有助于充实 .NET 8 中跨 ASP.NET Core、Entity Framework Core、NuGet、.NET 运行时、.NET SDK、WPF、ARM64、调试等的新增功能。


  • Announcing .NET 8
  • Introducing .NET Aspire: Simplifying Cloud-Native Development with .NET 8
  • Announcing C# 12
  • Entity Framework Core 8 (EF8) is available today
  • Announcing ASP.NET Core in .NET 8
  • Announcing .NET MAUI in .NET 8
干系链接:


  • [1].NET Conf 2023: https://www.dotnetconf.net/
  • [2].NET 8:https://dotnet.microsoft.com/zh-cn/download/dotnet/8.0
  • [3]Survey: Native AOT [results]:https://github.com/dotnet/runtime/issues/41522
  • [4].NET8公告博客:https://devblogs.microsoft.com/dotnet/announcing-dotnet-8/
  • [5].NET 7 速度超快, .NET 8 更快:https://devblogs.microsoft.com/dotnet/performance-improvements-in-net-8/
  • [6]TechEmpower 22轮Web框架 性能评测:.NET 8 战绩斐然:https://www.cnblogs.com/shanyou/p/17828353.html
  • [7]客户谈天机器人:https://github.com/dotnet-architecture/eShop
  • [8]检索加强天生RAG: https://github.com/Azure-Samples/azure-search-openai-demo-csharp
  • [9]利用 Azure AI 服务开发应用: https://devblogs.microsoft.com/dotnet/demystifying-retrieval-augmented-generation-with-dotnet/
  • [10]Visual Studio Code 扩展: https://aka.ms/maui-devkit-blog
  • [11]举动方面性能改进: https://devblogs.microsoft.com/dotnet/dotnet-8-performance-improvements-in-dotnet-maui
  • [12]C# 12 中的新增功能: https://learn.microsoft.com/zh-cn/dotnet/csharp/whats-new/csharp-12
  • [13]SDK中新的.NET的GitHub Codespaces模板: https://github.com/codespaces

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

东湖之滨

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表