第1章 .NET起步
1.1 什么是.NET?
.NET 8.0 SDK下载地址:https://dotnet.microsoft.com/zh-cn/download/dotnet/8.0
.NET 是一个免费的跨平台开源开发人员平台,用于生成许多不同类型的应用。使用 .NET,可以使用多种语言(C#、F#、VB)、编辑器(VS、VSC、Rider)和库(以Microsoft主导的社区提供超过100,000+包来)来构建 Web、移动和桌面、机器学习、游戏开发、IOT 等众多应用。
本系列全程采用.NET 8作为主干,Web项目为案例,带领大家从入门到精通
1.2 为什么选.NET?
1.2.1 高效生产力
.NET 提供泛型、LINQ 和异步编程等高级语言功能,并为开发人员提供广泛的类库和多语言支持。
.NET提供一致性Standard标准,这是一组标准的基类库和API,这些库和API对所有.NET应用程序都是通用的。
.NET还提供了一系列基于基础库构建的应用程序模板,帮助你更快地生成应用,例如Web、移动和桌面、微服务、云服务等等。
.NET 是面向重视生产力、性能、安全性和可靠性的开发人员的终极平台。

1.2.2 跨应用跨语言跨平台
借助.NET,可以面向在任何平台上运行的任何应用程序类型。开发者可以在熟悉的环境中在其之间重复使用技能和代码。这意味着开发人员能够以更少的成本,更快地构建应用。从在 iOS、Android 和 Windows 上运行的移动应用程序到在 Windows Server 和 Linux 上运行的企业服务器应用程序,或在云中运行的大规模微服务,.NET 提供了一个解决方案。
这一切都归功于.NET拥有一个非常罕见的完整编程平台:CLR,CLR不是本系列主题,如果需要的同学多可以单开一个系列带大家了解CLR。
1.2.3 强大的生态
.NET位于.NET Foundation基金会下,.NET基金会为独立组织,旨在促进围绕 .NET 生态系统的开放型开发和协作。目前已有100,000+ OSS贡献,3,700+ OSS公司参与者。
.NET平台拥有Microsoft的官方支持,并受到数以千计的公司和数百万开发人员的信任。除了社区和 Microsoft之外,技术指导组成员 Google、JetBrains、Red Hat、Samsung 和 Unity 正在指导 .NET 平台的未来。
1.2.4 令人惊叹的迭代速度

.NET Core的是.NET的前身,从2016年6月27日发布.NET Core 1.0.0到2018年5月30日发布的2.1.0,.NET Core开始被市场接受,市场表现十分“热闹”。有C#体系下“技术狂热分子”的追捧,也有“守旧派”的抵触,还有不少其它平台的嘲讽。然而这些都没有影响到微软此次开源的决心,没错,.NET Core最大的特点之一就是开源,时至今日都有不少人对C#这门语言的印象停留在Framework,闭源且臃肿。
至.NET Core2.1起,微软投入更多资源来迭代它,以一年一个STS版本的速度进行升级,直到2020年发布.NET 5.0,.NET Core 3.1和Framework 4.8正式被合并为一个统一的版本,至此,微软已经将重点全面转移到了.NET平台。
| 版本 | 原始发布日期 | 最新补丁版本 | 补丁发布日期 | 终止支持 |
|---|---|---|---|---|
| .NET 8 | 预计2023年11月 | -- | -- | 预计2026年11月 |
| .NET 7 | 2022年11月8日 | 7.0.13 | 2023年10月24日 | 2024年5月14日 |
| .NET 6 | 2021年11月8日 | 6.0.24 | 2023年10月24日 | 2024年11月12日 |
| .NET 5 | 2020年11月10日 | 5.0.17 | 2022年5月10日 | 2022年5月10日 |
| .NET Core 3.1 | 2019年12月3日 | 3.1.32 | 2022年12月13日 | 2022年12月13日 |
| .NET Core 3.0 | 2019年9月23日 | 3.0.3 | 2020年2月18日 | 2020年3月3日 |
| .NET Core 2.2 | 2018年12月4日 | 2.2.8 | 2019年11月19日 | 2019年12月23日 |
| .NET Core 2.1 | 2018年5月30日 | 2.1.30 | 2021年8月19日 | 2021年8月21日 |
| .NET Core 2.0 | 2017年8月14日 | 2.0.9 | 2018年7月10日 | 2018年10月1日 |
| .NET Core 1.1 | 2016年11月16日 | 1.1.13 | 2019年5月14日 | 2019年6月27日 |
| .NET Core 1.0 | 2016年6月27日 | 1.0.16 | 2019年5月14日 | 2019年6月27日 |
1.3 怎么学NET?
如上述,.NET平台涵盖太多方向,没有人能够有精力毫无方向的去学习。在接下来的章节中我将聚焦于.NET Web服务端编程领域。
时至今日,前后端分离已经是市场上Web领域的主流架构,而我们聚焦的是后端。
1.3.1 前置内容
在学习.NET Core之前,我希望你能够:
掌握基本C#语法,异步编程
了解面向对象、面向切面编程思想,常见的设计模式
掌握一种ORM,了解常用中间件、数据库
对计算机网络、操作系统、常见数据结构算法有所了解
1.3.2 学习途径
你有且不限于通过经典书籍、视频、博客、官方文档、源码等渠道获取你想要的内容。但互联网上的噪音非常大,希望每一位读者有选择性的择取内容。
本系列将以.NET Web初学者的视角,由浅到深的攻克每一个关键技术点。对于有一定经验的同学,请自行区分所需内容。欢迎同学们反馈。
1.3.3 作者寄言
怎么学?这也许是很多同学的心声,我与你一样,在初遇一个陌生技术栈时,会紧张不安。希望有人提供一个完美的学习路线,会在网络上不停的搜索同类型的技术,对比一下谁强谁弱。。事实上我们花了太多的时间去确认一个本就无法确认的东西,以至于别人都能够写出炫酷的作品时,我们还在门口观望。我想,学习最重要的不是怎么学,而是学本身,学习的初期沉没成本是很低的,我希望初学者不要有那么多为什么?而是多一些是不是?,因为后者是夹杂你个人思考与实践的体现。
什么时候学?种一颗树最好的时间是十年前,其次是现在!
学习没有技巧吗?当然有啊,当前提是你有足够的储备!如果你连基础语法都没有掌握住,来这里问Web怎么学,是不是有一些颠倒因果了呢?对于学习这件事情,作者本身其实也不在行,只有一些老套路--重复且高频、归纳与演绎、验证并预测
最后,做内容创作真的是一件不易的事情,如果你认为这些内容对你有益,能够帮助到你,请帮作者点赞和转发吧,帮助到更多的人吧~
第1章 .NET起步的更多相关文章
- 第一章Python起步
1.1搭建编程环境 编程环境的正确搭建很重要,一定要参考先搭配好环境变量,不然用着会很麻烦,在这里推荐使用工具pycharm,亿图图示画流程图,一定要正确安装,搭配好环境变量,后面要添加很多模块,前期 ...
- 第一章 Bootstrasp起步
模板如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf ...
- 第一章 spring起步
点击 网址 http://start.spring.io/ 就可以获得spring-boot的项目结构. 如下: 将项目解压到自己的项目中,然后找到mian函数所在启动类.运行.出现: 表示已经运行了 ...
- 第一章:起步(python环境搭建)
Python 环境搭建 学习python的第一步,就是要学习python开发环境的配置,在配置好python开发环境后,你需要再安装一款比较趁手的编辑器,事实上,python解释器本身就可以进行一些编 ...
- #Python学习笔记:1-3章 (基于《python编程,从入门到实践)
第1-3章 这个文档是记录我学习python时一些学习笔记以及一些想法也可以称作复习笔记 第一章:起步这一章主要是从第一个"hello world"程序到python环境的搭建与配 ...
- “全能”选手—Django 1.10文档中文版Part1
本文是博主翻译的Django1.10版本官方文档的第一部分,如时间充裕,争取一直翻译下去,经验不足,或有错漏,敬请指正. 另外对于公开文档进行翻译的版权问题不是很清楚,如有侵权请联系我! 另外,要转载 ...
- 深入理解HTML5:语义、标准与样式(勇猛精进早登大师殿堂创最优品质交互)
深入理解HTML5:语义.标准与样式(勇猛精进早登大师殿堂创最优品质交互) [美]布拉德福(Bradford,A.) [美]海涅(Haine,P.)著 高京译 ISBN 978-7-121-20552 ...
- 【Python千问 1】Python核心编程(第二版)导读
第一章 欢迎来到Python世界 什么是Python Python的起源 Python的特点 下载Python 安装Python 运行Python Python文档 比较Python(与其它语言的比较 ...
- 深入理解HTML5:语义、标准与样式
<深入理解HTML5:语义.标准与样式> 基本信息 作者: (美)布拉德福(Bradford,A.) 海涅(Haine,P.) 译者: 高京 出版社:电子工业出版社 ISBN:978712 ...
- 深入浅出话XAML-学习笔记
第一章 XAML是什么? 1.1XAML之前 *设计师的设计更不上程序逻辑的变化 *程序员未能完全实现设计师提供的效果图 *效果图与程序功能不能完全匹配 *从效果图到软件UI的转化耗费很多时间 1.2 ...
随机推荐
- PE结构总览
pe文件经历了从16位系统到32位系统的过度.因此32系统下的每一个PE文件都可以在16位系统下运行. 16位系统下的PE结构 在16位系统下,PE结构可以大致分为两个部分:DOS头和一些其他数据 # ...
- 为什么 PostgreSQL 的适用性很强?
说起使用数量最大的数据库SQLite 它是全球最广泛部署的数据库引擎.它存在于你的手机中,存在于你的浏览器中,如果你搜索你的电脑,你也会在其中找到它的 .db 文件.SQLite 受到 Postgre ...
- 助力618-Y的混沌实践之路
一.写在前面 1.混沌是什么? 混沌工程(Chaos Engineering)的概念由 Netflix 在 2010 年提出,通过主动向系统中引入异常状态,并根据系统在各种压力下的行为表现确定优化策略 ...
- .NET Core WebAPI中使用Swagger(完整教程)
一.Swagger简介 1.1-什么是Swagger? Swagger是一个规范且完整的框架,用于生成.描述.调试和可视化Restfull风格的Web服务. Swagger的目标是对Rest API定 ...
- pc 移动端 双端切换
实现一个项目匹配多个端,使用vue.config自带的page 实现多个页面切换.官网介绍:https://cli.vuejs.org/zh/config/#pages 在创建的vue项目中找到 vu ...
- struct(C# 参考)
struct 类型是一种值类型,通常用来封装小型相关变量组,例如,矩形的坐标或库存商品的特征. 下面的示例显示了一个简单的结构声明. 1 public struct Book 2 { 3 public ...
- 服务端不回应客户端的syn握手,连接建立失败原因排查
背景 测试环境有一个后台服务,部署在内网服务器A上(无外网地址),给app提供接口.app访问这个后台服务时,ip地址是公网地址,那这个请求是如何到达我们的内网服务器A呢,这块我咨询了网络同事,我画了 ...
- uniapp 地图如何添加?你要的教程来喽!
地图在 app 中使用还是很广泛的,常见的应用常见有: 1.获取自己的位置,规划路线. 2.使用标记点进行标记多个位置. 3.绘制多边形,使用围墙标记位置等等. 此篇文章就以高德地图为例,以上述三个常 ...
- 《SQL与数据库基础》20. 主从复制
目录 主从复制 原理 搭建 主库配置 从库配置 测试 本文以 MySQL 为例 主从复制 主从复制是指将主数据库的 DDL 和 DML 操作通过二进制日志传到从库服务器中,然后在从库上对这些日志重新执 ...
- 使用HTML一键打包IPA工具打包KRPANO全景项目
该软件已经被GDB苹果网页一键打包工具取代,详情参考如下链接 GDB苹果网页一键打包 HTML一键打包IPA(苹果应用)工具可以把本地HTML项目或者网站打包为一个苹果应用IPA文件,无需编写任何代码 ...