入门ASP.NET Core,你该怎么学?

分类:网校动态日期:2024-08-27 06:16:11人气:


随着2014年Xamarin和微软发起.NET基金会,微软在2014年11月开放.NET Core框架源代码。随后在.NET基金会的统一规划下诞生了.NET Core。

.NET Core早期被称为 .NET vNext或 .NET 5,直到2016年1月才正式命名为 .NET Core 1.0。2019年5月6日,微软再次介绍了.NET 5。我们会在后文中详细说明。

需要注意的是,虽然微软把 .NET Core作为.NET未来的发展方向,但 .NET Core和 .NET Framework仍然是两个独立的产品。.NET Framework也会继续被更新和维护。

2019年微软发布了 .NET技术的下一步发展规划,2020年微软会将.NET Core和 .NET Framework整合为.NET 5。

入门ASP.NET Core,你该怎么学?

.NET Core与 .NET Framework的一大区别是,.NET Core是完全开源的,它托管在GitHub上,支持任何开发者向项目贡献代码,.NET Core不再仅支持Windows,还支持Linux、macOS等多种平台。

可以说 .NET Core是.NET Framework的新一代版本,或者说是其进化版本,是微软官方开发的第一个跨平台 (Windows、macOS和Linux) 的应用程序开发框架(Application Framework)。

.NET Core的开发目标是成为跨平台的.NET平台,为此 .NET Core会包含 .NET Framework的类库。但与 .NET Framework不同的是,.NET Core采用包 (Package)的管理方式,应用程序只需要获取需要的组件即可(不像 .NET Framework使用打包安装的方式),同时各个包亦有独立的版本线(Version Line),不再硬性要求应用程序跟随主线版本的更新而更新。

1.1 .NET Core的特点

.NET Core的核心是创新、开源和跨平台,可以说.NET Core就是一个用更少的时间做更多有趣的事情的跨平台开发框架。

入门ASP.NET Core,你该怎么学?

