.Net Core 是微软推出的一个参考.net framework重新开发的.NET实现,它是未来的所有.NET平台的基础。随着.NET Core Framework的开发完成,.net framework与Mono将基于.NET Core重新构建。.NET Framework将成为.NET Core在Windows上的一个发行版,Mono将成为.NET Core的一个跨平台发行版。需要的朋友可以下载试试!
.NET Core 是一个开源的、跨平台的 .NET 实现,是新一代.NET的基石,支持Windows, Linux, macOS, 以及Docker。
.net平台三大件:
1、C#语言,也就是ECMA-334,这是天生跨平台的,C#的附带内容,你应该彻底的明白公共运行时(CLR)。CLR以及公共语言基础(CLI)标准在ECMA-335中有定义,这也是CLR标准。
2、Visual Studio,这是天生不能跨平台的,Mono有Xamarin studio;
3、.NET Framework基础类库。如果.NET Framework基础类库不能跨平台,没人会关心.NET的跨平台。所以微软不得不投入大量精力去开发全新的.NET Core Framework(就是现在github上的httPS://github.com/dotnet/corefx ),一边将.NET Framework中有用的代码搬过来,一边根据跨平台的需求重新实现。
从上面的分析,.NET跨平台的最大障碍就是基础类库的跨平台,由此也可以看出.NET基础类库的重要性。Mono也是在基础类库的实现上存在瑕疵,比如对WPF,WCF等框架的支持上不完善。像WPF这样的用户界面开发技术,各个平台上都有自己的原生开发库,用户界面应用原生开发,iOS应用应该用iOS的用户界面库才会让人觉得在iOS上最合适,.NET应用应该用微软的Windows用户界面库。
更新介绍
微软宣布 .NET 6 已正式推出,并称其为迄今为止最快的 .NET 版本。
.NET 6 亮点:
使用微软服务、其他公司运行的云应用程序和开源项目进行了生产压力测试。
作为最新的长期支持 (LTS) 版本支持三年。
跨浏览器、云、桌面、IoT 和移动应用程序的统一平台,所有应用程序都使用相同的 .NET 库和轻松共享代码的能力。
性能全面提升,尤其是文件 I/O,减少了执行时间、延迟和内存使用。
C# 10 提供了语言改进,例如记录结构、隐式使用和新的 lambda 功能,同时编译器添加了增量源生成器。
F# 6 添加了新功能,包括基于任务的异步、管道调试和众多性能改进。
Visual Basic 在 Visual Studio 体验和 Windows 窗体项目打开体验方面进行了改进。
热重载使用户可以跳过重新构建和重新启动应用程序以查看新更改 —— 在 Visual Studio 2022 和 .NET CLI中支持,适用于 C# 和 Visual Basic。
云诊断已通过 OpenTelemetry 和 dotnet 监视器得到改进,现在在生产中得到支持,并且可用于 Azure 应用服务。
JSON API 更强大,具有更高的性能,带有序列化程序的源生成器。
ASP.NET Core 中引入了最少的 API,以简化入门体验并提高 HTTP 服务的性能。
Blazor 组件现在可以从 Java 呈现并与现有的基于 Java 的应用程序集成。
用于 Blazor WebAssembly (Wasm) 应用程序的WebAssembly AOT编译,以及对运行时重新链接和本机依赖项的支持。
使用 ASP.NET Core 构建的单页应用程序现在使用更灵活的模式,可以与 Angular、React 和其他流行的前端Java 框架一起使用。
添加了 HTTP/3,以便 ASP.NET Core、HttpClient 和 gRPC 都可以与 HTTP/3 客户端和服务器交互。
File IO 现在支持符号链接,并通过重新编写的 FileStream 大大提高了性能。
通过支持 OpenSSL 3、ChaCha20Poly1305 加密方案和运行时深度防御缓解措施,特别是 W^X 和CET,安全性得到了提高。
可以为 Linux、macOS 和 Windows(以前仅适用于 Linux)发布单文件应用程序(免提取)。
IL 修整现在更加强大和有效,新的警告和分析器可确保正确的最终结果。
添加了源代码生成器和分析器,可帮助用户生成更好、更安全和更高性能的代码。
源代码构建使 Red Hat 等组织能够从源代码构建 .NET,并向其用户提供自己的构建版本。
评论(0)