通用Windows平台是Windows 8和Windows Phone应用程序的WinRT替代品吗?



通用Windows平台是Windows 8和Windows Phone应用程序的WinRT替代品吗?我的意思是,有一个WinRT平台专门为Windows 8开发地铁应用程序。现在,它被UWP取代了,不是吗?

没错,UWP是未来所有Windows设备(win10 +)的新平台。然而,WinRT并没有被UWP取代,而是在它的基础上进行了扩展,使UWP成为一组更广泛的api,可以在更多的设备上使用。正如微软自己所说:

随着这一演变,针对UWP的应用程序不仅可以调用所有设备通用的WinRT api,还可以调用特定于应用程序运行的设备系列的api(包括Win32和。net api)。

UWP平台支持"通用设备家族"类api,然后在所有windows平台(Xbox, Phone, Desktop等)上支持。你可以使用一些扩展家族来限制应用程序的覆盖范围,比如"移动设备家族"。

然而,这些特定的设备系列api可以在运行时进行检查并优雅地使用。例如,你可以在手机上使用GPS显示自己的位置,但不能在Xbox上启用该功能。

我希望这个答案对你有所帮助,如果你还有更多的问题,我建议你阅读这篇关于UWP平台的文章:

来源:https://msdn.microsoft.com/library/windows/apps/dn894631.aspx

祝你有美好的一天!

这有点令人困惑,因为在Windows 8中。x,"Windows Runtime"实际上指的是一些不同的东西:

  1. 用于定义和消费Windows api的新模式(以及支持代码/操作系统组件),意味着在大多数情况下,用于新api的新模式将在很大程度上取代"Win32"(即平面c风格)和经典COM。这实际上是关于语言互操作的:允许Windows团队(以及潜在的其他人)在c++中创建组件,这些组件暴露的api不依赖于GC或像CLR那样的运行时,但在c#或JavaScript中使用仍然感觉相对自然,而不需要手动编写包装器。

  2. 遵循上述模式的Windows api的集合。

  3. 用于构建和运行新型Windows应用程序的新平台/环境,这意味着具有移动和web应用程序的一些特征,在系统安全性,可靠性,性能,电池寿命等方面造成更少的潜在问题。就是Windows 10演变成UWP的原因。

在Windows 8的大部分时间里,这些应用程序在8.0的公开预览期间被称为"Metro风格的应用程序",在RTM之前被正式命名为"Windows Store应用程序"。这些应用程序的平台/环境…官方并没有一个真正的名字(除了"Metro风格的应用平台")。非正式地,人们(包括微软)有时将其称为"Metro"(本身就是一大堆蠕虫)或……"WinRT"。

那么WinRT"适当的"(定义1和2)和非官方的WinRT定义(3)又名UWP又名以前无名的"Metro风格应用程序平台"之间的关系是什么?嗯,由于WinRT和新的应用平台都是在Windows 8中引入的,所以当时大多数WinRT api都是针对新平台的。当时的应用平台(和商店政策)对于哪些传统的Win32 API可以在应用程序中使用也有更多的限制——在很大程度上,这不是任何技术限制,更多的是团队希望利用新应用程序作为清理臃肿的Win32 API表面的借口。但从技术上讲,WinRT通常是新Windows api的通用模式,无论在UWA中使用与否,"UWA vs.经典应用"one_answers"WinRT vs. Win32"大多是独立的;随着时间的推移,他们逐渐允许更多的WinRT api在uwa之外使用,并且放宽了在应用程序中使用大量传统Win32 api的政策(并且还继续为某些用例引入新的平面c风格api)。

所以总结一下,说"UWP取代了WinRT"在技术上是不准确的,尽管可以理解,因为这个东西很令人困惑。UWP取代了无名应用平台(3);从本质上讲,它只是一个更新版本,被移植到其他设备类型,并集成了经典的桌面UI。WinRT,在其适当的定义(1)中,继续成为用于uwa甚至在uwa之外使用的新Windows api的基础。

Windows通用平台是面向运行Windows的设备的开发平台。以前,台式机、平板电脑和手机的开发是分开的。有了UWP,你现在可以瞄准任何运行Windows 10的设备,可以是手机,台式机,平板电脑,xbox。美妙之处在于,你现在可以在所有这些平台上使用一个二进制文件,这使我们离真正通用的Windows应用程序更近了一步。

那么,回答你的问题,是的,UWP是任何运行Windows 10的设备的未来平台

最新更新