什么是.NET?什么是.NET Core?.NET和.NET Core区别又是什么呢?

这篇具有很好参考价值的文章主要介绍了什么是.NET?什么是.NET Core?.NET和.NET Core区别又是什么呢?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本文首发于码友网–《什么是.NET?什么是.NET Core?.NET和.NET Core区别又是什么呢?》

概述

对于.NET平台的初学者来说,有时候比较困惑“什么是.NET?什么是.NET Core?.NET和.NET Core区别又是什么呢?”。确实,目前微软的开发平台有两种不同的.NET运行时环境,一种是.NET Framework,另一种则是.NET Core(.NET 5),不同的目标框架运行时环境不同。

那这两者的区别到底是什么,在开发时如何选择不同的.NET框架呢?本文将为.NET开发者逐一讲解。

在谈及.NET与.NET Core的区别之前,我们得先聊聊.NET的历史,了解一下为什么会有.NET Core?

.NET Framework简介

在.NET Core出现之前,微软的应用开发主要运行载体是自家的操作系统,即Windows操作系统。
2002年时,微软发布了.NET框架的早期版本,当前只有一个框架,即.NET Framework。不久之后,微软又发布了.NET 精简版框架(.NET Compact Framework),这是.NET框架的一个子集,适用于更小的设备,特别是Windows移动设备(Windows Mobile)。这个精简版的框架是一个独立于.NET框架的代码库。它包括了整个运行时的垂直结构:运行时、框架和顶部的应用程序模型。

.NET Framework是微软为开发应用程序而创建的主要运行在Windows操作系统的软件框架。它包含了大量的FCL(Framework Class Library)框架类库并且提供了多种语言之间的跨语言互操作。.NET Framework平台的应用程序在公共语言运行时(CLR)中执行,CLR是一个应用程序的虚拟机,它提供安全、内存管理和异常处理等服务。因此,使用.NET Framework编写的计算机代码称为“托管代码”。框架类库(FCL)和公共语言运行时(CLR)一起构成了.NET Framework。

什么是.NET?什么是.NET Core?.NET和.NET Core区别又是什么呢?

.NET跨平台–.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。

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

.NET 5

微软为了统一.NET平台,计划将所有的.NET运行时统一为一个.NET平台,并为所有应用程序模型(如:.NET Core, Windows Forms, WPF, UWP, Xamarin, Blazor)提供统一的基类库(BCL)。在2019年5月6日宣布了.NET 5将是.NET Core 3.0的下一个主要版本。

2020年3月,微软发布了.NET 5的第一个预览版,并在同年的11月10日发布了.NET 5的第一个正式版。

什么是.NET?什么是.NET Core?.NET和.NET Core区别又是什么呢?

.NET生态

以下是一张如今.NET平台的生态示意图:

什么是.NET?什么是.NET Core?.NET和.NET Core区别又是什么呢?

从上面的图表中可以看出,.NET生态系统有三个主要的高级组件——.NET Framework、.NET Core和Xamarin组成。

.NET Framework:支持Windows和Web应用程序。现在,你仍然可以使.NET Framework作为目标框架来构建运行于Windows操作系统的Winform、WPF和UWP等桌面应用程序,以及基于ASP.NET MVC的Web应用程序。

.NET Core:是一个新的、开源的、跨平台框架,它用于构建适用于跨操作系统的应用程序,包括Windows、Mac和Linux。结合C#,它的应用场景也相当广泛,比如:

  • 用一套代码开发基于Xamarin的支持多端(Windows,Android,iOS)的应用程序;
  • 可以开发基于Blazor的桌面应用;
  • 跨平台的网站应用,Web API应用,微服务;
  • 跨平台的游戏开发Unity,目前应用得非常广泛,像【王者荣耀】这类大型的手游都是使用Unity开发出来的;
  • 基于WPF的桌面应用程序,使用WPF你可以自定义完成超酷的用户交互界面;
  • 物联网
  • 人工智能
  • 机器学习

结论

俗语说:“长江后浪推前浪。”,技术领域也是如此。随着开发技术的不断发展和进步,新技术终将代替老技术。

如果你是一位.NET的初学者,并者没有历史项目(基于.NET Framework框架的项目)的包袱,建议你可以直接从.NET Core(.NET 5)入手学习,因为它具备现代开发技术的绝大多数优点:开源,跨平台,支持容器化部署等。文章来源地址https://www.toymoban.com/news/detail-480282.html

