北京时间今天凌晨如期在.NET Conf 上发布.NET Core 3.0,Keynotes 由Scott Hunter 主演,主要围绕.NET Core 3.0的新特性和社区展开。
多功能性是.Net Core 成为我们的生活一部分的最好解释。如果您是Web开发人员还是想开发桌面或移动应用程序,如果您是游戏开发人员或想要从事机器学习,.NET Core就在您身边。
Xamarin 使得我们使用Microsoft知识开发跨平台移动应用程序,Unity用于开发游戏。您还可以使用UWP 构建桌面应用程序 。Asp.net Core也是开发功能强大的基于Web的应用程序的主要参与者,提供了惊人的SPA Angular模板以及SignalR的实时应用程序等等。
云原生计算的发展驱动着各个企业转向遵循云原生原则(启动速度快、内存占用低)的 .NET Core。.NET Core 对Docker容器的支持非常好,这使您可以轻松地将应用程序部署到云端,您只需单击几下即可在云上进行开发和部署。
ML.NET 是面向.NET开发人员的机器学习框架,当我们谈论微软 Azure中的认知服务时,我们真的在谈论商品化的AI(人工智能),ML.NET 赋予我们的应用程序员AI能力。
Blazor 也将接管一些JavaScript功能,不需要懂 AngularJS, React, Vue, 充分利用 .NET 的稳定性和一致性,让我们成为全栈的Web开发人员。
.NET Core吸引人的功能还有很多,像高性能,开源,宇宙第一的开发人员工具等等。
.NET Core 从2016年发布1.0 到现在的3.0, 已经有非常多的客户在使用,在国内网易,腾讯是大家比较熟悉的大公司,微软自己的搜索引擎bing 和dot.net网站 已经升级到最新的.NET Core 3.0,博客园也使用.NET Core 3.0完成了.NET向.NET Core 的升级。可以说.NET Core已经经过了血雨历练,如果是.NET 1.0/2.0还在犹豫,那么现在可以大胆升级到.NET Core 3.0,有众多的合作伙伴也提供了很多支持工具和控件.关于.NET Core 3.0 官方博客https://devblogs.microsoft.com/dotnet/announcing-net-core-3-0/,同事也发布了Visual Studio 2019 16.3 https://devblogs.microsoft.com/visualstudio/dot-net-core-support-in-visual-studio-2019-version-16-3/ 和 Visual Studio 8.3 for mac https://devblogs.microsoft.com/visualstudio/visual-studio-2019-for-mac-version-8-3/
.NET Core 的诞生背景是在云原生应用的开发,.NET Core对微服务的支持一流,昨天我特意写了一篇文章《进击的.NET 在云原生时代的蜕变》,特别是k8s 让.NET Core如虎添翼。
- 体积更小:对于微服务分布式架构而言,更小的体积意味着更少的下载带宽,更快的分发下载速度,.NET Core 的镜像体积都很小,alpine的镜像更小,带上应用程序通常80M。
- 启动速度更快:对于传统单体应用,启动速度与运行效率相比不是一个关键的指标。原因是,这些应用重启和发布频率相对较低。然而对于需要快速迭代、水平扩展的微服务应用而言,更快的的启动速度就意味着更高的交付效率,和更加快速的回滚。尤其当你需要发布一个有数百个副本的应用时,缓慢的启动速度就是时间杀手。对于Serverless 应用而言,端到端的冷启动速度则更为关键,即使底层容器技术可以实现百毫秒资源就绪,如果应用无法在 500ms 内完成启动,用户就会感知到访问延迟。这里我拿AWS Lambda来举例,因为各大云厂商都是以AWS是模仿的目标,AWS Lambda中可用的所有语言都是高级的,而不是像Assembler,C / C ++或Objective C那样。从脚本语言到JavaScript和Python,再到像Java和C#到Go这样被编译为二进制文件的托管运行时的语言,所有语言都是他们有自己的长处。在基准测试中,最重要的.NET Core是 冠军,具体参看https://react-etc.net/entry/aws-lambda-benchmarks-node-js-python-java-c-go-dotnet-core
- 占用资源更少:运行时更低的资源占用,意味着更高的部署密度和更低的计算成本。.NET Core的 CLR启动速度非常快,降低启动时资源消耗,可以减少资源争抢,更好保障其他应用 SLA。
- 支持水平扩展:.NET Core 3.0默认更好的支持Docker资源限制,官方团队也在努力让.NET Core成为真正的容器运行时,使其在低内存环境中具有容器感知功能并高效运行。 具体可以参看文章《从CLR GC到CoreCLR GC看.NET Core对云原生的支持》,随着内存成本的下降和虚拟化的流行,大内存配比已经成为趋势。所以我们一般是采用水平扩展的方式,同时部署多个应用副本,在一个计算节点中可能运行一个应用的多个副本来提升资源利用率。
ASP.NET Core 3.0已经演变成为了一个全栈开发平台,grpc + worker servie + Web Apis + Identity。 微软的.NET团队直接参与了gRpc ,Identity Server4,Swagger相关项目的开发工作,他们和asp.net core可以完美集成。
.NET Core 3.0 下载 https://dotnet.microsoft.com/download
内容丰富多次,最后放上视频,视频我已经放在腾讯视频上。