.NET 5.0 初识

  • .NET 5 的开始
  • .NET5,完成统一
  • DotNetdaily容器支持优势
  • .NET 5 优势
  • 总结

.NET 5 的开始

.NET5.0正式发布了!这是一个重要的版本—其中也包括了C# 5大量新特性和优秀的改进。微软和其他公司的团队已经在生产和性能测试环境中开始使用了。这些团队反馈的结果比较令人满意,它证明了对性能提升及降低Web应用托管成本的机会有积极的表现。
微软希望 .NET Framework .NET Core开发者能够迁移他们的代码和应用到 .NET 5.0 上,为明年发布的 .NET 6.0 将 Xamarin 开发者过渡到统一平台奠定基础。
很明显以后只会有一个.NET平台,NET 5.0是.NET Framework和.NET Core核心的结合,旨在统一.NET平台,微软将其描述为“.NET的未来”。

.NET5,完成统一

微软2019全球开发者大会上正式宣布的.NET5,其主要目标之一是提供一个单一的、跨平台的.NET 运行时和具有统一运行时行为和开发者体验的框架。在第一次宣布这个项目时,.NET 团队的程序经理 Richard Lander 强调了这个项目的重要性:

未来只会有一个.NET,可以支持 Windows、Linux、macOS、iOS、Android、tvOS、watchOS 和 WebAssembly,等等。我们将引入新的.NET API、运行时功能和语言特性作为.NET 5 的一部分。此外,我们想清楚地告诉大家,.NET 5 是.NET 平台的未来。

时至今日,.NE5 RC1发布,也同步发布了http://ASP.NET Core和EF Core的RC1版本,能看到各平台的打通,能看到底层CLR和BCL的通用,能看到多个方向的应用框架用法,跟.NET Core3.1的区别并不大。从2016年分裂的.NET Framework和.NET Core被.NET5完成了统一!

DotNetdaily容器支持优势

新的互联网技术时代已经来临了,容器、Kubernetes、DevOps、微服务、云原生才是技术前进的方向,其中容器技术属于基石。从.NET Core诞生直到.NET5 RC1,都能持续看到平台对容器技术的官方支持和适配改进,RC1里面还强调了有着更小的容器镜像。.NET5+Docker容器化后还有其他语言无可比拟的优势!

1 体积更小

.NET5的镜像体积都很小,alpine的镜像更小,带上应用程序也才80M,对于微服务分布式架构而言,更小的体积意味着更少的下载带宽,更快的分发下载速度。

2 占用资源更少

.NET5的CLR+默认http://ASP.NET Core框架页面启动后,仅需22M内存,同比Java8已经需要120M了,运行时资源占用也更低,意味着更高的部署密度和更低的计算成本。

3 启动速度更快

.NET5的 CLR启动速度非常快,而启动速度就意味着交付效率和回滚效率,在动辄数百个副本微服务时,启动速度就是个非常重要的特性。

4 容器感知,低配运行

.NET5 默认更好的支持Docker资源限制,官方团队也在努力让.NET5成为真正的容器运行时,使其在低内存环境中具有容器感知功能并高效运行,远超其他平台。

.NET 5 优势

1 开源跨平台
跟windows绑定和闭源,让.NET错失了移动互联网时代,当下.NET5对开源跨平台的支持可谓不遗余力:.NET5全面开源、收购GitHub、官方团队助力开源,不仅.NET5运行时支持各平台,甚至还专门提供了VS Code这一全新开发神器支持跨平台!全球500w的.NET开发者,其中有200W开始了跨平台,大量的项目运行在Linux,开源社区也极度火热,一切都预兆着,大势所趋!

2 极致性能
年初.NET Core3.1发布后,.NET Core性能和ASP.NET Core性能各种霸榜,下图是TechEmpower第19轮编程语言框架性能排行榜,ASP.NET Core排第6,Golang第29,Java,34,NodeJS第73,PHP第348,换言之是主流Web框架中排名第一的存在!.NET5发布的日志中明确声明,相对于.NET Core3.1,.NET5性能再度提升。

