什么是.NET Framework? 微软对Java的回答

什么是.NET Framework? .NET定义

  .NET是Microsoft创建的软件开发框架,以及相关的工具,语言和运行时生态系统,旨在简化从台式机到移动设备的各种平台上的应用程序开发。 尽管.NET(发音为点网,有时写为.Net)最初是在00年代初期与Microsoft专有的Windows操作系统和平台捆绑在一起的,但现在可以为Web,MacOS,iOS编写.NET应用程序。 ,Android,Linux等),而.NET是一个正式标准 ,可以作为开源正式使用。

微软将.NET描述为“一个一致的面向对象的编程环境,无论目标代码是在本地存储和执行,在本地执行但在Internet上分发还是在远程执行”。 .NET旨在提供安全的代码执行,以提供比解释型语言更好的性能,并使开发人员在各种应用程序中保持一致的体验。  

.NET Framework的主要组件

.NET Framework已经存在了将近20年,并且发生了很多变化,在此期间,组件被推出,随后被弃用。 目前,.NET有三个主要层:

  • .NET标准库包含的组件将构成几乎所有要编写的应用程序的基础结构-类和类型有助于执行日常任务,例如处理字符串和基元,创建数据库连接,执行I / O操作等等。
  • 可选的应用程序模型包含您可能在其中部署.NET应用程序的各种平台的管道代码。 Windows应用程序(.NET与Microsoft不断发展的旗舰OS紧密联系的遗产)和其他平台也有许多应用程序模型:例如,用于Web应用程序的ASP.NET,以及用于Mac和各种应用程序的模型。移动平台。
  • 通用基础结构是组件的基础层,使整个生态系统能够在实践中实际执行,从编译器到语言再到运行时组件。 这些对于理解.NET必须提供的内容至关重要,因此我们将在下一部分中更详细地介绍它们。  

.NET Framework的工作方式

.NET Framework的主要组件可以协同工作,从而简化了编写应用程序的过程。 标准库和应用程序模型提供了许多代码来为您处理基本的编程任务,因此您不必为构建的每个应用程序重新发明轮子。 通用基础架构负责部署这些应用程序的大部分繁琐工作。

用任何.NET语言编写的代码(稍后会有更多介绍)被编译为称为通用中间语言 CIL)的中间字节代码语言。 CIL代码不是人类可读的,但可以跨操作系统和平台移植。 然后,由公共语言运行库 CLR)再次编译CIL。 CLR实现是特定于平台的,并且将CIL代码编译为可以在当前平台上执行的机器可读代码。 不同的CLR版本支持即时和提前编译。

在创建本地机器可读代码的过程中,CLR还管理许多底层应用程序功能,例如垃圾回收和线程化,这些功能对应用程序性能至关重要,但对于开发人员来说通常很繁琐。 CIL和CLR共同构成了.NET公共语言基础结构(CLI,是的,我们知道所有这些缩写都是相似的并且令人困惑)。

所有使用Java平台的人都应该熟悉所有这些,因为它遵循相同的基本范例-大型可用的类库,中间字节码以及使内存管理自动化的特定于平台的运行时都是这两种产品的功能。 .NET是在90年代后期Java的鼎盛时期开发的,最初定位为Java Enterprise Edition平台的竞争对手。 Java语言和C#是第一个也是最著名的.NET语言,它们均源于C,并且在语义上相似

.NET编程语言是什么?

C#是.NET在2000年发布时大张旗鼓地宣布的,它是最著名和使用最广泛的.NET编程语言。 它是Microsoft作为.NET计划的一部分在内部开发的,.NET标准库中的大多数类都是用C#编写的。 该语言是面向对象的,旨在与C足够相似,以便C,C ++,Java和JavaScript开发人员可以轻松地快速学习和使用。

