zoukankan      html  css  js  c++  java
  • .NET 5 Preview 1的深度解读和跟进

     这几天微软.NET 团队发布了.NET 5 Preview 1, 如约而至。很兴奋,因为.NET Core和.NET Framework终于实现了大一统,同时也很期待,期待.NET 5能给我们带来哪些好的新特性。

     让我们先把时间拨回到2019年...

     一、2019年.NET 5的提前剧透

       去年2019年 Richard提前剧透了.NET 5 https://devblogs.microsoft.com/dotnet/introducing-net-5/。这篇文章中,我们先回顾并画一下重点:

       1. NET Core 3.x之后会统一升级到.NET 5,一个统一的平台 A unified platform

           .NET 5 = .NET Core vNext

           直接跳过.NET Core 4, 原因是.NET Core 4.x和.NET Framework 4.*.* 会产生版本上的混淆,索性就直接.NET 5,

          .NET 5 名字中直接去掉了.NET Core,  为了统一.NET的命名,目标就是只有一个.NET, 

          统一一个运行时和框架,框架可以在任何地方运行,具备统一的运行行为和开发体验

          充分利用.NET Core、.NET Framework、Mono、Xamarin来扩展.NET 功能

          统一单个代码库,微软.NET 开发团队和社区共同维护、发展

      2. .NET 5 定位与Windows, Linux, macOS, iOS, Android, tvOS, watchOS and WebAssembly等全平台、全场景开发

          

      3. .NET 5的新特性

          Java互操作性将在所有平台上可用。

          在多个操作系统上将支持Objective-C和Swift的互操作性。

          CoreFX将得到扩展,以支持.NET的静态编译(ahead-of-time – AOT),更小的占用空间并支持更多的操作系统。

      4. 更高的吞吐量和生产效率

      5. 快速启动、更小的体积和内存使用

    二、2020年3月16日 .NET 5 Preview 1 released

      前几天,3月16号,Scott Hunter 在博客中发布了一个令人兴奋的消息,.NET 5 Preview 1 第一个预览版发布。

      https://devblogs.microsoft.com/dotnet/announcing-net-5-0-preview-1/

      博文中,Scott Hunter说:“.NET Core 3 has become the fastest adopted version of .NET ever and we’ve gained another million more users in just the last year.”,

                 翻译:“.NET Core 3成为有史以来最快采用的.NET版本,而仅仅在去年,我们又获得了100万用户。”

      这个数据强有力地说明了.NET Core的强大吸引力。同时.NET Core 3.1也是一个LTS版本,包括我们特来电在内的不少公司,都已经升级到了.NET Core 3.1这个版本。

      写到这,同时结合2019年的提前剧透,我们对.NET 5 的期待非常高,但是在这里,新发布的.NET 5 Preview 1, 大家要冷静一下,为什么呢?

    •    这是第一个预览版
    •    GA一般可用版本讲在2020年11月份发布
    •    目前看Preview 1的新特性有限

      接下来,我们详细研究一下.NET 5 Preview 1的新特性:

      1. 安装部署

       2. 升级现有项目

    <TargetFramework>netcoreapp5.0</TargetFramework>

       如果是ASP.NET Core项目

    • 将所有Microsoft.AspNetCore。*程序包引用更新为5.0.0-preview.1.20124.5
    • 将所有Microsoft.Extensions。*软件包引用更新为5.0.0-preview.1.20120.4

       3. ASP.NET Core 5.0 的更新

        貌似只修复和改进几个功能点和些许Bug......

        https://devblogs.microsoft.com/aspnet/asp-net-core-updates-in-net-5-preview-1/

    ASP.NET Core in .NET 5 Preview 1 doesn’t include any major new features just yet, but it does include plenty of minor bug fixes. 

       

       4. 正则表达式性能提升

          官方:我们尝试过的许多表达式中,这些改进通常可以使吞吐量提高3-6倍,在某些情况下甚至可以提高更多。

       5. RyuJIT中代码质量改进

         官方:每个版本都对JIT生成的代码进行了一系列性能改进。我们将这些类型的改进称为“ CQ”或代码质量。

       6. 程序集加载诊断添加到事件管道

         将程序集加载信息添加到事件管道。方便诊断分析程序集的加载情况(与.NET Framework一起使用Fusion Log Viewer的一部分)可以使用dotnet-trace通过以下命令来收集此信息:

    dotnet-trace collect --providers Microsoft-Windows-DotNETRuntime:4:4 --process-id [process ID]

       

       7. 事件管道探查器编程API

       事件管道是在.NET Core 2.2中添加的新子系统和API,可以在任何操作系统上执行性能和其他诊断调查。在.NET 5.0中,事件管道已得到扩展,以使探查器能够写入事件管道事件。

       这个类似于原来.NET Framework中往事件查看器中写事件的功能。比如说可以用到程序启动、关闭、Crash时的信息记录,方便程序问题跟踪、分析。

       8. GItHub仓库合并

      .NET 5中减少了用于构建和打包.NET 的GitHub存储库的数量。  代码合并了,统一了!

       dotnet /运行时(是dotnet / corefx,dotnet / coreclr和dotnet / core-setup)
       dotnet / aspnetcore(在aspnet组织中有多个存储库)
       dotnet / sdk(以前是dotnet / sdk,dotnet / cli)

       9. 然而,不包含.NET 5的一些高级目标(不详细展开说了,期待后续预览版本了)

       通过上面的梳理和整理,.NET 5 Preview 1, 大家期待不要太高,毕竟是第一个预览版。可以理解为合并现有代码、修复部分Bug,为.NET 5 打了个基线。

       我们可以继续等待并期待后续更新预览版和GA版本的发布。

       以上是.NET 5 Preview 1的深度解读和跟进。分享给大家。

    周国庆

    2020/3/23

  • 相关阅读:
    node
    github
    [模块] pdf转图片-pdf2image
    python 15 自定义模块 随机数 时间模块
    python 14 装饰器
    python 13 内置函数II 匿名函数 闭包
    python 12 生成器 列表推导式 内置函数I
    python 11 函数名 迭代器
    python 10 形参角度 名称空间 加载顺序
    python 09 函数参数初识
  • 原文地址:https://www.cnblogs.com/tianqing/p/12555235.html
Copyright © 2011-2022 走看看