拥有一个强大、可扩展、可互操作、跨平台、语法优秀、尖端的开发平台一直是所有企业的追求,不被限制在某个特定操作系统和架构中,而且无须专有许可证,同时企业能够根据自身需求自由的对其进行高度定制,这是开发者渴望的理想平台。以此为目标,微软在2016年正式发布了.NET Core平台,随后被正式命名为.NET。与.NET Framework紧密绑定在Windows平台完全不同,.NET是一个极其优秀、强大的高性能的跨平台开发框架,在保持核心开发语言C#一致的情况下,完成了其自身的华丽转身,进入了全新的发展阶段。
.NET按量付费(pay-for-what-you-use)性能是其一个关键指标,对于每一个发布的版本,都会竭尽全力提高性能。例如在Tech Empower基准测试中,比较了不同的应用程序框架,.NET的性能要远远高于Java Servlet和Node.js。.NET的性能是Node.js的8倍以上,近3倍于Java Servlet。
来自新西兰的Raygun公司开发了一个基于云的错误和崩溃报告平台,在将原有的Node.js API迁移到.NET平台之后,吞吐量提升了20倍。
当.NET与正确的数据库与架构结合时,几乎可以说对于任何类型的业务,.NET都是在面临可扩展需求时的完美解决方案。
跨平台是软件开发中一个重要的概念,即不依赖于特定操作系统,也不依赖特定硬件环境。在一个操作系统下开发的应用,可以在另一个操作系统下依然可以运行,实现一次编译,到处运行。
.NET为跨平台而生,操作系统方面它原生支持Windows、Linux、macOS,在指令集方面则不仅支持国际主流的X64、X86、ARM32、ARM64指令集,并且还支持国产自主指令集LongArch,多指令集的支持将让.NET应用在云原生时代大放异彩。
.NET平台设计之初,特别针对容器技术进行了针对性优化,不仅有轻量的、基于模块的配置、日志、分析等内置功能,同样可以十分容易地对基础功能进行扩展,这些特点使得基于.NET平台开发的应用程序非常适合运行在容器中。基于.NET平台开发的应用程序对磁盘、CPU、内存等资源的占用也是极低的。同时官方也持续优化提升.NET应用程序在容器中的运行体验。
.NET项目属于.NET基金会管理,该基金会是一个非营利组织,由微软提供官方支持,基金会培养和支持超过25000名贡献者,1700家公司,并拥有超过55个活跃项目,该基金会聚集了充满激情的开发人员,并管理世界各地的社区见面和分享知识,提供项目指导,促进Microsoft生态系统中的开源。
发布于2016年的.NET项目到2017年就已经拥有超过28000次来自社区的提交,跻身于前30名高速度开源项目之列。
.NET项目使用宽松的MIT
和Apache 2
开源协议,文档协议遵循CC-BY
协议。这些协议允许任何人、任何组织和企业任意处置,包括使用、复制、修改、合并、发表、分发和再授权,或者销售。唯一的限制是,软件中必须包含上述版权和许可声明,后者协议将会除了为用户提供版权许可之外,还有专利许可,并且授权是免费的、无排他性的(任何个人和企业都能获得授权),并且永久不可撤销,相较于Oracle对Java和MySQL的开源协议微软做出了最大的诚意。
需要特别指出的是,作为一个自由的软件开发平台,.NET并不受美国EAR
(出口管理条例)的限制,不存在“断供”的问题。