Windows GUI:WPF或WinRT(2015+)
我正在尝试获得不同技术的概述,以便在Windows世界中构建GUI时使用。
对于上下文,我正在构建一个2d平台的多人游戏。 (仅用于学习目的..)
我的老师说他认为WPF是正确的选择,但他似乎只是将它与Windows Forms进行比较。
我的理解是,在2015年的时候,Windows Forms已经完全死了?
在这个其他的stackover问题中,他们说WinRT + XAML是用于Metro GUI构建的(Window 8 tiles thing!),并且WPF似乎只用于Window 7/8中的桌面,并且与Silverlight密切相关。
Windows 8 Runtime(WinRT / Windows Store应用程序/ Windows 10通用应用程序)与Silverlight和WPF相比如何?
我真正的问题是:没有一种好的方法在Window World中构建GUI?
如果不是,应该在Window 7,Window 8(桌面和Metro),Window Phone,(和Windows 10!)甚至x-box上使用哪些技术。
这是不同的技术来比较这种方式吗?
你认为什么是正确的投资时间?
这里有很多,但是这里有:
至于什么花时间,这取决于你的目标:)。 学习WPF / UWP + XAML将为您带来很多好处,如果您想在.NET GUI开发中保持“当前”状态,那就是我所要做的。 WPF具有最多的功能,因此,从那里开始,您只需找到UWP(或任何其他基于XAML的技术)中缺少的解决方法。
如果你这样做,一定要学习MVVM(模型 - 视图 - 视图模型)模式。 它非常适合基于XAML的技术,并允许您在WPF和UWP应用程序之间共享大量逻辑。 如果您最终开发用于iOS / Android的Xamarin应用程序等,也可以使用相同的逻辑。
请注意,对于真正的游戏开发,您需要一个实际的游戏框架(如Unity3D甚至XNA)。 你可以在WPF中做到这一点,这是比Winforms更好的选择,但它们都不适用于游戏。
这是一个相当古老的线索,但就像我通过谷歌(出于兴趣)遇到了这种情况,也许其他人可能也会到达这里。 这是一个新的程序员反复提出的问题。 所以我想回答一些事情,现在Windows 10已经正式发布了。
首先,不应该从Windows窗体开始。 目前它是最成熟的技术,但Windows Forms不会有任何进一步的发展,现在只是在维护阶段。 WPF是积极开发的(最后我读过)。 但现在,Windows Universal Apps(WinRT one)不再需要全屏使用,并且可以像其他桌面应用程序(WPF和WinForms)一样在窗口模式下使用。 这在非平板电脑上增加了很多可用性。 我相信这也将是桌面应用的未来。 虽然,WPF软件是传统的桌面应用程序(没有权限的东西,只有UAC)。 无论哪种方式,无论你学习WPF还是WinRT(使用.Net)开发,你最终都会学到两者。 他们都是XAML + C#(或其他一些.Net语言)。 当WinRT推出Windows 8时,我只是在学习WPF。我感觉就像在家里一样,只有很少的变化,你很快就会习惯。 不知道WinRT中的MVVM场景(数据绑定)。 我仍然在学习WPF的这一方面。
Window 10刚刚启动。 Windows 8 / 8.1并没有像Windows 7那么成功。因此,如果你想构建一个拥有更广泛受众的应用程序,那么现在就应该使用WPF。 但在不久的将来,WinRT将是一条可行之路。
对于你的问题,“应该在Window 7,Window 8(桌面和Metro),Window Phone(和Windows 10!)甚至x-box上使用哪些技术”,单一答案是Windows Universal Apps。 这是这个框架开发的确切原因。 一种技术可用于为所有设备开发应用程序。 桌面,平板电脑,手机(包括使用与Visual Studio 2015捆绑在一起的Xamarin的Android),Xbox和物联网(物联网)。
我会尽力回答你的一个问题:
Windows窗体是完全死了吗?
不,Windows窗体技术并没有死光。 我会告诉你为什么。 WPF和XAML是非常全面和复杂的技术,您可以构建非常好的UI。 但! 这项技术需要深刻的知识。 对于基本布局,您不需要太多知识,但对于某些高级布局,您应该具备深厚的知识,当我开始使用此技术时,并花费大量时间在Google上搜索一些提示。 所以当我需要一些简单的用户输入表单时,我总是选择非常简单直接的Windows窗体技术。 这也是为什么这项技术在来到世界时非常成功的原因。 当你开始使用WPF时,你还需要知道什么是MVVM设计模式,而一些没有经验的程序员会与此混淆。
链接地址: http://www.djcxy.com/p/43645.html