.NET平台框架解读

概述

微软在.NET跨平台之路上付出了巨大的艰辛,同时做了海量的工作。

首先推出了统一的API标准规范库 .NET Standard,并不断补充完善标准库,截止目前(2023-6-30)最新版本为 .NET Standard 2.1。

2016年发布了.NET Core 1.0.0,开放了源代码位于.NET基金会下面,并大力发展生态建设,世界知名IT公司纷纷加入并贡献,社区发展异常活跃。收购Xamarin公司后,Mono也正式加入了微软大家庭,填补了微软技术栈在移动APP开发领域的技术空白。

自此微软.NET进化成了如下图所示的全新的大架构。

.NET平台框架解读_第1张图片

.NET Framework

1、.Net Framework 是Net的一种实现,在此类库上我们可以使用C#,VB,F#进行程序编写,主要用于构建Windows下的应用程序,其主要由两部分组成:

  • 公共语言运行时(CLR)处理应用程序 
  • 基础类库(BCL)这是可重用的代码库,使用其进行应用程序编写

2、在执行的过程中.Net编写的代码将会被编译成一种称为中间语言(IL)存储形式以DLL和EXE后缀名结尾的文件为主,当程序运行时CLR会编译转换为机器代码。

3、 .Net Framework本身不是跨平台的,仅限于运行在Windows 平台,想要跨平台需要借助第三方。

应用场景:针对传统的桌面端解决方案,采用WPF与WinForm。

.NET Core

早期(.NET Core之前)的.NET应用程序是不跨平台,它只能运行在Windows操作系统上,并且操作系统中还必须安装.NET Framework环境。如果要运行在其他操作系统上,需要借助第三方的框架,比如:Mono—一个开源的第三方.NET Framework框架,它可以运行在Linux和Mac OS操作系统上。

2011年5月,Mono开发者为了使用C#开发跨平台的移动设备应用,成立并发布了Xamarin后于2016年被微软收购,但这只是微软跨平台的第一步,毕竟Xamarin只适合开发移动端应用。

随着移动设备迅速占领市场,Windows平台的大势已去。直到.NET Core,.NET才算真正的跨平台,这也是微软重大的战略转变。2014年12月,微软拥抱开源社区,宣布开源了.NET Core的核心代码,也是.NET跨平台迈出的最重要的一步。

经过不断地迭代,2016年6月发布和.NET Core 1.0,2017年3月发布.NET Core1.1.1。目前(2023.06.30).Net最新版本是.Net8.0预览版。

.NET平台框架解读_第2张图片

.NET Core是一种模块化实现,可用于各种垂直领域,从数据中心扩展到基于触摸的设备,它是开源的,跨平台的,能在Windows、Linux、MacOS等操作系统上运行,同时还支持Docker等容器化环境安装和部署。 

微软负责.NET的项目经理 Scott Hunter认为:“.NET Core客户中有40%是全新的平台开发人员这正是我们想要的结果。我们想引入新人。”

.NET Core的运行速度很快,因为它可以与应用程序并行部署,所以.NET Core可以频繁地更改,因为这些更改不会影响同一台计算机上的其他 .NET Core 应用程序。微软对 .NET Core 所做的改进无法添加到NET Framework中。 

应用场景:针对跨平台(Windows、Linux、macOS)的解决方案,如物联网IoT、人工智能AI、AR、MR、Web等。

.Net Standard

Net Standard 是一个规范,它定义了.Net Framework和.Net Core必须实现的Api,它的出现为各种平台上开发的。.Net人员解决了代码共享问题,但是仅用于开发类库,意思就是说如果你的类库是.Net Standard规范的,那么此类库既可以是.Net Framework也可以是.Net Core类库。

Xamarin

第三方公司开发了名为 Mono 项目的 .NET Framework实现。Mono是跨平台的,但是它远远落后于.NET Framework的官方实现。Mono 作为 Xamarin移动平台以及 Unity 等跨平台游戏开发平台的基础,已经找到了自己的价值。

微软在2016年收购了 Xamarin,并且在 Visual Studio2019中免费提供曾经昂贵的 Xamarin扩展。微软将只能创建移动应用程序的 Xamarin Studio开发工具更名为 Visual Studio2019 for Mac,并赋予它创建其他类型应用程序的能力。有了 Visual Studio2019 for Mac,微软就能够将 Xamarin Studio编辑器的部分功能替换为 Visual Studio2019 for Windows的部分功能,以提供更接近的体验和性能。

.NET平台框架解读_第3张图片

应用场景:针对移动端的解决方案,如IOS、Android和WinPhone等。 

开发工具

Visual Studio 微软官方推出的宇宙第一IDE,它是一个完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境(IDE)等。目前(2023-06-30)最新版本是Visual Studio 2022。

.NET平台框架解读_第4张图片

其他开发工具有Visual Studio for Mac 和 Visual Studio Code。

.NET平台框架解读_第5张图片

总结(AI)

.Net平台是一个非常成熟、稳定和高效的开发平台,它可以帮助开发者快速、灵活地构建各种应用程序。.Net平台结合了C#、VB和F#等语言,提供了强大的开发工具和框架,可以轻松地应对各种开发需求。

同时,.Net平台拥有非常丰富的扩展性和可移植性,可以在多种不同的环境中运行,包括Windows、Linux和macOS等操作系统。此外,.Net平台全面支持云端开发,可以轻松地创建和管理云平台应用程序。

总的来说,.Net平台是一个非常优秀的开发平台,适合各种类型的应用程序的开发,我非常推荐它。

参考文献:

  • .Net文档:.NET 文档 | Microsoft Learn
  • .NET Standard:.NET Standard | 跨所有 .NET 实现的通用 API
  • Mono:Home | Mono
  • 开发工具:下载 Visual Studio Tools - 免费安装 Windows、Mac、Linux

你可能感兴趣的:(.Net跨平台,.net,.netcore)