-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
96 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,96 @@ | ||
--- | ||
title: C#开发之——相关概念 | ||
categories: | ||
- 开发 | ||
- E-桌面开发 | ||
- C# | ||
tags: | ||
- C# | ||
abbrlink: 680f7d89 | ||
date: 2018-10-29 22:03:23 | ||
--- | ||
## 一 概述 | ||
|
||
.net、C#、Winform、WPF、UWP 怎么区分。 | ||
|
||
这几个概念都属于微软生态中的开发技术和框架,各有侧重和使用场景 | ||
|
||
<!--more--> | ||
|
||
## 二 区分 | ||
|
||
### 2.1 .NET | ||
|
||
**定义**:微软推出的一套开发平台,是一个可以支持多种编程语言(如C#、VB.NET等)的框架。 | ||
|
||
**特点**: | ||
|
||
- 提供了丰富的类库(Base Class Library, BCL)。 | ||
- 包含运行时环境(Common Language Runtime, CLR)用于执行.NET代码。 | ||
- 支持跨平台开发(.NET Core/.NET 5及以上版本)。 | ||
|
||
**应用场景**:开发桌面应用、Web应用、移动应用、游戏等。 | ||
|
||
### 2.2 C# | ||
|
||
**定义**:.NET平台上的主要编程语言,由微软设计,面向对象,语法类似Java和C++。 | ||
|
||
**特点**: | ||
|
||
- 与.NET平台结合紧密,支持.NET Framework、.NET Core、ASP.NET等。 | ||
- 适用于开发各种类型的应用程序(桌面、Web、云、移动、游戏等)。 | ||
|
||
**应用场景**:用作.NET应用开发的核心语言。 | ||
|
||
### 2.3 WinForms(Windows Forms) | ||
|
||
**定义**:一种基于.NET的GUI(图形用户界面)开发技术,用于创建桌面应用程序。 | ||
|
||
**特点**: | ||
|
||
- 面向事件,基于控件,开发简单,学习曲线低。 | ||
- 偏传统,性能和UI效果有限,不支持复杂的动画。 | ||
|
||
**应用场景**:快速开发简单的Windows桌面应用程序。 | ||
|
||
### 2.4 WPF(Windows Presentation Foundation) | ||
|
||
**定义**:一种更现代的桌面应用开发技术,基于XAML(可扩展应用程序标记语言)。 | ||
|
||
**特点**: | ||
|
||
- 支持矢量图形、动画、数据绑定、响应式UI等。 | ||
- UI和逻辑分离,设计灵活,适合复杂的UI设计。 | ||
- 性能比WinForms更优,适合现代化应用。 | ||
|
||
**应用场景**:需要丰富用户体验和动态UI的Windows桌面应用程序。 | ||
|
||
### 2.5 UWP(Universal Windows Platform) | ||
|
||
**定义**:一个为Windows生态系统(Windows 10及以上)设计的通用应用平台。 | ||
|
||
**特点**: | ||
|
||
- 支持跨设备(PC、平板、Xbox、HoloLens等)运行。 | ||
- 基于XAML,使用C#或C++开发,强调响应式和触控优化。 | ||
- 与Windows Store结合,适合分发和安装。 | ||
|
||
**应用场景**:需要覆盖多个Windows设备的现代应用。 | ||
|
||
## 三 总结和选择 | ||
|
||
### 3.1 总结 | ||
|
||
| 技术 | 特点与适用场景 | | ||
| :------: | :------------------------------------------------: | | ||
| WinForms | 快速开发传统桌面应用,适合简单项目。 | | ||
| WPF | 面向现代UI设计的桌面应用,支持复杂交互和动态效果。 | | ||
| UWP | 为Windows 10及以上设备开发跨平台应用。 | | ||
| .NET | 开发平台的核心,统一支持各种语言和框架。 | | ||
| C# | .NET平台上的主要开发语言,支持多种应用开发。 | | ||
|
||
### 3.2 区别 | ||
|
||
* 如果需要开发传统的Windows桌面应用程序,可以选择 **WinForms** 或 **WPF**,具体取决于UI需求和复杂度。 | ||
* 如果目标是覆盖多个设备(PC、平板、Xbox等),可以选择 **UWP**。 | ||
* 所有这些技术都需要在 **.NET平台** 上使用,而 **C#** 是最常用的语言。 |