Skip to content

Commit

Permalink
Create C#开发之——相关概念.md
Browse files Browse the repository at this point in the history
  • Loading branch information
PGzxc committed Dec 8, 2024
1 parent c4f38f6 commit a110fdc
Showing 1 changed file with 96 additions and 0 deletions.
96 changes: 96 additions & 0 deletions source/_posts/C#开发之——相关概念.md
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#** 是最常用的语言。

0 comments on commit a110fdc

Please sign in to comment.