gpt4 book ai didi

c# - Windows 图形用户界面 : WPF or WinRT (2015+)

转载 作者:IT王子 更新时间:2023-10-29 03:36:43 29 4
gpt4 key购买 nike

我正在尝试了解不同技术的概况,在 Windows 世界中构建 GUI 时使用。

就上下文而言,我正在构建一个小型 2d 平台多人游戏。(仅供学习之用..)

我的老师说他认为 WPF 是正确的方法,但他似乎只是将其与 Windows 窗体进行比较。

我的理解是,在 2015 年,Windows Forms 已经完全死了?

在其他 stackover 问题中,他们说 WinRT+XAML 用于 Metro GUI 构建(Window 8 tile 东西!),而且 WPF 似乎仅用于 Window 7/8 中的桌面并且与 Silverlight 密切相关。 .

How does Windows 8 Runtime (WinRT / Windows Store apps / Windows 10 Universal App) compare to Silverlight and WPF?

  • The desktop is where the old apps live (red. WFP).
  • The new class of applications, Metro applications, can be built in a number of ways, including by VB.NET, C# or C++. These three language options can use XAML for building the UI. The alternative is to use JavaScript/HTML5/CSS for the development of both the UI and application code.

我真正的问题是:难道没有一种在 Window World 中构建 GUI 的好方法吗?

如果不是,应该在 Window 7、Window 8(桌面和 Metro)、Window Phone(和 Windows 10!),甚至 x-box 上使用哪些技术。

这样比较不同的技术吗?

您认为什么是正确的投资时间?

最佳答案

这里有很多,但这里有:

  • Windows 窗体 (Winforms) 已死了吗?不,它仍然受到积极支持。也就是说,它是一项可怕的技术(至少在您了解 WPF 的魔力之后)
  • 如果您想构建一个美观、设计良好的桌面(经典,而非 Metro)应用程序,WPF 是纯 .NET 术语的答案。您可以使用 WinRT API(例如它们的套接字类),但您不能在 Windows 8 之前的操作系统上运行它们。UI 仍然是 WPF。
  • WinRT 应用适用于 Windows 8 应用商店(它们也可在 Windows 10 应用商店中获得)。你不能在这里使用 WPF,也不能在桌面上使用 WinRT,所以你部署的地方决定了你使用什么。您对可用语言/技术的理解是正确的。
  • Windows Phone 8(现已弃用)使用经过修改的 WinRT 运行时(这在 Windows 10 中已更改)。对于 Win8/WP8,您可以使用“通用”应用在标准 WinRT 应用和 Windows Phone 应用之间共享大部分代码。
  • Windows 10 使用基于 WinRT 的通用 Windows 平台 (UWP)。为 Windows 10 开发的代码也可用于 Xbox One、Windows 10 Mobile 和 HoloLens。 WPF 仍然适用于“标准”桌面应用程序。
  • Xbox 很棘手。 XNA 已经消失,微软似乎正在远离社区为该平台创建的内容。也就是说,Unity3D 可以部署到 Xbox,我相信标准的 DirectX (C++) 开发适用于它。通用 Windows 平台应用程序也可以部署在 Xbox One 上,这似乎是微软 future 的战略。
  • 截至 2021 年,WinUI 3 是一个新的 UI 框架,它将 UWP 的 UI 框架引入“桌面”应用。该技术可让您部署到 Windows 10 和 11。现有的 XAML UWP 应用程序通常可以通过更改为新的命名空间轻松移植到 WinUI 3。如果今天开始申请,我会认真考虑走这条路。它是 Windows App SDK 的一部分。

至于花时间做什么,这取决于您的目标:)。如果您想在 .NET GUI 开发中保持“最新”,学习 WPF/UWP + XAML 会给您带来很多好处,所以这就是我想要的。 WPF 具有最多的功能,因此从那里开始,您只需找到 UWP(或任何其他基于 XAML 的技术)中缺少的解决方法。

如果您这样做,请务必学习 MVVM(模型- View - View 模型)模式。它真的与基于 XAML 的技术配合得很好,并允许您在 WPF 和 UWP 应用程序之间共享大量逻辑。如果您最终为 iOS/Android 等开发 Xamarin 应用程序,也可以使用相同的逻辑。

请注意,对于真正 游戏开发,您需要一个实际 游戏框架(如 Unity3D 甚至 XNA)。您可以在 WPF 中完成,这是比 Winforms 更好的选择,但两者都不是真正适合游戏的。

关于c# - Windows 图形用户界面 : WPF or WinRT (2015+),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28586642/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com