Windows中UWP、WPF和Windows窗体的区别
创始人
2024-06-01 07:26:35
0

Windows 中开发应用(或者可以说客户端)有三种方法: UWP(Universal Windows Platform)、WPF(Windows Presentation Foundation)和 Windows 窗体(Win Forms)。这三种方法在现在的 Windows 10/11 上都可以使用,那么它们区别是什么呢?

深入来说,三者的区别在于构成原理和设计目标是不一样的,下面按照时间从早到晚来介绍。
首先是 Windows 窗体(Win Forms)。Win Forms 基于 Win32 API,现在还很常用,但是一般用于没有特别多效果和动画的实用工具。一般用于台式机、笔记本和平板电脑上。
其次是 WPF(Windows Presentation Foundation)。WPF 基于 DirectX 图形系统之上,可以制作很不错的 UI 功能和效果,代码量也大大减少。一般用于台式机、笔记本和平板电脑上。
最后是最新的 UWP。UWP 基于 WinRT API,与 WPF 开发非常相似。但是 UWP 的目的是为了在所有的平台上都可以运行,具体来说有台式机、笔记本电脑、平板电脑、Xbox One、Surface Hub 或 HoloLens 设备,就像 Apple 的 SwiftUI 一样。而且微软也开发了和 SwiftUI 相似的 Windows UI 库 “WinUI” ,目前已经到了第三代。

从未来发展方向和开发所需工作量来看,无论是安全性还是对高 DPI 和不同设备适配更好,UWP 无疑是未来。但是 Windows 的冗余还是对旧系统的兼容,都会导致有时还是会有 WPF 和 Win Forms 开发的场景。

看完上文中原理和设计目标的区别,可以再看看表面的区别(默认使用的 UI 库):三者的通用窗口样式不一样,UWP 是纯扁平化风格(Windows 10常见风格),WPF 拟物风格和扁平化风格各一半(Windows 7 常见风格),而 Windows 窗体的风格是比 WPF 稍微拟物一些。

下面三幅图为微软官方展示相同后台代码和设计的应用在三种不同方法的常见样式(注意看窗口的标题栏)。

UWP样式:

UWP样式

WPF样式:

WPF样式

Win Forms样式:

Win Forms样式

希望可以帮到有需要的人~

相关内容

热门资讯

AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
AWR报告解读 WORKLOAD REPOSITORY PDB report (PDB snapshots) AW...
AWS管理控制台菜单和权限 要在AWS管理控制台中创建菜单和权限,您可以使用AWS Identity and Access Ma...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...
Azure构建流程(Power... 这可能是由于配置错误导致的问题。请检查构建流程任务中的“发布构建制品”步骤,确保正确配置了“Arti...
群晖外网访问终极解决方法:IP... 写在前面的话 受够了群晖的quickconnet的小水管了,急需一个新的解决方法&#x...
AWSECS:哪种网络模式具有... 使用AWS ECS中的awsvpc网络模式来获得最佳性能。awsvpc网络模式允许ECS任务直接在V...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...