微软为什么拥抱开源?以.net core为例

微软为什么拥抱开源?.net core是微软近几年开源的跨平台产品。众所周知,.net framework是一个以.net library为基础类库构造的平台,可以运行C#等多种语言的应用程序。而.net core与.net framework的关系,前者就像后者的阉割版。这就是我为什么说它恶心的原因,你要开源就开源,还藏着掖着,.net core是什么?说白了,就是一个运行时而已。什么是运行时?运行时就是CLR,Common Language Runtime。并不是说只开源CLR不够有诚意。当然有。有了CLR的源代码,你就可以在其它操作系统上例如Linux或者Mac上重新编译,然后就可以运行C#等应用程序了。先别激动,你以为是开源的全部的CLR吗?No!仅仅是Core CLR。这就是为什么我说.net core是.net framework阉割版,微软恶心人的原因。微软仅仅只开源了一部分而已,还好意思称这一部分是core clr,喝多了吧?

你并不能在core clr上托管运行.exe文件,只能运行asp.net程序(dll)。那么,微软为什么大张旗鼓,大费周章地开源asp.net托管程序core-clr呢?当然是因为要拯救asp.net啊。这才是微软想要开源.net core(core-clr)的原因,吸引更多开发人员入局。那么为什么要吸引开发者呢?当然是为了卖自家的产品啊,asp.net调用sql server是最方便的,当然你用c#调用mysql也行。但是借此宣传自家的数据库产品才是重点。微软的如意算盘打的很好,但是程序员买账吗?并不买账,现在前后端分离才是王道。asp.net是前后端混合式编程,什么都要在后端开发。这在如今的市场是走不通的。如今微软才恍然大悟,得罪了程序员的下场有多惨重。

而那些希望clr完全开源然后就能实现在linux端运行exe程序的小伙伴就洗洗睡吧。这一部分的运行时并不开源。微软仅仅只是希望避免Java吞掉ASP.NET,Linux吞掉Windows,顺便还能重振C#的旗鼓。可是这仅仅靠开源core clr就能解决吗?顺便说一下,十几年前民间组织mono已经实现C#.net跨平台了,.net core现在的意义在哪里呢?

猜你喜欢

转载自blog.csdn.net/nmj2008/article/details/109409708