XAML vs WPF vs Store App vs Phone App vs UWA

Yea*_*iam 20 wpf xaml windows-store-apps

我知道XAML用于与Blend一起设计UI.我对如此多的术语感到困惑,比如,XAML如何为WPF,Store App,Phone App或UWA发挥作用.更重要的是,WPF,Store App,Phone App和UWA之间有什么区别.这是否意味着旧的桌面项目将不再被WPF或Store App或UWA使用和替换?

Ani*_*rma 49

当.NET在〜2000年发布时,您可以使用WinForms为Windows制作桌面应用程序.它通过将Windows API包装在托管代码中,提供对"本机"控件的访问(即,WinForms中的Button实际上是来自user32.dll的Windows Button控件).这些可以在安装了适当的.NET框架版本的任何Windows版本中运行,包括Windows 10.

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

与Winforms一样,使用WPF创建的程序可以在安装了相应.NET框架版本的任何Windows版本中运行,包括最高版本的Windows 10.请注意,使用XAML是完全可选的.使用XAML描述的用户界面元素也可以使用.NET语言C#或VisualBasic.NET.但使用XAML通常更简单.请参阅XAML或不使用XAML(MSDN博客).

来自XAML(维基百科):

由于XAML仅基于XML,因此开发人员和设计人员可以在不需要编译的情况下自由地共享和编辑内容.

从2012年开始,随着Windows 8,可以制作一种名为metro/modern/windows-8/windows-store-apps的新应用程序.这些应用程序与WPF类似,因为它们使用XAML来描述GUI.这些应用程序只能在Windows 8,8.1和Windows 10中运行.Windows 8.1添加了一些改进和功能,但大致保持不变.使用相同的技术为Windows Phone制作应用程序.

随着Windows 10的发布,微软制作了UWP(通用Windows平台),通过它可以使用相同的代码库来定位不同类型的设备(桌面/移动/ xbox /物联网/全息).这些为UWP制作的应用程序与早期的Windows 8/8.1应用程序类似.像以前一样,XAML用于描述GUI.

仅适用于Windows应用商店应用,没有向后兼容性.时间表是Windows 8- > Windows 8.1- > Windows 10/UWP.在UWP中制作的应用程序只能在Windows 10中运行,在Windows 8.1中制作的应用程序无法在Windows 8中运行.

  • @Dinei Rockenbach - 是的,如果需要支持Windows 7,WPF将是唯一的选择,因为Windows 8是UWP应用程序所需的最早操作系统. (4认同)
  • 是啊,没错.注意Windows 8.1不像UWP那样"通用",因为它只能在Windows 8.1桌面和Windows 8.1 Phone之间共享资源.在UWP中,相同的代码库用于所有形状因子. (2认同)
  • 如果我错了,请纠正我,但我认为XAML在winRT中与在WPF中不同. (2认同)