.NET Core具有以下特点。

  • 跨平台。读者可以创建一个.NET Core应用程序,可分别在Windows、Linux和macOS上运行。
  • 统一性和兼容性。利用统一的.NET标准库,使用相同的代码兼容所有平台,并使用相同的语言和工具复用读者的技能,降低学习成本。
  • 命令行工具。它包括可用于本地开发和持续集成方案中的易于使用的命令行工具。
  • 现代化。多语言支持(C#、VB、F#)和现代化的设计结构,如泛型、语言集成查询(LINQ)和异步支持等。
  • 开源。.NET Core平台是开源的,它的运行库、库、编译器、语言和工具的源代码都在GitHub上开源,接受代码贡献,并且使用宽泛的MIT和Apache 2开源许可证。
  • .NET基金会官方支持。.NET Core由微软的.NET基金会创立后交付给社区独立运营,由基金会提供对 .NET Core的支持。

1.2 .NET Core 3.1

2016年6月27日,RedHat DevNation峰会宣布了 .NET Core & ASP .NET Core 1.0 RTM的发行。

截至本书截稿,.NET Core最新的版本为3.1.0,更新时间为2019年10月15日。

2. .NET Core与其他平台

.NET Core经常被拿来与其他平台做类比,尤其是它的源头 .NET Framework以及另一个相似性质的开源平台Mono。

入门ASP.NET Core,你该怎么学?

2.1 .NET Core与.NET Framework

据微软的帮助文档说明,.NET Core和 .NET Framework是子集 (Subset) 与超集 (Superset) 的关系,.NET Core将会实现部分的 .NET Framework功能 (基本上是不含用户界面的部分),比如JIT(.NET Core采用RyuJIT)、垃圾收集器 (GC) 以及类型 (包含基本类型以及泛型类型等)。未来 .NET Framework和 .NET Core也会各自发展,但它们同时也使用彼此的功能,比如 .NET Compiler Platform与RyuJIT等技术,最终会在2020年合并。

2.2 .NET Core与Mono

Mono是另一个历史悠久的.NET跨平台开源版本,基本上并不隶属微软官方,而是由社区的力量所主导,自成一个生态系统,也开发出了像Xamarin这样的跨平台.NET移动应用。.NET Core与Mono未来会是合作的关系,Mono仍会维持由社区力量主导的维护与发展,而.NET Core则会以官方角度来发展,两者也会一起进行彼此功能上的补充。

2.3 .NET Core与ASP .NET Core

其实一开始.NET Core与ASP .NET Core并不是主从关系 ,在ASP.NET Core的开发初期 (ASP.NET Next),.NET Core还没有“起跑”。ASP.NET Core当时有自己的运行器与工具,被称为Project K,后来改为.NET运行环境(.NET Execution Environment, DNX)。DNX本身就具有可独立运行的能力,不需要依赖 .NET Core运行,但是这样会形成 .NET Core和ASP.NET Core成为“双头马车”的现象。在 .NET Core逐渐成熟之后,微软也决定要将这两个各自独立发展的产品线集成在一起,因此DNX也改用 .NET Core运行器而终止开发,DNX的功能也由 .NET Core以及旗下的 .NET命令行界面(Command-Line Interface,CLI)接替提供,集成后的版本在1.0 RC2的时候就发布了。

3. ASP .NET的发展历程

严谨来说,ASP.NET本不应该放在此处与以上3个框架平行,但是因为ASP.NET太出名了,因此我觉得有必要厘清它们的关系。

ASP.NET最初是.NET Framework框架中的一个组件,用于开发Web应用程序,它是ASP技术的改进版本。需要注意的是,ASP与ASP.NET是完全不同的两个产品。同理,VB和VB.NET也是完全不同的两个产品。ASP和VB都是20世纪的技术,有些“古老”,在此不再赘述,但请务必注意区分它们。

早期的ASP.NET提供一种叫作WebForm的方式用于呈现网页,它可以让网页开发变得像WinForm开发一样简单且可视化。但随着Web技术的飞速发展,WebForm由于其低效、封闭和难以定制的缺陷已经逐渐淡出历史舞台。

随着2009年 .NET Framework 3.5的发布,微软提供了全新的ASP.NET网页呈现方式,称为ASP.NET MVC Framework。这套框架遵循MVC设计模式思想,将视图和业务逻辑进行了很好的分离,并且大幅提升了性能和可定制性。

经过多年发展,目前已经更新到了ASP.NET MVC 6,完全采用.NET Core的项目结构,支持.NET Framework、.NET Core和Mono多种运行时。在ASP.NET MVC的未来演进路上,ASP.NET MVC 6将不再存在,而是被称为ASP.NET MVC Core 1.0。

图2.1所示为MVC版本演进的历程。

图2.1

推荐一本最适合入门ASP.NET Core的书:《深入浅出 ASP.NET Core》

如果你想学习ASP.NET Core,那么推荐一本最适合入门ASP.NET Core的书:《深入浅出 ASP.NET Core》

内容简介

本书是一本系统地介绍http://ASP.NET Core、Entity Framework Core以及http://ASP.NET Core Identity框架技术的入门图书,旨在帮助读者循序渐进地了解和掌握http://ASP.NET Core。本书使用http://ASP.NET Core从零开始搭建一个实际的项目。从基本的控制台应用程序开始,介绍http://ASP.NET Core基本的启动流程,涵盖http://ASP.NET Core框架中各个技术的实际应用。同时,本书也会介绍一些http://ASP.NET Core的高级概念。在本书中,我们会开发一个学校管理系统,其中包含清晰的操作步骤和大量的实际代码,以帮助读者学以致用,将http://ASP.NET Core的知识运用到实际的项目开发当中,最后我们会将开发的项目部署到生产环境中。通过阅读本书,读者将掌握使用http://ASP.NET Core开发Web应用程序的方法,并能够在对新项目进行技术选型时做出战略决策。

本书适合有一定C# 编程经验和HTML、JavaScript基础,并对http://ASP.NET Core感兴趣的读者阅读,也可以作为高等院校相关专业的教学用书和培训学校的教材。

适用对象

本书适合有一定的C# 编程经验和HTML、 JavaScript基础,并对http://ASP.NET Core感兴趣的开发者,包括以下对象。

  • .NET工程师。
  • 计算机相关专业的 .NET或网页设计方向的在校大学生。
  • 从其他面向对象语言转向学习 .NET编程的开发者。

本书的结构

本书分为以下5个部分。

第一部分(第1章~第9章)介绍http://ASP.NET Core的基础知识,比如中间件、环境变量和配置信息等,简单讲解完整的http://ASP.NET Core的项目结构。

第二部分(第10章~第20章)介绍并运用MVC模型及路由中间件,结合http://ASP.NET Core提供的TagHelper等新特性,完成对学生信息的增删改查、图片上传;介绍简单的仓储模式与依赖注入的关系,为搭建管理系统做好基础准备。

第三部分(第21章~第29章) 通过搭建一个基础管理系统,分析及处理实际业务场景中的常见问题,比如身份验证和授权、客户端及服务端验证、配置信息、 EF Core数据访问、数据分页和统一异常处理等。

用户评论

面瘫脸

这篇文章简直是ASP.NET Core初学者的福音!它清晰地解释了从零开始学习的核心概念,还提供了实用的代码示例。我迫不及待地想要实践学到的知识了!

    有20位网友表示赞同!

∞◆暯小萱◆

如果你是编程新手,这篇文章可能会让你觉得有些吃力。但只要你耐心一点,坚持下去,你会发现自己在一步步掌握这个框架。

    有11位网友表示赞同!

若他只爱我。

对于已经有一定经验的开发者来说,这篇文章可能略显基础。但它对一些关键点的深入解读,还是非常有价值的。

    有6位网友表示赞同!

各自安好ぃ

作者将复杂的技术问题拆解得非常到位,对于那些想要快速入门ASP.NET Core的人来说,这是个非常好的起点。

    有13位网友表示赞同!

妄灸

看完这篇文章后,我觉得自己对ASP.NET Core的理解又提升了一个层次。尤其是那个关于中间件的讲解,让我豁然开朗。

    有13位网友表示赞同!

陌上花

如果这篇文章能更详细地介绍一些高级特性,比如依赖注入和异步编程,那它就完美了。目前,它对初学者来说已经足够好了。

    有8位网友表示赞同!

爱你心口难开

我刚开始接触ASP.NET Core时,这篇教程帮助我迅速理清了头绪。特别是那些实例代码,直接帮我解决了不少困惑。

    有6位网友表示赞同!

矜暮

对于那些已经熟悉其他框架的开发者来说,这篇文章可能无法提供足够的新信息。但对于新手来说,确实是一份宝贵的资源。

    有8位网友表示赞同!

あ浅浅の嘚僾

我很喜欢这篇文章中对ASP.NET Core安全性的强调,特别是关于身份验证和授权的部分。这正是我正在寻找的内容。

    有18位网友表示赞同!

青楼买醉

如果你正在寻找一个既全面又易于理解的指南来开始学习ASP.NET Core,那么这篇文章绝对值得一看。它涵盖了从基础到进阶的所有内容。

    有14位网友表示赞同!

娇眉恨

虽然文章中的代码示例非常有用,但如果能附带更多实际项目案例,可能更能激发读者的兴趣并加深理解。

    有20位网友表示赞同!

太难

对于希望快速上手ASP.NET Core的开发者来说,这篇文章是一个很好的起点。我特别喜欢作者如何将概念与实践相结合的方式。

    有11位网友表示赞同!

别在我面前犯贱

这篇文章在介绍如何设置开发环境和基本操作方面做得非常好。但对于需要深入探讨特定功能的读者,可能还需额外的资源补充。

    有17位网友表示赞同!

病房

作为一个ASP.NET Core的新手,我非常感激这篇文章提供的详尽指导。特别是那些关于错误处理和优化性能的部分,对我帮助很大。

    有9位网友表示赞同!

纯情小火鸡

如果你是ASP.NET Core的老用户,这篇文章可能不会给你带来太多新知识。但对于新手来说,它是一本很好的入门读物。

    有14位网友表示赞同!

绳情

我很欣赏作者在文章中提到的一些最佳实践,特别是关于代码组织和模块化设计的建议。这些建议对我来说非常有价值。

    有7位网友表示赞同!

┲﹊怅惘。

对于那些对ASP.NET Core感兴趣但不确定从何开始的人来说,这篇文章提供了很好的指引。它不仅解释了基本概念,还分享了一些实用技巧。

    有11位网友表示赞同!

迷路的男人

文章中对ASP.NET Core生态系统中其他相关技术的介绍,如NuGet包管理器和Visual Studio IDE的集成,对我来说非常有用。

    有9位网友表示赞同!

Edinburgh°南空

我非常喜欢这篇文章中关于ASP.NET Core路由系统的解释,特别是如何自定义路由部分。这对于构建复杂的Web应用非常关键。

    有17位网友表示赞同!

本文永久网址:

获取方案
咨询电话
13697281325
TOP 在线咨询
TOP TOP