XAML vs WPF vs商店应用vs手机应用vs UWA

XAML vs WPF vs商店应用vs手机应用vs UWA,wpf,xaml,windows-store-apps,Wpf,Xaml,Windows Store Apps,我知道XAML是用来结合Blend设计UI的。我对很多术语感到困惑,比如XAML是如何在WPF、商店应用程序、电话应用程序或UWA中发挥作用的。此外,WPF、商店应用程序、电话应用程序和UWA之间的区别是什么。所有这一切是否意味着旧的桌面项目将不再被WPF、Store App或UWA使用和取代?当.NET于2000年发布时,您可以使用WinForms为Windows制作桌面应用程序。它通过将Windows API包装在托管代码中,提供对“本机”控件(即WinForms中制作的按钮实际上是user

我知道XAML是用来结合Blend设计UI的。我对很多术语感到困惑,比如XAML是如何在WPF、商店应用程序、电话应用程序或UWA中发挥作用的。此外,WPF、商店应用程序、电话应用程序和UWA之间的区别是什么。所有这一切是否意味着旧的桌面项目将不再被WPF、Store App或UWA使用和取代?

当.NET于2000年发布时,您可以使用WinForms为Windows制作桌面应用程序。它通过将Windows API包装在托管代码中,提供对“本机”控件(即WinForms中制作的按钮实际上是user32.dll中的Windows按钮控件)的访问。这些可以在安装了相应.NET framework版本的任何Windows版本中运行,包括高达Windows 10的版本

2006年,WPF发布,它是WinForms的替代品。WPF使用XAML(一种基于XML的语言)来声明用户界面元素。在一个简单的WPF应用程序中,.xaml文件描述GUI,代码隐藏文件描述逻辑。DirectX用于将.xaml中描述的内容绘制到窗口中

与Winforms一样,使用WPF制作的程序可以在安装了相应.NET framework版本的任何Windows版本中运行,包括高达Windows 10的版本。注意,使用XAML是完全可选的。使用XAML描述的任何用户界面元素也可以使用.NET语言C#或VisualBasic.NET制作。但是使用XAML通常更简单。看

发件人:

由于XAML只是基于XML,开发人员和设计人员可以在他们之间自由共享和编辑内容,而无需编译

从2012年起,随着Windows 8的推出,一种新的应用程序可以被称为metro/modern/Windows-8/Windows应用商店应用程序。这些应用程序与WPF类似,它们使用XAML来描述GUI。这些应用程序只能在Windows 8、8.1和Windows 10中运行。Windows8.1增加了一些改进和功能,但基本保持不变。同样的技术也被用于为Windows Phone制作应用程序

随着Windows 10的发布,Microsoft制造了UWP(通用Windows平台),通过该平台,您可以使用相同的代码库来针对不同类型的设备(台式机/移动设备/xbox/物联网/全息设备)。这些UWP应用程序与早期的Windows 8/8.1应用程序类似。与前面一样,XAML用于描述GUI


仅针对Windows应用商店应用程序,没有向后兼容性。时间线是
windows8
->
windows8.1
->
windows10/UWP
。UWP中的应用程序只能在Windows 10中运行,而Windows 8.1中的应用程序不能在Windows 8中运行

我强烈建议在stopbyte中引用此讨论线程,它有更多的细节和内容

至于WinForms,根据我的经验,它已经成为历史。几乎被WPF所取代(尽管它仍然有@Jazimov提到的主流支持)。
我注意到微软已经停止改进Windows窗体,可能也停止了维护它。

历史是这样的。WPF首先使用XAML。随后,WINRT将MSFT送入太空,并推出了他们所谓的商店应用程序XAML。谷歌WPF死了?手机应用程序也可以使用XAML,但它是自己的平台,有点像Silverlight。为了弥补这些差距,UWA改变了主意,谁还在乎呢,因为微软公司用Windows8把所有的东西都装上了软管,并试图把它们重新组装起来,但他们没有做到这一点。顺便说一句,你根本不需要混合。你可能会发现我的维基文章很有用:谢谢你的回答。因此,这意味着,如果我想在Windows 8.1的各种设备(PC/平板电脑/手机)上运行我的应用程序,我必须使用Windows 8.1的通用项目模板。对于Windows 10,我必须使用UWP项目模板,对吗?是的,没错。注意:Windows 8.1不像UWP那样“通用”,因为它只能在Windows 8.1桌面和Windows 8.1手机之间共享资源。在UWP中,所有形式因素都使用相同的代码基。如果我错了,请纠正我,但我认为XAML在winRT中与在WPF中不同。@Dinei Rockenbach-是的,如果需要支持Windows 7,WPF将是唯一的选项,因为Windows 8是UWP应用程序所需的最早操作系统。XAML对于UWP也是可选的,甚至C#也只是UWP支持的语言之一。Winforms绝对不是“历史”。它得到了许多第三方供应商(DevExpress、Syncfusion、Telerik、Infragistics、ComponentOne、Dart等)的主流支持,并且论坛仍在蓬勃发展。而且,无意冒犯,但带有非权威性“我相信”类型因子的答案与寻找答案的人没有多大关系。