靴子落地,期盼已久的.Net5终于来了!在3月16号正式发布了第一个预览版本。号称一统江湖的.Net5究竟为我们带来了什么,是人性的扭曲还是道德的沦丧,下面让我来为大家寻根溯源,娓娓道来!
(官网截图,微信扫码可获得配套环境安装)
.Net从辉煌走向落寞
.Net最初发布于2002年,语法优雅,IDE优秀,适用各式开发,当世第一微软背书,从发布之初就席卷全球,拥有了无数的拥趸,我也是早早入坑,持续至今。然而随着开源社区流行,移动互联网的兴起,.Net因为其封闭和仅支持window平台的局限,慢慢走向落寞。虽然Mono拯救了一部分,但是跨平台的硬伤一直未能解决。
(官网上展示的只有从3.5开始了)
开源跨平台蓬勃发展
2016年6月27号,一个值得被记住的日子,微软终于推出了.Net Core跨平台开发框架,然后在短短3年多时间,连推7个正式版本,开源社区也非常活跃,3.0版本成为历史最成功的的开发平台,3个月新增开发者过百万。
.NetCore的光鲜与隐忧
.NetCore平台有以下明显优势:
1
性能高效,碾压其他主流开发语言
2
适用性广,几乎能开发所有类型应用
3
免费开源,国内外社区一片活跃
4
跨平台,对Linux/MacOS官方友好支持
5
对容器友好,灵活部署,方便上云
但是光鲜之下,也有隐忧,最大的问题就是学习成本,迁移成本,升级成本。
1
从.Net Framework更名到.Net Core,完全割裂了两个技术栈,一方面公司还在用Framework,一方面还得学习Core,而且学习后还没法实战,学习成本太高。
2
由于底层架构不同,CLR不能共用,BCL也不能共用,导致原有产品一直不敢迁移,或者各种坑,迁移成本望而生畏。
3
框架升级快变化多,新东西层出不穷,不断的升级让企业迁移和个人学习也非常痛苦。
.Net5一统江湖
.Net5的诞生,就是为了解决上面的隐忧,后续将不在有.Net Framework和.Net Core的区别了,二者的common language runtime也统一了,BCL也是一致的,也就是以前咋写的代码,可以平滑迁移到新平台了,堪称福音!更让人惊喜的是,.Net5将直接兼容Xamarin移动开发,也就是你可以用你现在写网站的BCL直接去写IOS和Android的原生APP了。