第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 ...
随机推荐
- 压制GIF做的一点点小尝试 以及ezgif的基本功能使用
事情的起因 首先群友给我整了个loli莉音的视频 很可爱 但是用qq接收的视频没法一直在那边kawaii 图片本身很小其实 但是转gif就很大 转出来的gif的大小就大的唏嘘 寻找问题 这就是mp4的 ...
- 我是如何组织 Go 代码的(目录结构 依赖注入 wire)
背景 对于大多数 Gopher 来说,编写 Go 程序会直接在目录建立 main.go,xxx.go,yyy.go-- 不是说不好,对于小型工程来说,简单反而简洁明了,我也提倡小工程没必要整一些花里胡 ...
- 今日ERROR
树莓派插卡发烫严重 首先,我们要知道: 树莓派的指示灯可以告诉用户系统的工作状态,常见的指示灯有四个,分别是红色电源灯.绿色SD卡读写灯.黄色ACT指示灯和蓝色网络连接指示灯(仅适用于某些型号的树莓派 ...
- 信奥赛题1001:Hello,World!
这个题实在是太简单的了,无法比喻,直接付代码! //c++ #include<bits/stdc++.h> using namespace std; int main() { cout&l ...
- python3 猜数字小游戏
Guess_the_Number.py import random # Generate a random number between 1 and 100 number = random.randi ...
- java读取txt文件解决乱码问题
说明:由于txt文件有bom和不同的编码方式,导致导入数据时产生乱码,以下代码完美解决乱码问题. 参考他人代码,结合自己的业务加工完成,费了大半天功夫完成,希望对大家有点用处. 废话不多说,直接上代码 ...
- p2:认识requests库的常用方法与实战
二.全面认识requests库的常用方法 requests是python第三方库安装命令方法如下: pip install requests python的默认的测试用来规则 1.模块名必须以test ...
- SpringCloudAlibaba框架学习
遇到问题找了各种办法都没有解决,就reload maven,再不行就重启idea,重启电脑.(有奇效,我好几次就这么解决的,可能是我电脑配置太拉了) 注册中心 - Nacos 配置文件优先级:本地配置 ...
- 高性能MySQL实战(一):表结构
最近因需求改动新增了一些数据库表,但是在定义表结构时,具体列属性的选择有些不知其所以然,索引的添加也有遗漏和不规范的地方,所以我打算为创建一个高性能表的过程以实战的形式写一个专题,以此来学习和巩固这些 ...
- 【路由器】OpenWrt 简介和安装
目录 简介 来源 介绍 安装 一般安装流程 固件搜索下载 参考资料 简介 来源 2002 年底 Linksys 公司推出 WRT-54G,采用了 Linux 取代了原来的 vXworks 系统.迫于 ...