目录

  • 一、What ASP.NET Core?
  • 二、Why ASP.NET Core?
  • 三、为什么选择这项技术?
  • 四、ASP.NET Core的优势具体可以梳理为以下几个方面:
    • 1、生成Web UI 和Web API的统一场景
    • 2、Blazor
    • 3、跨平台开发
    • 4、开放源代码和以社区为中心
    • 5、优点颇多,未来发展潜力巨大
  • 五、 ASP.NET Core未来可期
  • 六、ASP.NET Core 5.0开发入门与实战

一、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一章节。

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

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

  1. 苹果公司:Apple大中华区的注册开发者数量现已超过500万

    5月26日,据苹果官网消息,2021年,来自世界各地数以万计的小型开发团队涌入App Store,其中23%来自中国内地. "App Store的分发优势让他们创作的app在175个国家和地 ...

  2. 深圳即将启动首届「全国人工智能大赛」:超过 500 万大奖 政府资助,潜信息你读懂了吗!

    深圳即将启动首届「全国人工智能大赛」:超过 500 万大奖 & 政府资助,潜信息你读懂了吗! 人工智能加速"视频/视觉"发展,近期,深圳市即将迎来人工智能领域权威赛事之一- ...

  3. Conflux获上海市政府超过500万美元的研究资助

    1月12日消息,区块链初创企业Conflux获得上海市科学技术委员会和长宁区政府超过500万美元的研究资助.根据上海市科学技术委员会发布的<关于上海市2020年度"科技创新行动计划&q ...

  4. mongodb 百万_MongoDB查询性能超过500万条记录

    我们最近为我们的一个主要系列收录了> 2百万条记录,现在我们开始对该系列的主要性能问题感到不满. 它们在集合中的文档有大约8个字段,您可以使用UI过滤,结果应该按记录处理的时间戳字段排序. 我已 ...

  5. 超过500万海量数据怎样处理

    前言 最近笔者在工作中遇上一个测试人员通过压力测试反馈的问题.这个问题就是测试人员一下子制造了上千万的数据,造成某个mysql/oracle数据库表产生了500万以上的数据,造成分页查询offset过 ...

  6. .net core发布到IIS上出现 HTTP Error 500.31 - Failed to load ASP.NET Core runtime

    错误提示: HTTP Error 500.31 - Failed to load ASP.NET Core runtime Common solutions to this issue: The sp ...

  7. 网易云信 7 周年丨服务超过 150 万开发者,消息量突破 20000 亿条

    ● 数学家的眼中,7 年能够换算成 2555 天或是 220752000 秒. ● 经济学领域认为,7 年是通常意义上的一个经济周期. ● 生物学家看来,每个 7 年,人体的全身细胞就会完成一次彻底的 ...

  8. ASP.NET 开发者 开始学习ASP.NET Core 2吧

    .NET Core 从2016年6月28日发布,过去了将近一年的时间,但是在工作中发现大家对.net core的接受程度并不高,这只是一个感觉,俗话说"没有调查就没有发言权", 这 ...

  9. 0226互联网新闻 | “多闪”上线首月iOS下载量超过500万;阿里云MWC 2019发布7款新产品...

    戳戳戳戳一下"好看",你最好看

最新文章

  1. [YTU]_2566( 虚基类练习:动物)
  2. python中join的用法
  3. Esper学习笔记四:EPL语法(2)
  4. SIM: 基于搜索的超长行为序列上的用户兴趣建模
  5. Tcl Tutorial 笔记3 ·math
  6. Django入门10--admin增强
  7. 终结VC2005分发包版本问题
  8. 成功凤凰刷机刷出诺基亚E5系统版本042.014纯净简体中文版
  9. 【jiasuba】教你快速更改系统图标大小
  10. Kolmogorov复杂性简介(转)
  11. 技术转正及年终工作述职报告PPT模板
  12. 电视剧 | 黑镜S5E3 瑞秋洁柯小艾希莉
  13. 电脑键盘部分按键失灵_笔记本键盘部分失灵怎么办,笔记本个别键失灵的处理方法...
  14. css导航栏背景色透明,css如何设置背景颜色透明?css设置背景颜色透明度的两种方法介绍...
  15. 自监督论文阅读笔记 Urban feature analysis from aerial remote sensing imagery using self-supervised and semi-s
  16. Android Canvas rotate 和translate 两个方法的研究
  17. IDEA插件系列(89):Copy/Paste Stack插件——复制/粘贴工具栈
  18. 数字签名?电子签名?傻傻分不清楚
  19. 第5节 树形计算亚式期权价格
  20. Java项目:医院管理系统(java+SSM+layui+maven+mysql)

热门文章

  1. GraphPad Prism 9.5.1 医学绘图分析安装使用教程
  2. JUC快速入门各个知识点汇总
  3. Jim's游戏外挂学习笔记3——继续找当前地图数据和所处坐标存放的地址
  4. (每日一练)MATLAB绘制正弦正切复合函数图
  5. 单点登录解决方案CAS
  6. Windows历代版本一览
  7. orangepi-zero2交叉编译libx264
  8. evus是什么意思_EVUS到底是啥意思
  9. 线性代数之 向量的内积,外积,长度,正交与正交矩阵
  10. 啊哈C语言 第4章 重量级选手登场(第16-23讲)