到了这里,关于什么是.NET?什么是.NET Core?.NET和.NET Core区别又是什么呢?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • .NET的基元类型包括哪些?Unmanaged和Blittable类型又是什么?

    在讨论.NET的类型系统的时候,我们经常提到“基元类型(Primitive Type)”的概念,我发现很多人并没有真正理解基元类型就究竟包含哪些(比如很多人觉得字符串是基元类型)。除了明确界定基元类型外,本篇文章还会简单介绍额外两种关于类型的概念——Unmanaged类型和Bli

    2024年02月08日
    浏览(11)
  • 微软.NET、.NET Framework和.NET Core联系和区别

    微软.NET、.NET Framework和.NET Core联系和区别

    我是荔园微风,作为一名在IT界整整25年的老兵,看到不少初学者在学习编程语言的过程中如此的痛苦,我决定做点什么,我小时候喜欢看小人书(连环画),在那个没有电视、没有手机的年代,这是为数不多的课余生活方式这一。我画的不好,但是如果能帮大家理解编程语言

    2024年01月16日
    浏览(45)
  • ASP.NET和ASP.NET Core的区别

    ASP.NET和ASP.NET Core是两个不同的Web应用程序框架,它们都是由Microsoft开发的。ASP.NET是Microsoft推出的第一个Web应用程序框架,而ASP.NET Core是其最新版本。本文将介绍ASP.NET和ASP.NET Core的简介和区别。 ASP.NET的简介 ASP.NET是一个基于.NET框架的Web应用程序框架,它是Microsoft推出的第一

    2024年02月16日
    浏览(50)
  • SpringBoot + RabbitMQ从延时队列中删除指定的值【RabbitMQ中的basicAck和basicNack的区别以及basicReject又是什么?】

    业务需求是,就是我本来是有一个order-queue队列绑定到了死信队列交换机order-dead-direct-exchange上,然后我的业务是,现在有一个用户下单但是没有付款,order-queue队列写入该条信息并计时24小时后如果用户还是未付款状态则移除到死信队列order-dead-queue中。问题来了,如果在这个

    2024年02月16日
    浏览(10)
  • .net framework、.net standard、 .net core .net 5/6 区别

    .net framework、.net standard、 .net core .net 5/6 区别

    之前一直使用.net framework框架编写程序,这几年微软的动作有点大,更新迭代的有些快,对出现的.net standard、 .net core 、.net 5/6框架一直搞不清是什么关系,今天整理下这几个框架的关系。 物联网时代到来,各种跨平台的需求原来越强烈,.net framework框架只能在windows上运行,

    2024年02月08日
    浏览(46)
  • .NET 6和.Net Core学习笔记:什么是.NET Core

    .NET 6和.Net Core学习笔记:什么是.NET Core

    NET是开发平台 .NET是 .NET Framework、.NET Core、Xamarin/Mono的统称。 .NET Framework:近20年历史,.NET简称的最早拥有者,用于开发Windows程序。 Xamarin/Mono主要做移动开发:Xamarin、Unity。Mono也能做Web等跨平台开发,但主要专注移动端。 .NET Core:免费、跨平台、开源。 跨平台:程序可以运

    2024年02月08日
    浏览(46)
  • 什么是 .Net5?.Net5和.Net Core 有什么关系?

    什么是 .Net5?.Net5和.Net Core 有什么关系?

    2021年即将结束,使用 .net开发已经有多年的经验,微软自2016年发布 .net core1.0 之后,.net core的热度蒸蒸日上,asp.net core3.1 的性能以及稳定性也超越了java,特别是云原生开发这一块,看的出 .net core有很好的前景,但目前国内的热度不够,大部分公司还是在使用.net framework ,而

    2024年02月11日
    浏览(43)
  • .net core IResultFilter 的 OnResultExecuted和OnResultExecuting的区别

    .net core IResultFilter 的 OnResultExecuted和OnResultExecuting的区别

    //全局过滤器 builder.Services.AddMvc(m = {     m.Filters.AddAllResultFilter(); }); 1、实现过滤器 2、结论 OnResultExecuting可以修改返回结果,相当于在方法目标执行完追加执行 OnResultExecuted不可以修改返回结果,相当于目标方法执行返回结果后执行

    2024年01月18日
    浏览(6)
  • 关于微软NET家族族谱将讲解 关于 最全.NET Core、NET 5、NET 6和.NET 7简介和区别

    不知道从什么时候开始,.NET 出来了越来愈多的名词 ,Visual Studio 版本从2000 一直到了 现在2022 ,中间陆续出来十多个版本,到后面 vscode ,底层 .NET 名称也是越来越花里胡哨的 从.NET FrameWork 1.0到 .net core 到 .NET  5 ,还有各种SDK 啥玩意的,最主要的是 市面上用.NET的公司不多,

    2024年01月18日
    浏览(46)
  • 什么是 ASP.NET Core SignalR?

    所有连接了 Internet 的应用程序都由服务器和客户端组成。 客户端依赖于服务器获取数据,而它们获取数据的主要机制是通过发出超文本传输协议 (HTTP) 请求来进行的。 某些客户端应用程序需要经常更改的数据。 ASP.NET Core SignalR 提供了一个 API,用于创建服务器到客户端远程过

    2024年02月15日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包