3 按需使用
尝试下ASP.NET Core开发,都会发现一个特征:框架里面移除了很多默认组件,最典型的就是Session都没有了,用的话需要自行配置中间件,随处可见各种扩展方法以分离组件,无处不在的IOC,这些都是为了最小化框架设计,让程序能够按需去加载需要的东西,去掉多余的,做到Pay-For-What-You-Use。

4 能屈能伸
现代化的终端设备变得越来越丰富,既有高性能的服务器,也有低配的便携设备,甚至在云环境下,大的服务器也需要拆分成小的资源体来使用,全新设计的.NET5,既能在高配服务器上以高性能模式运行,管理大量内存、使用大量CPU资源、保持高并发和高可用,也能在各种低配终端和低资源容器内正常运转,真心666!

5 顺应大势
移动互联网的大潮.NET错过了,而当下互联网的大潮就是微服务云原生,.NET5占据先机。最小的ASP.NET Core镜像只有80多M,这意味着更快的分发部署;毫秒级内完成冷启动,这意味着更高的交付效率和回滚效率,运行时低资源诉求,这意味着更高的部署密度和更低的计算成本。

6 新技术红利
经过.NET Framework和.NET Core的4年双线并行,到现在终止Framework版本更新,倒逼企业和开发者跟进最新.NET5,新框架新平台都是汲取前任智慧,结合当前技术的产物,毋庸置疑具备着先进性!当下.NET的最好选择就是最新版本,不用考虑LTS问题,平台本身保持着兼容,开发者可以充分享受新技术红利,相对于停滞在Java8,简直不要太优秀!

7 微软决心
最后就是微软对.NET5的决心了,从Build2020对开发者的重视,到Conf2020对中国.NET社区的重视,从长远的.NET版本规划(2021年.NET6,2022年.NET7),到对社区各种.NET开源项目的支持和鼓励,微软是真的走上了一条全新路线,让全球500w.NET开发者一起来发展.NET,何其有幸!

总结

总而言之 .NET 5 跨平台,性能强,更适合新时代,特别是强大和性能和按需加载的小镜像包与容器技术特别般配。

我个人技术学习到了需要选择一个技术方向,之前我还在纠结是否转回 JAVA Spring全家桶,但是最近两年我主要都是使用.NET C# 作为主要开发语言,加上.NET5的发布与今年MS的发力,所以我还是决定继续跟着MS老哥混社会,学习.NET 5,而后学习MS的Cloud,去通过MS认证。

这个教程我会从头开始写,以C#作为开发语言学习,大概思路是:

第一步:
介绍学习 .NET 中常用的Web技术,比如:WebAplication/MVC/ API等。
补充介绍C#特性和其他技术原理,比如:C#语言特性/Http协议/RestFul规范等。

第二步:
介绍学习以ABP为主的各种框架和技术,比如:AOP IOC ORM等
补充介绍Auth2.0/领域设计/数据库技术等。

第三步:
介绍学习Vue.js的开发
补充介绍Vuetify和Element组件的使用和Android移动端H5的开发。(以前写的应用是原生,但是现在我已经放弃了,精力有限)

第四步:
以微服务,Redis,Docker,Linux为主的开发学习。
补充微信小程序开发/PAAS/虚拟化/负载均衡等技术介绍。

希望与我有相同目标的各位一起加油!

