为什么超过500万开发者选择了ASP.NET Core?

一、What ASP.NET Core?

ASP.NET Core 是一个新的开源和跨平台的框架,用于构建如 Web 应用、物联网(IoT)应用和移动后端应用等连接到互联网的基于云的现代应用程序。

ASP.NET Core 应用可运行于 .NET Core 和完整的 .NET Framework 之上。构建它的目的是为那些部署在云端或者内部运行(on-premises)的应用提供一个优化的开发框架。它由最小开销的模块化的组件构成,因此在构建你的解决方案的同时可以保持灵活性。你可以在 Windows、Mac 和 Linux 上跨平台的开发和运行你的 ASP.NET Core 应用。

我们挑选了几个常用的web框架在Linux系统上进行性能测试,可以发现ASP.NET Core的性能可观。

在这里插入图片描述

二、Why ASP.NET Core?

如果要详细讨论.NET Core,就肯定离不开.NET Framework这个框架。自从2000年开始,经过多年的苦心经营,微软已经在Windows平台下构建了一个完整的支持多种设备的.NET生态系统。

微软在2002年推出了第一个版本的.NET Framework,这是一个主要面向Windows桌面(Windows Forms)和服务器(ASP.NET Web Forms)的基础框架。在此之后,PC的霸主地位不断受到其他设备的挑战,为此微软根据设备自身的需求对.NET Framework做了相应的简化和改变,不断推出了针对具体设备类型的.NET Framework,主流的包括Windows Phone、Windows Store、Silverlight和.NET MicroFramework等,它们分别对移动、平板和嵌入式设备提供支持。

与此同时,通过借助于Mono和Xamarin,.NET已经可以被成功移植到包括Mac OS X、Linux、iOS、Android和FreeBSD等非Windows平台。但是设备运行环境的差异性导致了针对它们的应用不能构建在一个统一的.NET Framework平台上,所以微软采用独立的.NET Framework平台来对它们提供针对性的支持。

由于这些不同的.NET Framework分支是完全独立的,这使我们很难开发一个支持多种设备的“可移植(Portable)”应用。微软目前发布的最新.NET Framework版本为4.7,作为整个.NET平台的基础框架,.NET Framework在不断升级的过程中,使自己变得更加强大和完备,但是在另一方面也使自己变得越来越臃肿。随着版本的不断升级,构成.NET Framework的应用模型、BCL和运行时(CLR)都在不断地膨胀。

就这样,因为自身的一些束缚和限制,想要做一些快速的迭代和更新,就变成了一件不是很容易的事,它就像一座大山,挡在了微软快速发展的高速路上。与此同时,随着整个互联网行业的分布式与跨平台的呼声愈发强烈,除了框架自身越来越臃肿之外,如何实现从强依赖Windows系统,到可以任意平台运行,这也是摆在微软面前的另一座大山。

从本质上讲,按照CLI规范设计的.NET Framework从其出生的那一刻就具有一定的跨平台的基因。由于采用了统一的中间语言,微软只需要针对不同的平台设计不同的虚拟机(运行时),就能弥合不同操作系统与处理器架构之间的差异,但是做起来并不是一帆风顺的。在过去十多年中,微软将.NET引入到了各个不同的应用领域,表面上看起来似乎欣欣向荣,但是由于采用完全独立的多目标框架的设计思路,导致针对多目标框架的代码平台只能通过PCL,这种“妥协”的方式来解决。如果依然按照这条道路走下去,.NET的触角延伸得越广,枷锁将越来越多。

所以.NET 已经到了不得不做出彻底改变的时候了,当然,微软并不是从0开始,.NET Framework这个巨人,为微软能做一个可以跨平台并能快速迭代的新框架,提供了巨大的帮助。

三、为什么选择这项技术?

作为下一代ASP.NET框架,ASP.NET Core(目前最新.NET6版本)在各方面都未让开发者失望,数百万开发人员在使用或使用过ASP.NET 4.x创建Web应用。ASP.NET Core是对ASP.NET 4.x的重新设计,其中包括体系结构上的更改,产生了更精简、更模块化的框架。

在这里插入图片描述

四、ASP.NET Core的优势具体可以梳理为以下几个方面:

1、生成Web UI 和Web API的统一场景

ASP.NET Core天生基于RESTFUL风格,每个Url直接对应到具体的资源上,对资源的增删改查都默认走HTTP的POST、DELETE、PUT、Get方式而不是自己在参数包中指定。
Razor Pages 基于页面的编码方式简单高效:Razor Pages简化了传统的MVC模式,仅仅使用视图跟模型来完成网页的渲染跟业务逻辑的处理。模型里包含了数据跟方法,通过绑定技术跟视图建立联系。

2、Blazor

允许在浏览器中使用C#和JavaScript,共享全部是用的.NET编写的服务器端和客户端应用逻辑。

3、跨平台开发

能够在Windows、MacOs和Linux上进行开发和运行,打破了.NET 只能基于Windows平台使用困境。

4、开放源代码和以社区为中心

众所周知,ASP.NET Core源代码开源,托管于.NET基金会管理。以开发者为中心,赋能开发者,共筑良好社区。目前国内外正在掀起一股.NET热潮!

5、优点颇多,未来发展潜力巨大

