.Net Core现在有个很尴尬的问题,那就是虽然.Net Core可以跨平台,但是这种特性对于大多数使用.Net作为技术栈的公司基本上都是可以被忽视的状态。我做.Net程序员那么久,就没见过几个公司使用.Net Core开发完一个项目,然后将项目部署在Linux系统上。也就是说,我所了解的很多公司,虽然使用了可以跨平台的.Net Core,但是仍然把代码部署在Windows服务器上。
注:本文为发布者本人原创,所述内容仅代表作者个人观点,欢迎不同声音,但请友善发言!
可能这么说会冒出很多.Net程序员来反对我的观点,但是,我想说的是,你们公司用Linux服务器,不代表大家都用Linux服务器,反过来说,我遇到的公司,不使用Linux服务器,不代表其他公司不使用Linux服务器,因此,我们身处的开发环境不同,因此,得出的结论也不同,但我自己可以肯定的是,我遇到的大多数公司都是这样的。
这里顺便提一句,.Net Core开发的程序,想要在Linux服务器上运行,只需要一行命令即可!
.Net Core更加尴尬的事情不仅如此,最尴尬的事情是,.Net Core也支持开发WinForm和WPF程序,但是却无法在除Windows环境之外的环境运行。
我曾经听一个.Net程序员说使用.Net Core开发的WinForm和WPF程序是可以运行在Linux或者MacOs的设备上的,但是没有实例代码,无法验证,至少我自己是没有试过的,主要还是没有这方面的设备,我不能为了验证这种说法,专门买台Linux服务器或者Mac来验证吧?太费成本!欢迎有这方面经验的人给我科普下。
因此,目前桌面程序这块,.Net程序员更加喜欢使用.Net Framework!
服务器成本基本可以忽视
很多人不解,为什么.Net Core开发的Web程序为什么部署在Linux服务器上的情况很少,其实这个和服务器使用成本有关。
.Net项目基本上都不会是什么大项目,用不到那么多复杂的架构,大多数都是单体应用程序,不怎么搞微服务或者负载均衡这些东西,因此,所有.Net服务可能只会跑在一两台服务器上。
Linux服务器如果优势在于便宜的话,那么省这一两台服务器的差价,好像对于很多公司来说,聊胜于无。
但是,想要在Linux服务器上运行,首先你就要会Linux相关的命令,也需要了解一些跟Linux相关的软件生态,这无疑就需要增加用人成本。
那么,服务器费用的差价和招一个既会Linux又会.Net编程和招一个会.Net编程,但是只会在Windows服务器上部署应用的程序员的差价,哪个更高,这个问题就很明显了。
所以,很多使用.Net Core写的程序跑在Windows服务器上,这就不奇怪了。
而且,目前,在Web开发方面,.Net Framework下的MVC架构和.Net Core下的MVC已经产生了一定的差距了,你可以认为.Net Framework下的MVC已经渐渐被.Net Core所替代。
总结
很多公司使用.Net Core,大部分原因不是因为它跨平台,而是.Net Core更新得更加频繁,用起来更加方便而已!
举一个不恰当的例子,同样敲代码,您是愿意对着那种老式的“大屁股”显示器敲还是对着现在的液晶显示器敲?希望您能通过我举的这个例子明白我所说的道理!
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.