当前位置: 首页 > news >正文

Windows中UWP、WPF和Windows窗体的区别

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样式

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

http://www.lryc.cn/news/36776.html

相关文章:

  • Flink从入门到精通系列(一)
  • 云原生应用风险介绍
  • 什么是测试用例设计?
  • 数据分析:基于K-近邻(KNN)对Pima人糖尿病预测分析
  • Kettle体系结构及源码解析
  • 大数据 | (二)SSH连接报错Permission denied
  • 前端——6.文本格式化标签和<div>和<span>标签
  • 浅谈Xpath注入漏洞
  • Oracle LogMiner分析归档日志
  • 趣味三角——第15章——傅里叶定理
  • 市场营销的核心是什么?
  • c/cpp - 多线程/进程 多进程
  • MySQL必知必会 | 存储过程、游标、触发器
  • 优化Facebook广告ROI的数据驱动方法:从投放到运营
  • 动态规划入门经典问题讲解
  • 快速入门深度学习1(用时1h)
  • PaddleOCR关键信息抽取(KIE)的训练(SER训练和RE训练)错误汇总
  • 信息收集之搜索引擎
  • Flutter(四)布局类组件
  • 【黑马】Java基础从入门到起飞目录合集
  • PMP考前冲刺3.10 | 2023新征程,一举拿证
  • JavaScript Math常用方法
  • 【C++】模板进阶
  • 三板斧解决leetcode的链表题
  • 全生命周期的云原生安全框架
  • 【本地网站上线】ubuntu搭建web站点,并内网穿透发布公网访问
  • 电脑怎么重装系统?教你轻松掌握这些方法
  • leetcode-每日一题-2379(简单,字符串)
  • SLF4J日志框架在项目中使用
  • Spark MLlib 模型训练