我是荔园微风,作为一名在IT界整整25年的老兵,看到不少初学者在学习编程语言的过程中如此的痛苦,我决定做点什么,我小时候喜欢看小人书(连环画),在那个没有电视、没有手机的年代,这是为数不多的课余生活方式这一。我画的不好,但是如果能帮大家理解编程语言,那我的目的就达到了,希望初学者少走弯路。下面我们就开始吧。
.NET 是一个开发平台,或者叫开发者平台。使用 .NET 你可以创建不同类型的应用程序,使用多种开发语言、编辑器和工具库创建网页、手机、桌面以及AI等应用。其核心特点是:跨平台。
就.NET的发展来说,2016年是一个分水岭,首先.NET不再是闭源的、收费的、也不是只能在 Windows 上运行。.NET已经完全开源了。再这之后,性能方面也发生很大改变,从 .NET Core 成熟后,其性能和 Go 旗鼓相当。在 Web 综合性能方面,其性能高出 Node.js 的 7 -10倍多。自 .NET 开源以来,参与建设 .NET 平台的有微软自己的团队,也有来自世界各地的 6 万多名开发者和 3700 多家公司。另外,早在 2014 年,微软就成立了 .NET 基金会,有微软、Google、三星等大厂扶持,用来推进 .NET 平台的发展。.NET 热情拥抱了开源和跨平台,开发市场也在热情地拥抱 .NET,越来越多的开发人员和公司参与到了 .NET 的大家庭中。
所以,对所有.NETT程序员来说,你一定要搞清楚版本信息。.NET平台最早始于2000年,是微软设立的与java生态相似定位的产品。当年微软的 Windows系统发展较好,但当时.NET微软只实现了 Windows版本,取名为.NET Framework。过了很多年,随着Windows技术的进一步发展,微软开始兑现最初的跨平台承诺。第一版的跨平台版本于2014年推出,为了避免大众以为是原来的不跨平台版本,最终取名为.NET Core。第一版.NET Core 只实现了.NET Framework版的部分功能,随着.NET Core 3.0的发布,功能和 API基本完备,包括WinForm等Windows限定的功能也集成了,另外,微软直接收购了第三方.NET跨平台实现Mono来增强.NET Core的功能。
但这样一来,微软不得不要维护.NET Core和.NET Framework两个双版本,所以就进行了战略调整,决定不再为.NET Framework添加功能,只进行常规维护,并把版本号定在4.x。那.NET Core这个名称也就意义不大了现在,为什么呢?因为.NET各业务线开始了统一到一个大平台下,这个大平台就叫做.NET5,在此基础上进行改进,也就有了现在的.NET6。
2021年11月8日,微软正式发布了 .NET 6 及其一系列内容,推出了 C# 10、F# 6 和 PowerShell 7.2。可以说.NET6才是真正实现微软的战略目标的首个版本。所以想学.NET6的小伙伴就多看我的CSDN文章。下面我们先来搞清四个概念的区别。
.NET是一般是指导.NET框架,也就是一个可以在计算机上实际运行的程序产品及其通用基础组件。在.NET5发布之前通常是.NET ?Framework的简称,现在则指代.NET6。.NET Core是微软的官方平台.NET框架的实现,仅限指代1.x~3.x版本。.NET Framework 是微软官方的 Windows专用.NET框架的实现。
.NET Standard 是前面说的过渡性解决方案。.NET Core和.NET Framework双版本维护导致了.NET两个框架互不兼容,为解决这个问题,.NET Standard规定了所有.NET框架必须实现的API集合,只要遵照规范开发,生成的文件(仅限类库)就可同时在所有框架中使用。
.NET Framework的API已经是既定事实,因此.NET Standard基本上就是把.NET Framework API 设为标准。.NET6则是.NET Standard的超集,隐含向后兼容所有的.NET Standard版本。
另外值得一提ASP.NET Core与ASP.NET,ASP.NET 是.NET Framework的一种应用开发模型和与之配套的一组基础组件,用于开发Web服务应用,托管在 Windows专用的 IIS中。开发者使用的应用模型是WCF、WebForm和MVC等,这些顶层模型才是实际上的项目模板对应的应用模型。其他还有WinForm和WPF等,每种应用开发模型都是在通用基础框架上的特化,专用于特定类型应用的开发。
ASP.NET Core则是 ASP.NET的跨平台版本,因为 ASP.NET Core 基于.NET Core开发,所以使用相似的命名策略。ASP.NET Core的底层是完全重新实现的,但是在应用层保留了大量ASP.NET风格的API和约定,因此在开发时可以最大程度地继承从ASP.NET中获得的经验。ASP.NET Core在重写底层的同时整合了ASP.NET时代的MVC、Web API等上层应用模型。
.NET是一个全能的框架,能开发所有类型的应用。对于图形界面的客户端应用有WinForm、 WPF和 Maui等。其中, WinForm 是对 Windows系统控件的封装, WPF是基于 DirectX的自绘制界面,Maui则是跨平台的原生控件绑定。对于网络服务有ASP.NET Core和其衍生的其他应用模型。MVC和 Razor Pages等用于开发普通网站,WebAPI和gRPC等用于开发应用间交互的Web服务,Blazor用于开发复杂的富客户端应用。
那我们用什么开发工具来开发.NET6呢,答案是Visual Studio 2022。Visual Studio是微软为 Windows开发的集成开发工具,包括代码编辑、调试和项目管理等基本功能,以及源代码版本管理、软件测试、项目构建和发布等软件生命周期管理所需的大部分功能。从.NET Core 发布开始, Visual Studio 也开始了跨平台战略。从 Visual Studio 2019 开始提供MacOS版,虽然没有提供 Linux版,但微软提供了 Visual Studio Code和相应的远程开发与调试扩展用于进行Linux平台应用的开发。为了适应现代应用开发的需求,Visual Studio 2022提供了使用第三方平台和工具进行项目管理的功能,可以更好地融入现代化应用混合开发的趋势。
关于如何安装 Visual Studio,可以看我的另外一个帖子:
手把手教你Visual Studio 2022社区版编程工具安装和使用(.NET版)
安装Visual Studio的操作系统及硬件要求如下:
Windows 7 SP1及以上版本,推荐 Windows 10。
双核1GHz及以上,推荐4核2GHz及以上。Visual Studio在编辑源代码的时候需要占用大量CPU计算资源用于提供智能提示和实时源代码分析。
至少2GB,推荐4GB以上。VS2022是64位应用,能利用大量内存管理复杂的项目。
预留至少50GB,如果完全安装所有功能则需要预留至少200GB。
作者简介:荔园微风,1981年生,高级工程师,浙大工学硕士,软件工程项目主管,做过程序员、软件设计师、系统架构师,早期的Windows程序员,Visual Studio忠实用户,C/C++使用者,是一位在计算机界学习、拼搏、奋斗了25年的老将,经历了UNIX时代、桌面WIN32时代、Web应用时代、云计算时代、手机安卓时代、大数据时代、ICT时代、AI深度学习时代、智能机器时代,我不知道未来还会有什么时代,只记得这一路走来,充满着艰辛与收获,愿同大家一起走下去,充满希望的走下去。