我是十几年的.NET开发者,对.NET的历史发展比较了解,算是非常资深的了。
微软一向喜欢把开发者带到自己铺设的死路上,等开发者走到死路尽头的时候,会潇洒地再次铺设一条死路。
.NET Core优势是什么?好像最大的优势就是跨平台,可以运行在Linux上,总之给人的感觉是模糊不清的。这个优势对于java来说不值一提,但是对.NET开发者来说就比较麻烦了。.NET原先都是绑死在Windows平台上的,长期的开发积累也都运行在Windows上,非官方的Mono跨了平台也并不好用。
对于资深的.NET开发者来说,他们长期开发运行的程序都是在Windows上,他们不需要.NET跨平台,反而需要有更好.NET功能发挥在Windows上的优势;一些以前需要跨平台优势的.NET开发者早已经转了Java,他们更不需要.NET跨平台。
.NET Core是微软官方重点推广的技术,它对于.NET开发者影响很大,绝不是.NET开发者觉得没用就可以忽略的非官方项目,必须要对它有所反应。
现在,如果转向.NET Core,必须要付出精力学习这个对Windows开发无用的东西;部署了之后,必须要花更大的精力排查那些新框架因为不成熟导致的问题;最后,还要冒.NET Core不适应市场,最后沦为和SilverLight、UWP一样下场后,自己竹篮打水一场空的风险。
如果不转,会受到.NET Core开发的各种骚扰,比如领导要求你看,同事用.NET Core开发可能以后你接手,找工作时有的公司要求你会.NET Core;还要担心假如.NET Core以后成了.NET开发的主流,自己就会落后。
所以,最后会有三个结果,一是转.NET Core,二是继续不用.NET Core,三是干脆转Java或者其它平台,这三种情况相互作用会给.NET带来很大不利影响。再加上.NET Core其实是内斗型框架,它的实际竞争目标是.NET Framework,不会给.NET增加多少新的份额。所以.NET Core将促使.NET进一步衰落。