太棒了!
.NET Core 2.0正式发布至今已经过去了大半年,这大半年说长不长说短不短,这段时间里,我是充分地体会到了微软的诚意,那就是认认真真打造一个优秀的开源平台。这大半年的时间里,微软一直在为.NET Core发布新的更新,每次都进步一点,日积月累至今,终于发布了.NET Core 2.1,这是一个重大的改进版本。
.NET Core 2.1的发布时间是2018年5月30日,但考虑到和西雅图的14个小时的时差,我们这边的时间应该是5月31日了,而我是得到这个消息后就直奔下载,阅读更新日志,并把这个最新的框架,应用于目前的项目中,一切非常顺利,中间仅仅遇到了点小问题,但很轻松就解决了。跟之前的修修补补相比,这个2.1版本是实实在在给我带来了一些惊喜:
- 编译性能大幅度提升,编译并发布代码确确实实地快了,这次真没有吹牛;
- ASP.NET Core的响应速度有了显著提升,打开网页速度“刷刷刷”,程序在我的Macbook上也“健步如飞”;
- 之前编译的时候会出现一些警告和错误信息,(在官方论坛上确定是编译器的bug)现在都没有了,修正了;
- ASP.NET Core提供了一些新的Tag及帮助方法,很有用;
当然了,改变绝对不止我提到的这几点,这几点仅仅是我能直接感受到的,其它的更新信息请参考:
https://blogs.msdn.microsoft.com/dotnet/2018/05/30/announcing-net-core-2-1/
微软宣称性能有了很大提升,我点我还没去实证,但从ASP.NET Core的响应速度提升来看,应该是真的。
在确定踩平了可能的“坑”之后,我很快将这个新的框架应用于公司的生产环境中了,一切顺滑,而距离正式发布都没超过20个小时,于是我在同事中吹牛说:我们用的技术是最新的!
要使用这个新的开发平台,只需要下载最新的.NET Core SDK 2.1.300并安装,其实.NET Core SDK 2.1.x早就有了,但有点误导人的是,这些2.1.x SDK一直没办法将Target Framework设置为.NET Core 2.1,只能设置为2.0,直到2.1.300才可以。这个下载地址上也能看出来,为什么这样安排我也不懂:
https://www.microsoft.com/net/download/all
装好后命令行敲>dotnet --version,确保显示的是2.1.300,大功告成。
理论上只要有SDK就可以开干了,你甚至只用vim或记事本都可以做项目,然而现实中我们还是得借助强大的Visual Studio 2017集成环境,为此,VS2017也要升级一下,升级方法如下图,打开Notifications面板,然后就不需要我说了(注:需要的版本为15.7.x):
![](https://images2018.cnblogs.com/blog/379997/201806/379997-20180602164910179-1696231460.png)
在你的项目配置中,将Target Framework设置为.NET Core 2.1,完成!
![](https://images2018.cnblogs.com/blog/379997/201806/379997-20180602164859144-1919734598.png)
一些感触
2014年初,我离开我的工作单位和朋友一起搞了一个互联网项目,当时在技术选型的时候我就考虑到底是用什么?纠结了好一阵子。最后选择Java,原因是:Java编译型强类型语言,成熟可靠社区力量大,关键跨平台,用起来非常习惯,且Android开发用的也是Java,到时候不用搞两套人马。然而,别忘了,那时候.NET Core还在娘胎中,甚至还不叫.NET Core这个名字,.NET有一个叫Mono的开源项目,可并没有得到微软官方的支持,如今回头看这个事情,我100%会选择.NET Core而不是Java,且我当时的观点还有些不正确——即便Android用的是Java语言,服务器端开发与Android端开发还是需要两套人马。
关于.NET与Java之争,其实十几年来一直没间断过,当然高手们对此非常不屑,其实我一般也不怎么提起这个事情,但要是谁说起,我也不回避谈谈,技术这个东西有时候“吵吵才热闹”,有好些东西在和别人“交流”前,自己根本就没听说过。现在的公司,也曾经考虑过将.NET换成Java,当时我也和别人争论过,我是持反对意见的,原因就是公司主要力量在.NET上,虽然Java与.NET很像,但又确确实实有很多不同,切换过去是一大工程,我们的开发人员要重新熟悉环境,且Java语言是相对C#难用的,C#的语法特性简直堪称完美,我们应该继续留在.NET体系,我进一步说:“Java能做的,.NET都有对应的实现。”反对者则很不屑:“.NET有什么好的开源报表库么?”我确实有点愣住了,从这点看,我的对手确实将了我一军,但这并不妨碍我们继续使用.NET,我后来不断完善和改进我们的“武器库”, 使得我们的框架日趋完善,适应公司的业务需求。而我坚持使用.NET还有另一个原因,就是.NET Core那时候已经处于整装待发的状态了!那时候RC版已经出来,我当然马上抢先体验了一把,甚至尝试把一个小程序移植过去,但我很快发现这个版本确确实实有些欠缺,导致移植并不怎么顺利,我想,根据微软一贯的风格,1.0通常是个很不完善的版本,2.0则基本完善,2.0后续的小版本则趋于成熟,.NET Core也是一个道理,所以我没有立即做全面迁移,但一直关注着.NET Core的发展,直到去年8月2.0正式发布,这真振奋人心。
使用.NET Core的还有另一个重大理由——Visual Studio,坊间把它称作宇宙第一的IDE,反对的人不多。我用过许多IDE,如Eclipse,IDEA,Android Studio,XCode,NetBeans,以及很古老的VC++6等,最强大和好用的还是Visual Studio。如果你觉得VS慢,通常是因为你的电脑太旧,你得配备一台强悍的电脑,花点钱弄上去,或者说服老板给你配台新机,这才是最省时省力的姿势,强大的CPU(所以一般我不推荐笔记本电脑),16G以上的内存,固态硬盘是必须的(考虑使用最新的Optane SSD吧),这些才是真正的生产力工具,要知道,功能越强大,运行越缓慢,君不见,IDEA的用户也成天哭慢?相信我,后面对你生产力的提高肯定对得起你对硬件的这点投入。Visual Studio如今已经十分强大,甚至之前一些不属于“微软系”的技术也开始被支持了,如直接支持Python、Node.js、Linux C++、Android(基于Xamarin)等开发技术,即便你之前认为反对微软是技术的政治正确,现在尝试下Visual Studio,我相信你一定不会后悔。
我不知道还要说什么,零零碎碎的一点感触吧。希望.NET Core发展越来越好吧。