Microsoft当前还展望了可用于.NET Framework编写的其他两种编程语言。 一种是F# ,它是ML语言家族的一部分,是一种功能编程语言,最终起源于LISP。 另一个是Visual Basic ,这是Microsoft古老的易学编程语言,用于开发客户端-服务器应用程序。 但这只是冰山一角:因为.NET由开放标准组成,所以任何人都可以编写一种语言,将其编译为CIL字节码,并可以由CLR执行。 维基百科列出了当前维护的20多种CLI语言项目 。 它们几乎都代表现有语言的.NET端口,从Pascal到JavaScript甚至是COBOL。

这种语言多样性可以在.NET Framework中共存这一事实是该平台的优势之一。 因为所有代码都被编译为CIL字节码,所以.NET并不真正在乎您使用哪种语言编写。 您可以根据自己的喜好,每种语言的优缺点或每种语言使您可以使用的.NET Framework的不同方面选择一种语言(此处有一些变体)。 如前所述,大多数标准库都是用C#编写的,但这并不能阻止您从用其他CLI语言编写的代码访问这些类。 实际上,用不同的CLI语言编写的组件可以在.NET应用程序之间自由互操作。

.NET Framework与.NET Core(及以后)  

您会注意到,我们在本文中一直使用“ .NET Framework”来泛指该平台。 严格来说,这是不正确的:Microsoft使用该短语来指代他们自己的.NET Standard长期实现,后者专门针对Windows。 历史上有.NET的其他实现。 最著名的例子之一是Mono ,它是2004年首次发布的开源实现,使在Linux上运行.NET应用程序成为可能。 (该版本引起了一些争议,因为在那个时代,微软与开放源代码社区之间仍然存在着很多不满的血液。)Mono现在构成了Xamarin平台的基础,这使得构建.NET成为可能。适用于iOS,Android和MacOS以及Linux的应用程序。 Xamarin最初是Mono创始人的心血结晶,但是他们为支持该项目而创建的公司最终被Microsoft收购。

Microsoft的第三个主要.NET实现是.NET Core,它是.NET Standard的跨平台实现,于2016年作为开源发布。.NETCore是从头开始全新构建的,并消除了一些积淀的杂物在.NET Framework中,尽管它也缺少完整的功能。 可以理解,拥有全部来自Microsoft的.NET Standard的多个版本有些令人困惑。 2017年,InfoWorld专栏作家Simon Bisson 讨论了在哪种情况下应该使用哪种实现的问题

但这一切将在不久的将来改变。 微软计划在2020年11月将这三个.NET实现统一为.NET 5 。 .NET 5本质上将是下一代.NET Core,其中包含来自.NET Framework和Xamarin的许多组件。 但是,许多.NET Framework API不会迁移到.NET 5 。 此举旨在简化开发人员的工作,并集中微软自己的努力。

我拥有什么.NET Framework?

不过,在撰写本文时,已经有一年多了。 当前最新的.NET Framework版本是4.8; .NET Core的当前版本是3.0。 Microsoft的页面包含有关如何学习计算机上当前安装的.NET Framework版本的说明

.NET的作用是什么?  

因此,所有这些都为您提供了很多内容方式。 但是您可能仍然想知道为什么。 为什么要使用.NET Framework? Altexsoft博客对.NET的优缺点进行很好的分类 。 从积极的方面来看,.NET提供了一个具有可靠,简单的缓存系统和成熟的IDE的面向对象的编程模型,并且允许灵活部署和轻松维护。 此外,.NET的跨平台性质允许将代码移植到许多不同种类的端点。 如果要在企业规模的基础结构上构建跨平台应用程序,而无需完全重新构建工具,那么.NET最适合。

下载.NET Framework

准备开始尝试.NET了吗? 从Microsoft网站下载.NET Framework(用于Windows)或.NET Core(用于Windows,Linux或MacOS); Docker映像也可用。 您可以在GitHub上找到适用于iOS和Android的Xamarin。 探索愉快!

From: https://www.infoworld.com/article/3453684/what-is-the-net-framework-microsofts-answer-to-java.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值