前言
.NET Core 有一个关键词就是跨平台,为什么要跨平台呢?Windows 操作系统不香吗?今天我们来聊聊这个
原因一:安全考虑
Windows OS 是闭源的,而 Linux 是开源的,因此有些公司的技术负责人就认为 Linux 比 Windows OS 更安全,比如我以前教《现代操作系统》课程的老师就非常推崇 Linux,对 Windows OS 则是嗤之以鼻,斥之为 "伪操作系统 "。姑且不论这种认知是否客观,但是这种固有认知是很难被改变的,所以作为程序猿的我们只能去适应这种认知,特别是在近几年,政企项目开始要求 “国产化”,也就是数据库、操作系统等都使用国产的产品,而国产操作系统大部分都是基于 Linux 的,因此在 Linux 下运行系统的需求非常迫切。
原因二:成本
Windows 是收费的,而很多 Linux 发行版都是开源、免费的,对于服务器数量很多的系统,其操作系统的成本是一个不得不考虑的因素。
原因三:生态
由于 Linux 是开源的,因此吸引了大批开发人员为 Linux 开发软件,比如 Apache、Nginx、MySQL、Kafka、Redis、Docker 等,数不胜数。虽然这些软件大部分也移植到了 Windows 下,但是这些毕竟是优先为 Linux 开发的软件,它们在 Windows 下的版本只能说是 “可以运行” 而已,其性能和功能与 Linux 版本的比起来都有一定的差距。并不是说基于 Windows 平台开发不出同样优秀的软件,而是说很少有人愿意优先基于 Windows 开发服务器端软件。这就导致了比较优秀的服务器端软件生态环境大多在 Linux 下。
原因四:稳定性
由于 Linux 特有的设计,Linux 在运行时,相对 Windows OS 会稳定很多,网上曾经有公开数据说 Linux 可以几个月不关机,同时非常稳定的持续计算,速度丝毫不减慢,非常的稳定,Windows OS 就很难做到这一点。
结语
Java 因为开源和能够跨平台而受到大厂们的生睐,在国内发展得非常快,如今 .NET 也积极拥抱开源,并且武装上了 “跨平台” 和 “基于云开发” 这对翅膀,.NET 在成长,在变化,在褪去外壳,迎接新生,一句话,.NET 未来可期
我是老杨,一个奋斗在一线的资深研发老鸟,让我们一起聊聊技术,聊聊人生。
都看到这了,求个点赞、关注、在看三连呗,感谢支持。