第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 ...
随机推荐
- TrustZone——(一)
本文内容主要来源于网络,综合了网上的多篇文章,也加入了一些自己的理解,重新组织了文章结构使其便于理解. 主要参考的文章包括: 一篇了解TrustZone TrustZone领域先行者 TrustZon ...
- curl 调用url时带有&符号被截断
转载请注明出处: 用curl命令在服务器上调试接口时,一直调试不通,执行如下: 在用curl 执行之后,返回了一个 作业id [ 1 ] 23926 ; 并打印出了 调用执行的url,发现 真正执行的 ...
- .NET for Apache Spark 入门演练
.NET for Apache Spark 入门演练 微软官方文档: .NET for Apache Spark 入门 | Microsoft Learn 注意:由于本次在windows平台下进行演练 ...
- python连接 Basler pylon相机遇到的问题
今天使用下图程序去连接相机 以下是摄像头IP参数 电脑IP参数 在确认电脑能够ping通相机的情况下 以及检查专用软件能否访问之后 依然遇到了以下错误 经过了多番调试之后发现即使能够ping通,子网掩 ...
- 2021-3-9 xml序列化和反序列化
class XmlHelp { #region 调用 /// <summary> /// xml添加 /// </summary> /// <param name=&qu ...
- log4j2---基于vulhub的log4j2漏洞复现---反弹shell
基于vulhub的log4j2漏洞复现---反弹shell 1.方法一 环境准备: 和我上一篇fastjson1.2.24漏洞复现是一样的环境,方法也差别不大 声明:遵纪守法,仅作学习记录用处,部分描 ...
- python:时间模块dateutil
安装 pip install python-dateutil dateutil模块主要有两个函数,parser和rrule. 其中parser是根据字符串解析成datetime,而rrule则是根据定 ...
- 一条命令突破Windows限制,暂定更新时间至3000天
在系统界面上最长也就只能延期 35 天,而且 35 天以后一定要更新了才能继续暂停.不过,我找到了一段能延长暂停时间的代码 reg add "HKEY_LOCAL_MACHINE\SOFTW ...
- 四 APPIUM GUI讲解(Windows版)(转)
Windows版本的APPIUM GUI有以下图标或者按钮: ·Android Settings - Android设置按钮,所有和安卓设置的参数都在这个里面 ·General Settings – ...
- Java不能操作内存?Unsafe了解一下
前言 C++可以动态的分类内存(但是得主动释放内存,避免内存泄漏),而java并不能这样,java的内存分配和垃圾回收统一由JVM管理,是不是java就不能操作内存呢?当然有其他办法可以操作内存,接下 ...