.NET Core 2.1来了!

太棒了!

.NET Core 2.0正式发布至今已通过去了大半年,这大半年说长不长说短不短,这段时间里,我是充分地体会到了微软的诚意,那就是认认真真打造一个优秀的开源平台。这大半年的时间里,微软一直在为.NET Core发布新的更新,每次都进步一点,日积月累至今,终于发布了.NET Core 2.1,这是一个重大的改进版本。
 
.NET Core 2.1的发布时间是2018年5月30日,但考虑到和西雅图的14个小时的时差,咱们这边的时间应该是5月31日了,而我是获得这个消息后就直奔下载,阅读更新日志,并把这个最新的框架,应用于目前的项目中,一切很是顺利,中间仅仅遇到了点小问题,但很轻松就解决了。跟以前的修修补补相比,这个2.1版本是实实在在给我带来了一些惊喜:
  1. 编译性能大幅度提高,编译并发布代码确确实实地快了,此次真没有吹牛;
  2. ASP.NET Core的响应速度有了显著提高,打开网页速度“刷刷刷”,程序在个人Macbook上也“大步流星”;
  3. 以前编译的时候会出现一些警告和错误信息,(在官方论坛上肯定是编译器的bug)如今都没有了,修正了;
  4. 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):
 
在你的项目配置中,将Target Framework设置为.NET Core 2.1,完成!
 
 

一些感触

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吧),这些才是真正的生产力工具,要知道,IDE功能越强大,运行越缓慢,君不见,IDEA的用户也整天哭慢?相信我,后面对你生产力的提升确定对得起你对硬件的这点投入。Visual Studio现在已经十分强大,甚至以前一些不属于“微软系”的技术也开始被支持了,如直接支持Python、Node.js、Linux C++、Android(基于Xamarin)等开发技术,即使你以前认为反对微软是技术的政治正确,如今尝试下Visual Studio,我相信你必定不会后悔。
 
我不知道还要说什么,零零碎碎的一点感触吧。但愿.NET Core发展愈来愈好吧。