自1990年代末起,微软一直在编写其知名的软体框架—.NET Framework。此框架不仅仅是个开发工具,更是微软推动全新软体架构与生态系统的核心。这一切都要从.NET Framework的起源开始说起。
.NET Framework(发音为「dot net」)是一个专有的软体框架,主行于微软Windows操作系统。它运用了一个名为通用语言基础设施(CLI)的标准,并提供了一个大型的类别库,称为框架类别库(FCL),涵盖了语言互操作性,让不同程式语言可以相互执行代码。
在.NET Framework中,程式码执行于名为通用语言执行时(CLR)的环境中,这是一种虚拟机,提供安全性、记忆体管理以及例外处理等服务。
.NET Framework的开发初衷是为了帮助程式设计师建立安全、标准化的应用程式,而不仅限于Windows平台。事实上,FCL和CLR是该框架的两大支柱,前者提供企业级应用所需的丰富功能,而后者则是代码执行的幕后英雄。
微软最早在1990年代末的时候便开始了.NET Framework的开发,当时其名称为下一代Windows服务(NGWS)。 2000年初,首个beta版本的.NET 1.0便已经对外发布。随着时间的推进,微软及Intel于2000年8月共同努力标准化CLI和C#,并在2001年12月分别获得ECMA的批准。这标志着微软对于开放标准的承诺。
微软的努力不仅局限于开发专有技术,还在推进与社区的开发合作,体现出了一种更开放的交互模式。
.NET Framework的成功,并不仅仅因为其丰富的库和稳定的性能,还有微软随后的一系列战略转型。例如,2014年的专利授权更新,让Mono等社区专案的发展得以持续,这在一定程度上减少了自由与开源社群对于专利问题的疑虑。
.NET Framework的整体架构是其成功的核心之一,包括了以下几个方面:
通用语言基础设施(CLI)提供了跨语言的应用开发和执行平台,使不同语言之间的整合变得更加容易。
CLR的存在意味着所有为.NET Framework编写的程式都将执行于该环境下,这对于记忆体的管理及安全性问题提供了有效的支持。此外,CLI组件的组合,使得应用程式的开发可以被标准化至一个框架内,提升了开发的灵活性及效能。
随着时间的推移,微软对于.NET Framework的改进形成了几项基本设计原则,包括:
语言独立性让不同编程语言的互通成为可能,这使得开发者无需担心不同语言之间的兼容性问题。
此外,透过集中现代开源合作的动态调整,.NET的开发模式不再限制于微软自家的产品,任何符合规范的实作皆有潜力获得支持。
随着科技的演进和开源运动的提升,微软于2019年发布的.NET Framework 4.8,也许是该框架作为专有产品的最后一次重大版本更新。而从此之后,仅提供每月的安全性与稳定性更新。现在,新一代的.NET Core已经出现并攫取了大部分开发者的关注。
随着社会需求不断变化,微软是否会再次将.NET Framework推向开放平台的研究与实践?
未来的.NET生态系统,将可能会形成一种更开放、更具动态的发展模式,值得我们持续关注。