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



我知道XAML用于结合Blend设计UI。我对很多术语感到困惑,例如,XAML 如何用于 WPF、应用商店应用、手机应用或 UWA。此外,WPF,应用商店应用程序,电话应用程序和UWA之间有什么区别。这一切是否意味着旧的桌面项目将不再被WPF或应用商店应用或UWA使用和替换?

当.NET在~2000年发布时,您可以使用WinForms为Windows制作桌面应用程序。它通过将Windows API包装在托管代码中,提供对"本机"控件的访问(即WinForms中制作的按钮实际上是来自user32.dll的Windows Button控件)。这些可以在安装了相应.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 或不到 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的发布,Microsoft制作了UWP(通用Windows平台),通过它,您可以使用相同的代码库来针对不同类型的设备(桌面/移动设备/xbox/IoT/全息)。这些为 UWP 制作的应用程序类似于早期的 Windows 8/8.1 应用程序。像以前一样,XAML 用于描述 GUI。

仅对于 Windows 应用商店应用,没有向后兼容性。时间线Windows 8 -> Windows 8.1 -> Windows 10/UWP .在 UWP 中制造的应用只能在 Windows 10 中运行,而在 Windows 8.1 中制造的应用不能在 Windows 8 中运行。

我强烈建议在stopbyte中引用这个讨论线程,它对WPF,UWP和WinRT背后的概念有更多的细节和解释。

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

最新更新