代码之家  ›  专栏  ›  技术社区  ›  HappyFace

通用Windows平台是否取代Windows 8和Windows Phone应用程序的WinRT?

  •  18
  • HappyFace  · 技术社区  · 9 年前

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

    3 回复  |  直到 6 年前
        1
  •  23
  •   ILOABN    9 年前

    没错,UWP是未来所有Windows设备的新平台(Win 10+)。然而,WinRT并没有被UWP取代,而是在其之上的一个扩展,使UWP成为一组更广泛的API,可以在更多的设备上使用。正如微软自己所说:

    随着这一发展,以UWP为目标的应用程序不仅可以调用所有设备通用的WinRT API,还可以调用特定于应用程序运行的设备系列的API(包括Win32和.NET API)。

    UWP平台支持“通用设备系列”类API,所有windows平台(Xbox、手机、桌面等)都支持该类API。您可以使用一些扩展系列来限制应用程序的访问范围,例如“移动设备系列”。

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

    我希望这个答案对您有所帮助,如果您对此有任何疑问,我建议您阅读这篇关于UWP平台的文章:

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

    祝你度过美好的一天!

        2
  •  10
  •   Max Strini    7 年前

    这有点令人困惑,因为在Windows 8.x中,“Windows运行时”实际上用于指代一些不同的东西:

    1. 一种用于定义和使用Windows API的新模式(以及支持代码/OS组件),意味着在大多数情况下,它将在很大程度上取代“Win32”(即,扁平C样式)和用于新API的经典COM。这实际上是关于语言互操作的:允许Windows团队(以及可能的其他团队)在C++中创建组件,这些组件公开不依赖于GC或运行时(如CLR)的API,但使用C#或JavaScript时仍然感觉相对自然,无需手动编写包装器。

    2. 遵循上述模式的一组Windows API。

    3. 用于构建和运行新型Windows应用程序的新平台/环境,该平台/环境具有移动应用程序和web应用程序的一些特点,在系统安全性、可靠性、性能、电池寿命等方面减少了潜在问题。 是在Windows 10中演变成UWP的。

    在Windows 8时代,这些应用在8.0的大部分公开预览期间被称为“Metro风格应用”,在RTM之前被正式称为“Windows应用商店应用”。这个 平台/环境 对于这些应用程序……官方并没有真正的名称(除了“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.经典应用程序”和“WinRT vs.Win32”基本上是独立的;随着时间的推移,他们逐渐启用了更多的WinRT API供UWA以外的地方使用,并放宽了在应用程序中使用大量传统Win32 API的政策(同时也继续为某些用例引入新的扁平C样式API)。

    总之,“UWP取代了WinRT”这一说法在技术上并不准确,尽管这是可以理解的,因为这一说法非常令人困惑。UWP取代了无名应用平台(3);本质上,它只是一个已移植到其他设备类型并与经典桌面UI集成的更新版本。WinRT,在其正确的定义(1)中,仍然是新的Windows API的基础,可在UWA中甚至在UWA之外使用。

        3
  •  0
  •   James Q Quick    9 年前

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

    因此,为了回答您的问题,是的,UWP是运行Windows 10的任何设备的未来平台