入门ASP.NET Core,你该怎么学?
时间:2023-05-28 10:21:02 | 来源:网站运营
时间:2023-05-28 10:21:02 来源:网站运营
入门ASP.NET Core,你该怎么学?:根据维基百科的解释,编程语言(Programming Language)是用来定义计算机程序的形式语言,是一种被标准化的交流技巧,用来向计算机发出指令。计算机语言让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下应当采取的行动。
我们接触到的C#、F#、VB、Java、C、C++、Python、Ruby和JavaScript等都是编程语言。而 .NET则是一个通用的开发平台,它包含了.NET Framework、Mono和.NET Core等技术框架,旨在为开发者提供一个具有一致性的编程环境,让代码、部署、版本控制以及基于标准API进行的开发工作都有统一的封装和构建方式,帮助开发者提升开发效率,为用户带来良好的体验。
NET Core的特点
.NET Core的核心是创新、开源和跨平台,可以说.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的支持。
.NET Core与其他平台
.NET Core经常被拿来与其他平台做类比,尤其是它的源头 .NET Framework以及另一个相似性质的开源平台Mono。
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 .NET Core与Mono
Mono是另一个历史悠久的.NET跨平台开源版本,基本上并不隶属微软官方,而是由社区的力量所主导,自成一个生态系统,也开发出了像Xamarin这样的跨平台.NET移动应用。.NET Core与Mono未来会是合作的关系,Mono仍会维持由社区力量主导的维护与发展,而.NET Core则会以官方角度来发展,两者也会一起进行彼此功能上的补充。
3 .NET Core与ASP .NET Core
其实一开始.NET Core与ASP .NET Core并不是主从关系 ,在
http://ASP.NET Core的开发初期 (
http://ASP.NET Next),.NET Core还没有“起跑”。
http://ASP.NET Core当时有自己的运行器与工具,被称为
Project K,后来改为.NET运行环境
(.NET Execution Environment, DNX)。DNX本身就具有可独立运行的能力,不需要依赖 .NET Core运行,但是这样会形成 .NET Core和
http://ASP.NET Core成为“双头马车”的现象。在 .NET Core逐渐成熟之后,微软也决定要将这两个各自独立发展的产品线集成在一起,因此DNX也改用 .NET Core运行器而终止开发,DNX的功能也由 .NET Core以及旗下的 .NET命令行界面(Command-Line Interface,CLI)接替提供,集成后的版本在1.0 RC2的时候就发布了。
ASP .NET的发展历程
严谨来说,
http://ASP.NET本不应该放在此处与以上3个框架平行,但是因为
http://ASP.NET太出名了,因此我觉得有必要厘清它们的关系。
http://ASP.NET最初是.NET Framework框架中的一个组件,用于开发Web应用程序,它是ASP技术的改进版本。需要注意的是,ASP与
http://ASP.NET是完全不同的两个产品。同理,VB和
http://VB.NET也是完全不同的两个产品。ASP和VB都是20世纪的技术,有些“古老”,在此不再赘述,但请务必注意区分它们。
早期的
http://ASP.NET提供一种叫作
WebForm的方式用于呈现网页,它可以让网页开发变得像WinForm开发一样简单且可视化。但随着Web技术的飞速发展,
WebForm由于其低效、封闭和难以定制的缺陷已经逐渐淡出历史舞台。
随着2009年 .NET Framework 3.5的发布,微软提供了全新的
http://ASP.NET网页呈现方式,称为
http://ASP.NET MVC Framework。这套框架遵循MVC设计模式思想,将视图和业务逻辑进行了很好的分离,并且大幅提升了性能和可定制性。
经过多年发展,目前已经更新到了
http://ASP.NET MVC 6,完全采用.NET Core的项目结构,支持.NET Framework、.NET Core和Mono多种运行时。在
http://ASP.NET MVC的未来演进路上,
http://ASP.NET MVC 6将不再存在,而是被称为
http://ASP.NET MVC Core 1.0。
图2.1所示为MVC版本演进的历程。
图2.1
放眼全球,目前 .NET平台具有得天独厚的优越条件。它是市场上唯一能涵盖人工智能、物联网、桌面开发、网页开发、云原生应用、移动应用和游戏开发等细分领域的开发框架。
而随着
http://ASP.NET Core被越来越多的知名企业应用在商业项目中,开发者社区也推出了大量基于
http://ASP.NET Core的周边组件,不停地丰富着
http://ASP.NET Core的生态。
作为 .NET Framework的新一代版本, .NET Core基于.NET Framework 4.x进行了重新设计,更改了体系结构,形成了更精简的模块化框架。随着自身的不断完善, .NET Core新平台已经在软件开发领域扮演越来越重要的角色。
随着学习
http://ASP.NET Core的开发者越来越多,一部分开发者通过官方文档即可入门。但也有很多开发者感觉学习时有些吃力,主要的原因就是市面上缺乏能够用于系统学习
http://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数据访问、数据分页和统一异常处理等。
- 第四部分(第30章~第38章) 介绍架构的作用以及意义,根据架构的思想应用设计模式,结合C#泛型特性优化仓储模式,建立多层体系架构,通过并发、 LINQ及活用Entity Framework Core中的常用功能完成一个类似领域驱动设计的项目。
- 第五部分(第39章~第42章)介绍简单的Web API入门、部署http://ASP.NET Core项目以及从ASP .NET Core 2.2到http://ASP.NET Core 3.1的版本升级过程。