.NET5 它来了!微软大一统时代来临!
今天双11,Microsoft released.NET 5(在他们的开发博客上同时发布)。新版本的重点是改进。NET Core 3.1: 更小的单文件应用程序、对 Windows ARM64的支持以及更强大的 JsonSerializer api 是。NET 5,以及许多可观的性能改进。新的主要语言版本(c # 9和 f # 5)也是本版本的一部分。
统一的平台愿景也得到了微软首席项目经理 Richard Lander 的加强。NET Core.然而,尽管最初的范围发生了变化,。NET 5带来了许多改进。NET Core 3.1,以及一些新特性。这个版本中最相关的特性之一是增加了对 Windows ARM64的支持,支持。NET 在这些平台上本地运行。因此,像 Surface Pro x 这样的设备将能够运行 Windows 窗体、 WPF 和 ASP.NET Core 应用程序。
此版本的另一个重要特性是改进了单文件应用程序。单文件应用程序作为单个文件发布和部署,其中包括应用程序及其所有依赖项。它们也可以是自给自足的,这意味着它们有自己的。NET 运行时——这对于依赖于特定运行时版本的应用程序来说尤其有趣。.NET 5带来了更小的单文件应用程序,具有更高的内存使用效率,并且“更适合跨各种操作系统的微服务包含的应用程序”(如 Hunter 所说)。然而,必须注意的是,单文件应用程序在。NET 5主要关注于 Windows 下的 Linux 应用程序,macOS 仍然需要额外的文件(本地运行时二进制文件)。这种情况将在年重新审视。
NET 6…NET 5还包括不同领域的性能改进: 垃圾收集器(GC)得到了相当大的改进,提高了收集效率,改进了具有较高核心计数的计算机上的可伸缩性,以及许多其他微优化。该版本还为实时(JIT)编译器提供了一个新版本,包括改进的硬件内部函数(包括 ARM64)和 API 优化。罗斯林。NET 编译器平台用于编译 c # 和 Visual Basic 代码到直译语言-也得到了改进,引入了新的注重性能的分析器和 c # 源代码生成器。Source Generators 允许开发人员检查用户代码并生成可以添加到编译中的新源文件。在某些场景中,它们可以用来替换运行时反射调用和 IL 编织。
其他相关的绩效改进。NET 5包括: 正则表达式、 HTTP 1.1请求处理、 HTTP/2伸缩和字符串模式。对已经移植到的 JSON API 进行了重大的改进。3.1,但是。NET 5提供了一个更好的 JsonSerializer,具有改进的集合处理和新的缓存层。gRPC 框架也受到了特别的关注: 微软的基准测试显示了相当大的性能提升。NET Core 3.1(服务器快60% ,客户端快230%)。由于 gRPC 使用 HTTP/2作为其底层协议,新的 HTTP/2实现也部分地负责观察到的性能提高。谷歌的相关变化。Protobuf 软件包——例如增加对 modern 的支持。NET IO 类型(Span < t > ,ReadOnlySequence < t > ,和 IBufferWriter < t >)也直接影响到 gRPC 的性能。所有性能改进的全面清单。NET 5可以在这里找到。
新版本还包括缩小容器图像大小、新的容器 api 和新的目标框架名称。在。NET 5中指定了目标框架。具有 Target Framework Monikers (TFMs)的 csproj 项目文件,这些文件是用于识别项目所针对的 api 集的简短代号:
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net5.0</TargetFramework>
</PropertyGroup>
Net Core 框架也收到了新的特性、性能改进和兼容性修改。新功能包括微软的 Azure AD 认证。身份。在 SignalR 中支持并行的 hub 调用,在 ASP.NET Core API 项目中支持缺省的 Open API 规范(Swagger)。Blazor WebAssembly 的性能改进主要集中在复杂的 UI 呈现(组件虚拟化和预呈现)和 JSON 序列化。因此,Blazor WebAssembly 在。NET 5在大多数情况下比 Blazor WebAssembly 3.2快2-3倍。
最后,还有许多相关的语言更新。NET 5: c # 9专注于程序的简单性和数据不变性,带来了一些新特性,如 Records、顶级语句和改进的模式匹配。F # 5还带来了许多性能改进和两个高要求的新特性: 内插字符串和开放类型声明(类似于 c # 中的打开静态类)。5在 Jupyter notebook、 nteract 和 VSCode Notebooks 中也得到了完全支持。正如预期的那样,开发工具链也得到了更新: Visual Studio 16.8 for Windows 今天也发布了。NET 5已经包含在内) ,现在两者都支持 ClickOnce 应用程序部署。NET Core 3.1和。
根据微软的说法,。NET 5已经准备好部署到生产环境中:。NET 网站和必应网站一直在运行。NET 5自从第一个预览版发布以来,它也“已经被微软和其他公司的团队在生产和性能测试中积极使用” ,正如官方发布说明中所说。的完整发行说明。NET 5可以在这里找到,还有一个全面的列表,列出了从。3.1 to.NET 5——包括一个支持 WinRT api 的新模型——可以在这里找到。第一次预演。NET 6预计将在今年年底推出。水流。NET 开发路线图可以在这里找到。
.NET5 它来了!微软大一统时代来临!的更多相关文章
- “后PC”时代来临
“后PC”时代来临 数年前,喜达屋酒店及度假村国际集团将总部搬迁至美国康涅狄格州斯坦福,这也让公司首席执行官Frits van Paasschen有机会“除尘换新”. 那么,Frits van Paa ...
- 2018年末--积极拥抱h5.转载 大前端时代来临,我们何去何从?
1.大前端时代是什么? 大前端时代是WEB统一的时代,利用html5或者6甚至7,不但可以开发传统的网站,做炫酷的网页动态效果,更可以采用BS架构应用程序.开发手机端web应用.移动端Native应用 ...
- 火云开发课堂 - 《使用Cocos2d-x 开发3D游戏》系列 第一节:3D时代来临!
<使用Cocos2d-x 开发3D游戏>系列在线课程 第一节:3D时代来临.Cocos2d-x程序猿的机遇和挑战! 视频地址:http://edu.csdn.net/course/deta ...
- 5G商用时代来临!这些产业将发生变革
5G商用时代来临!这些产业将发生变革 值得注意的是,在获得工信部发放的5G网络试验频率后,三大运营商已在各大城市建设5G基站,开展5G外场测试.华为亦适时表示,已经在中国40多个城市与中国三大运营商开 ...
- 4G时代来临,运营商为谁搭台献唱?
4G时代已然来临.对用户而言,4G意味着更快的传输速度,以及更优质的移动网络体验. 只是对运营商而言.怎样部署4G却成了一大难题.众所周知,在全球范围内,4G LTE成为眼下最率先的移动宽带解 ...
- 为什么台湾人工智能可能抢输大陆?(XPU时代来临)
到了 2020 年,每 3 支手机,就会有一支内建有 AI 芯片. 但目前浮出水面的 AI 芯片新创,几乎都是大陆公司. 为什么台湾这回选择缺席? 「我听说 CPU.GPU,没有听过 NPU? 」11 ...
- 5G将会是量变到质变的新科技时代
马斯洛需求分为5层,最底层的需求是温饱,过去几十年都无人反驳,但随着科技的发展,人类最基本最底层的需求已经不再是温饱,而是手机和WIFI,当然,这只是网友的调侃罢了,但也从侧面反映出了手机和WFI网 ...
- 连接的世界 - LTE时代产业趋势和战略分析
连接的世界 - LTE时代产业趋势和战略分析 作者:华为有线技术公司李常伟 2014-09-22 信息产业发展解放的核心是这个世界连接的方式.由语音到数据.由通信到情感.由人的连接到物的连接.由“哑” ...
- 5G时代
电信语音承载在CDMA2G网络--所以2G基本没有网络 网络走fdd4g 如果5G时代来临,4g网络可能就会像3G一样的慢
随机推荐
- Jenkins 持续集成实现 Android 自动化打包
打 debug 包流程: git pull 分支最新代码 Android Studio:Build - Generate Signed APK 从 IDE 里可以看到,实际上该操作是执行了 assem ...
- 还在使用Future轮询获取结果吗?CompletionService快来了解下吧。
背景 二胖上次写完参数校验(<二胖写参数校验的坎坷之路>)之后,领导一直不给他安排其他开发任务,就一直让他看看代码熟悉业务.二胖每天上班除了偶尔跟坐在隔壁的前端小姐姐聊聊天,就是看看这些 ...
- hive向es推送数据
第一步:首先要保证网络是通的,很多公司里子网遍布,要和运维和工程侧同事确认好网络是通的,es的地址可以通过curl es地址的方式测试一下. 第二步:下载需要的jar包,必须的是es-hadoop的包 ...
- java零基础之---常见java面试题
看到别人分享的面试题,感觉蛮全面的,分享出来,慢慢研究答案. 一.Java 基础 1.JDK 和 JRE 有什么区别? 2.== 和 equals 的区别是什么? 3.两个对象的 hashCode() ...
- 编写高质量JAVA代码之让接口的职责保持单一
上述标题读者朋友应该也注意到了是让接口的职责保持单一,而不是实现者单一. 设计模式六大原则之单一原则: 定义 不要存在多于一个导致类变更的原因.**通俗的说,即一个类只负责一项职责. 下面以一个电话模 ...
- Java图片的灰度处理方法
通过看网上各种大牛的总结,和自己亲身测试总结一下Java图片的灰度处理方法 (1)我们熟知的图片中的像素点有RGB值. (2)图片灰度化的方式大概分为四种,第一种是最大值法(取颜色RGB中的最大值作为 ...
- python 文章集合
Python profiling tools 我常用的 Python 调试工具
- ElasticSearch教程——filter与query对比(转学习使用)
一.数据准备 PUT /company/employee/2 { "address": { "country": "china", &quo ...
- Redis集群搭建与简单使用【转】
Redis集群搭建与简单使用 安装环境与版本 用两台虚拟机模拟6个节点,一台机器3个节点,创建出3 master.3 salve 环境. redis 采用 redis-3.2.4 版本. 两台虚拟机都 ...
- 切换用户后whoami打印用户的问题
问题: 为何第二个whoami打印的还是root? root@localhost /]# [root@localhost /]# [root@localhost /]# more test.sh #! ...