.NET
同义词 NET一般指.NET
本词条由“科普中国”科学百科词条编写与应用工作项目 审核 。
.NET是一种用于构建多种应用的免费开源开发平台,可以使用多种语言,编辑器和库开发Web应用、Web API和微服务、云中的无服务器函数、云原生应用、移动应用、桌面应用、Windows WPF、Windows窗体、通用 Windows平台 (UWP)、游戏、物联网 (IoT)、机器学习、控制台应用、Windows服务。.NET类库在不同应用和应用类型中共享功能,无论构建哪种类型的应用,代码和项目文件看起来都一样,可以访问每个应用的相同运行时、API和语言功能。
.NET 是一种用于构建多种应用的免费开源开发平台,例如:
Web 应用、Web API 和微服务
云中的无服务器函数
云原生应用
移动应用
桌面应用
Windows WPF
Windows 窗体
通用 Windows 平台 (UWP)
游戏
物联网 (IoT)
机器学习
控制台应用
Windows 服务
使用类库在不同应用和应用类型中共享功能。
使用 .NET 时,无论你正在构建哪种类型的应用,代码和项目文件看起来都一样。 可以访问每个应用的相同运行时、API 和语言功能。
跨平台
可以为许多操作系统创建 .NET 应用,包括:
Windows
macOS
Linux
Android
iOS
tvOS
watchOS
支持的处理器体系结构包括:
X64
x86
ARM32
ARM64
通过 .NET,可以使用特定于平台的功能,如操作系统 API。 例如 Windows 上的 Windows 窗体和 WPF,以及从 Xamarin 到每个移动平台的原生绑定。
有关详细信息,请参阅支持的 OS 生命周期策略和 .NET RID 目录。
开源
.NET 是开放源代码,使用 MIT 和 Apache 2 许可证。 .NET 是 .NET Foundation 的项目。
有关详细信息,请参阅 GitHub.com 上的项目存储库列表。
.NET 应用是针对一个或多个 .NET 实现开发的。 .NET 实现包括 .NET Framework、.NET 5(和 .NET Core)以及 Mono。
.NET 的每个实现都具有以下组件:
一个或多个运行时 — 例如 .NET Framework CLR 和 .NET 5 CLR。
类库 — 例如 .NET Framework 基类库和 .NET 5 基类库。
(可选)一个或多个应用程序框架 — 例如 ASP.NET、Windows Forms 和 Windows Presentation Foundation (WPF) 都包括在 .NET Framework 和 .NET 5+ 中。
可包含开发工具。 某些开发工具在多个实现之间共享。
Microsoft 支持以下四种 .NET 实现:
.NET 5(和 .NET Core)及更高版本
.NET Framework
Mono
UWP
.NET 6 现在是主要的实现,是正在进行的开发的重点。 .NET 6 是基于单个代码基底进行构建的,该代码基底支持多个平台和许多工作负载,例如 Windows 桌面应用和跨平台控制台应用、云服务和网站。 某些工作负载(例如 .NET WebAssembly 生成工具)作为可选安装提供。
ASP.NET 是一个免费的 web 框架,用于使用 HTML、CSS 和 JavaScript 构建强大的网站和 web 应用程序。 还可以创建 Web Api 并使用 Web 套接字等实时技术。
ASP.NET Core是 ASP.NET 的一种替代方法。 请参阅有关如何在 ASP.NET 与 ASP.NET Core 之间进行选择的指南。
入门
安装Visual Studio 2019社区版,适用于 Windows 上的 ASP.NET 的免费 IDE。
网站和 web 应用程序
ASP.NET 提供了三个用于创建 web 应用程序的框架: Web 窗体、ASP.NET MVC 和 ASP.NET 网页。 所有这三个框架都是稳定且成熟的,你可以用其中任何一个框架创建优秀的 web 应用程序。 无论选择何种框架,都可以在任何位置获得 ASP.NET 的所有优点和功能。
每个框架都以不同的开发样式为目标。 选择哪一种取决于编程资产的组合(知识、技能和开发经验)、要创建的应用程序类型,以及你熟悉的开发方法。
下面是每个框架的概述,以及如何在它们之间进行选择的一些建议。 如果你更喜欢视频简介,请参阅使用 ASP.NET 生成网站和什么是 Web 工具?
网站和 WEB 应用程序
如果你有经验 开发样式 专业知识
Web Forms — Web 窗体 Win 窗体,WPF,.NET 使用封装 HTML 标记的丰富控件库进行快速开发 中级、高级 RAD
MVC Ruby on Rails,.NET 完全控制 HTML 标记、代码和标记的分隔,并易于编写测试。 适用于移动和单页应用程序(SPA)的最佳选择。 中级、高级
网页 经典 ASP,PHP 同一文件中的 HTML 标记和代码 新的中级
Web Forms — Web 窗体
使用 ASP.NET Web 窗体,可以使用熟悉的拖放事件驱动模型构建动态网站。 利用设计图面以及许多控件和组件,你可以迅速生成带有数据访问的高级的、功能强大的 UI 驱动型网站。
了解有关 Web 窗体的详细信息
MVC
ASP.NET MVC 为你提供功能强大、基于模式的方法来构建实现完全分离关注点的动态网站,从而让你完全控制标记,以便进行愉快、灵活的开发。 ASP.NET MVC 包括许多功能,可实现快速、TDD 友好的开发,以便创建使用最新 Web 标准的复杂应用程序。
了解有关 MVC 的详细信息
ASP.NET 网页
ASP.NET 网页和 Razor 语法提供一种将服务器代码与 HTML 组合在一起以创建动态 Web 内容的快速、易学的简便方法。 连接到数据库,添加视频,链接到社交网络网站,并提供更多的功能,可帮助您创建符合最新 web 标准的精美站点。
详细了解网页
有关 Web 窗体、MVC 和网页的注释
所有三个 ASP.NET 框架都基于 .NET 和 ASP.NET 的 .NET Framework 和共享核心功能。 例如,所有三个框架都提供一个基于成员身份的登录安全模型,而所有三个共享相同的功能来管理请求、处理会话等,这是核心 ASP.NET 功能的组成部分。
此外,三个框架并不完全独立,而是选择不能排除使用另一个框架。 由于框架可以共存于同一个 web 应用程序中,因此查看使用不同框架编写的应用程序的各个组件并不少见。 例如,应用程序的面向客户的部分可能在 MVC 中进行开发以优化标记,而数据访问和管理部分则在 Web 窗体中开发,以利用数据控件和简单的数据访问。
Web API
ASP.NET Web API 是一种框架,用于轻松构建可以访问多种客户端(包括浏览器和移动设备)的 HTTP 服务。 ASP.NET Web API 是用于在 .NET Framework 上生成 RESTful 应用程序的理想平台。
详细了解 Web API
实时技术
ASP.NET SignalR 是 ASP.NET 开发人员的新库,使开发实时 web 功能变得更加容易。 SignalR 允许服务器和客户端之间的双向通信。 服务器可以立即将内容推送到连接的客户端。 SignalR 支持 Web 套接字,并回退到旧版浏览器的其他兼容技术。 SignalR 包括用于连接管理的 Api (例如,连接和断开连接事件)、分组连接和授权。
了解有关 SignalR 的详细信息
移动应用和站点
ASP.NET 可以使用 Web API 后端为本机移动应用程序提供支持,还可以使用 Twitter 启动等响应式设计框架来处理移动网站。 如果要生成本机移动应用,可以轻松创建基于 JSON 的 Web API 来处理应用的数据访问、身份验证和推送通知。 如果要构建一个响应迅速的移动站点,则可以使用所需的任何 CSS 框架或打开的网格系统,或使用 PhoneGap 选择一个功能强大的移动系统,如 jQuery Mobile 或 Sencha 和出色的移动应用程序。
了解有关移动应用和站点开发的详细信息
单页应用程序
ASP.NET 单页应用程序(SPA)可帮助你使用 HTML 5、CSS 3 和 JavaScript 构建包含重要客户端交互的应用程序。 Visual Studio 包含一个模板,用于使用挖空和 ASP.NET Web API 生成单页面应用程序。 除了内置的 SPA 模板以外,还可下载社区创建的 SPA 模板。
了解有关单页应用开发的详细信息
WebHook
Webhook 是一种轻型 HTTP 模式,它提供了一个简单的发布/订阅模型,用于将 Web Api 和 SaaS 服务连线在一起。 当服务中发生事件时,会以 HTTP POST 请求的形式向注册的订阅者发送通知。 POST 请求包含有关事件的信息,使接收方可以相应地执行操作。
Webhook 由大量服务公开,包括 Dropbox、GitHub、Instagram、MailChimp、PayPal、时差、Trello 等。 例如,WebHook 可以指示在 Dropbox 中更改了某个文件,或在 GitHub 中提交了代码更改,或在 PayPal 中启动了一个付款,或者在 Trello 中创建了一个卡。
C# 简介
C# 是一个现代的、通用的、面向对象的编程语言,它是由微软(Microsoft)开发的,由 Ecma 和 ISO 核准认可的。
C# 是由 Anders Hejlsberg 和他的团队在 .Net 框架开发期间开发的。
C# 是专为公共语言基础结构(CLI)设计的。CLI 由可执行代码和运行时环境组成,允许在不同的计算机平台和体系结构上使用各种高级语言。
下面列出了 C# 成为一种广泛应用的专业语言的原因:
现代的、通用的编程语言。
面向对象。
面向组件。
容易学习。
结构化语言。
它产生高效率的程序。
它可以在多种计算机平台上编译。
.Net 框架的一部分。
C# 强大的编程功能
虽然 C# 的构想十分接近于传统高级语言 C 和 C++,是一门面向对象的编程语言,但是它与 Java 非常相似,有许多强大的编程功能,因此得到广大程序员的青睐。
C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员Anders Hejlsberg的最新成果。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司.NET windows网络框架的主角。
C#(读做 “C sharp”,中文译音暂时没有.专业人士一般读"C sharp",现在很多非专业一般读"C井"。 C#是一种安全的、稳定的、简单的、优雅的,由C和C++衍生出来的面向对象的编程语言。它在继承C和C++强大功能的同时去掉了一些它们的复杂特性(例如没有宏和模版,不允许多重继承)。C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。
并且C#成为ECMA与ISO标准规范。C#看似基于C++写成,但又融入其它语言如Pascal、Java、VB等。 微软c#语言定义主要是从C和C++继承而来的,而且语言中的许多元素也反映了这一点.C#在设计者从C++继承的可选选项方面比Java要广泛一些(比如说struts),它还增加了自己新的特点(比方说源代码版本定义).但它还太不成熟,不可能挤垮Java.C#还需要进化成一种开发者能够接受和采用的语言.而微软当前为它的这种新语言大造声势也是值得注意的.目前大家的反应是:“这是对Java的反击.” C#更像Java一些,虽然微软在这个问题上保持沉默.这也是意料中的事情,我觉得,因为Java近来很成功而使用Java的公司都报告说它们在生产效率上比C++获得了提高. Java所带来的巨大影响和大家对它的广泛接受已经由工作于这种语言和平台之上的程序员数量明显的说明了(估计世界范围内共有两百五十万程序员使用Java).由这种语言写成的应用程序的数量是令人惊讶的并已经渗透了每一个级别的计算,包括无线计算和移动电话(比如日本发明的Java电话)
.NET 下面有很多编程语言,有 C#,VB,F#,J#,但是根据市场份额来看,C#是.NET下面热度最高的语言
NET 是一个编码框架。
C# 是一种设计用来利用.NET优势的语言。
另: Visual Basic 也是一种 .NET 语言,选择C#还是VB只是一种偏好问题。而 Visual Studio 是一个协助用户进行.NET编码的工具。