.NET5.0 初始相关推荐

  1. BCVP第2期:项目已完成升级.NET5.0

    (是时候拿出来这种图了) 1 开心的锣鼓 想必这两天最热闹的几个词语,就是c#9.0..net5.0还有conf大会了吧,当然还有大一统. 其实,早在2019年年中,就已经引入了.NET5.0了,然后 ...

  2. .NET5.0 单文件发布打包操作深度剖析

    .NET5.0 单文件发布打包操作深度剖析 前言 随着 .NET5.0 Preview 8 的发布,许多新功能正在被社区成员一一探索:这其中就包含了"单文件发布"这个炫酷的功能,实 ...

  3. .NET5.0 Preview 8 开箱教程

    .NET5.0 Preview 8 开箱教程 前言 首先,看到 .NET5.0 Preview 8 发布后,作为一枚基层应用开发人员,很想要体验一下新版本的魅力:这可能就是程序员对新技术的一种执着吧. ...

  4. 基于 .Net5.0 的快速开发框架,YuebonCore1.0.3 版已发布

    YuebonCore V1.0.3版已经发布,YuebonCore基于.Net5.0的权限管理及快速开发框架,前后端分离,核心模块包括:组织机构.角色用户.权限授权.多系统.多应用管理.定时任务.业务 ...

  5. .Net5.0 微服务之服务注册与发现(Consul)

    分布式结构,应用服务就不能是单个应用,必须得提供多个,相当于是这个服务的集群(单独一个服务坏了,不影响其他服务继续提供服务). 那么基于这个应用服务的集群管理,就是服务注册与发现服务. 它主要是用来管 ...

  6. 反恐精英模组 csJKL v1.6.a.0 初始版发布

    反恐精英cs模组 csJKL v1.6.a.0 初始版发布: 游戏简介: csJKL mod v1.6 是由 csJKL大军 原创改版开发的cs1.6模组(mod), 本次发布的为多武器8个o4威力加 ...

  7. C# Vs2019 发布跨平台程序包,使用net5.0框架

    net5.0 不是LTS版本,建议以后可以使用 微软出的net6.0 .根据官网上的及其民间说法 net5.0 实际就是netcore的 后续, 传统的net framework 将不再更新(已死) ...

  8. 用事实说话,成熟的ORM性能不是瓶颈,灵活性不是问题:EF5.0、PDF.NET5.0、Dapper原理分析与测试手记...

    [本文篇幅较长,可以通过目录查看您感兴趣的内容,或者下载格式良好的PDF版本文件查看] 目录 一.ORM的"三国志"    2 1,PDF.NET诞生历程    2 2,Linq2 ...

  9. 用事实说话,成熟的ORM性能不是瓶颈,灵活性不是问题:EF5.0、PDF.NET5.0、Dapper...

    为什么80%的码农都做不了架构师?>>> 目录 一.ORM的"三国志"    2 1,PDF.NET诞生历程    2 2,Linq2Sql&EF:    ...

最新文章

  1. Dataguard - 通过主库热备方式创建容灾库
  2. 关于我的51CTO博客
  3. ASP:当 request.cookies 发生 Microsoft VBScript 运行时错误 (0x800A000D) 类型不匹配: '[string:...
  4. idea 2019.2 版本更新(最顶部从白色边框变为黑色边框)
  5. R: ggplot2(1)
  6. SAP CRM WebUI上Opportunity reason字段的后台配置
  7. MYSQL:如何正确高效的使用 MySQL 索引?
  8. eclipse导出doc,文件夹为空
  9. 关于项目管理的一点体会
  10. Java中拦截器和过滤器的声明用途和区别
  11. cublas中执行矩阵乘法运算的函数 首先要注意的是cublas使用的是以列为主的存储方式,和c/c++中的以行为主的方式是不一样的。处理方法可参考下面的注释代码
  12. 圆柱表面积在线计算机,体积计算器在线计算
  13. 商业云平台和开源云平台
  14. 笔记本一直提示计算机内存不足怎么办,电脑总是提醒内存不足怎么办,电脑提醒内存不足-...
  15. Java-dao模式
  16. 中级Java 程序员 — 2020
  17. git 修改远端 commit 信息
  18. 精读《设计模式 - Adapter 适配器模式》
  19. 认识路由器与交换机,在常见的企业组网中起什么样的作用呢?
  20. MFC将窗口的关闭键(叉叉)变为不可用/可用

热门文章

  1. 你的团队为什么成长慢
  2. wan口设置已断开(服务器无响应),无线路由器wan口设置显示已断开
  3. 点击按钮返回数组 ages 中所有元素都大于输入框指定数值的元素和 $set()
  4. 用户登录撞库与bean作用域问题
  5. Unsupported major.minor version 51.0 (unable to load class ……)解决办法
  6. 初中计算机考试的题型,教师资格证考试中学信息技术科目题型及分值分布,快看!...
  7. 不正确的c语言语句是,【单选题】下列不正确的C语言语句是( )。 A. x=y=5; B. x=1,y=2; C. y=int x; D. x++;...
  8. 如何利用Social Listening从在线社区提炼有价值的信息
  9. Qrious生成图片二维码
  10. 以下计算机的分类 不正确,按CPU芯片可分为单片机、单板机、多芯片机和多板机...