ASP.NET Core能够托管在各类代理服务器(Kestrel、IIS、Nginx、Docker、Apache)并且拥有轻型的高性能模块化HTTP请求管道,内置依赖注入降低耦合。

五、 ASP.NET Core未来可期

在这里插入图片描述
截止至 2021年5月,全球有超过500万的.NET开发者。2020年的跨平台.NET Core 活跃开发者数量增长超过60万。而这些数据仅来源于Visual Studio IDE,不包含使用其他IDE的开发者。在 2020年的 Stack OverFlow 开发者年度调查报告中,ASP.NETCore 被评为最受欢迎的开发框架。

今年随着 VS2022以及C#10的发版,.NET也迎来了一个最新的.NET6平台:性能上又有了大幅提升,支持热重载,减少应用重启,从而提升工作效率、提供了更新更全的API,社区也随之发展壮大,Config大会的举办,各个开源社区的兴起…总之.NET从未停止前进的步伐,一切都在如火如荼的进行,朝着最好的方向出发。

六、ASP.NET Core 5.0开发入门与实战

这是一本从实战角度出发,分析讲解ASP.NET Core基本原理和实现方式,以求帮助广大读者能够快速掌握ASP.NET Core在企业级多端调用以及多平台部署的实践指导书。作者是.NET领域的布道者和技术专家,并多次荣获微软MVP称号。

本书以ASP.NET Core 5.0进行分析,不仅讲解了核心原理和理论知识,还通过实战案例的方式,进一步拓展ASP.NET Core在企业中的应用。更重要的是,本书所有代码均已开源,读者可以在对应下载资源中找到源码地址,进行下载和学习。此外,本书涉及的知识点,多以独立章节用实际案例的形式专门进行落地指导,相互之间不受影响,而从业务上又承上启下,读者可以根据自己的需要重点学习mou一章节。

本书是一本项目开发案例方面的参考书,适合有基本编程知识,但还没有项目开发经验的软件开发初学者使用,尤其适合高校学生进行毕业设计、课题设计时作为参考。

在这里插入图片描述

在这里插入图片描述

  • 32
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 33
    评论
### 回答1: asp.net 是一个全面的平台,可以用来开发大型的、复杂的企业级应用程序,它支持多种开发语言,例如C#、VB.NET 和F#。asp.net core 是一个新的、跨平台的web开发框架,它支持.NET和.NET core,开发语言可以是C#、F#或者VB.NET。asp.net core具有更好的性能和更丰富的功能,而且更加轻量级,更易于部署。 ### 回答2: ASP.NET是一个基于.NET框架的Web开发平台,而ASP.NET CoreASP.NET的一个轻量级和跨平台版本。 首先,ASP.NET Core是一个开源的框架,它可以在Windows、Linux和macOS等多个操作系统上运行,而ASP.NET则主要在Windows操作系统上运行。这意味着开发人员可以使用不同的操作系统来开发和部署ASP.NET Core应用程序。 其次,ASP.NET Core更加灵活和模块化。它采用了中间件的概念,开发人员可以根据需求选择所需的中间件来构建应用程序。这样可以提高灵活性,并允许开发人员构建更轻量级的应用程序。 ASP.NET Core还引入了一些新的特性和改进。比如,它使用了新的配置系统,该系统允许开发人员将配置信息存储在不同的源中,如JSON文件、环境变量等。这样可以方便地管理应用程序的配置。 此外,ASP.NET Core还引入了新的Web API框架,该框架使开发人员能够更方便地构建和测试Web API,而不依赖于完整的ASP.NET框架。 总的来说,ASP.NET Core相较于ASP.NET,更轻量级、跨平台,拥有更大的灵活性和模块化的特点,并引入了一些新的特性和改进。这使得开发人员可以更方便地开发和部署Web应用程序。 ### 回答3: ASP.NETASP.NET Core是微软公司开发的两个Web应用程序开发框架。它们有以下主要区别: 1. 跨平台性:ASP.NET只能运行在Windows操作系统上,而ASP.NET Core可以在Windows、Linux和macOS等多个平台上运行。 2. 性能:ASP.NET Core相比ASP.NET具有更好的性能表现。它采用了新一代的底层架构,并进行了优化,使得应用程序更加高效、轻巧。 3. 模块化:ASP.NET Core采用了模块化架构,可以根据需求选择性地引用组件和库,以减小应用程序的体积。而ASP.NET则是一个完整的框架,无法进行类似的选择。 4. 依赖注入:ASP.NET Core内置了依赖注入容器,使得开发人员可以更方便地实现对象之间的解耦。而ASP.NET则需要使用第三方库来实现依赖注入。 5. Web API支持:ASP.NET Core作为一个轻量级的框架,内置了对Web API的支持,可以更方便地创建和管理API服务。而ASP.NET则需要额外引用一些库来实现同样的功能。 6. 跨平台开发工具:ASP.NET Core可以使用多个跨平台的开发工具,例如Visual Studio Code、Visual Studio for Mac等。而ASP.NET则主要依赖于Windows平台的Visual Studio。 总之,ASP.NETASP.NET Core在跨平台性、性能、模块化、依赖注入、Web API支持以及开发工具等方面存在一些差异。开发者可以根据实际需求选择使用哪种框架来开发Web应用程序。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

哪 吒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值