我会将Windows应用程序中的应用程序引用为Windows 8 / 8.1或Windows 10作为维基百科的UWP应用程序,如果我没有弄错的话。不讨论Windows RT(不是WinRT)以避免混淆。
我想知道Windows 8 / 8.1 / 10已经实现了Windows应用商店和UWP应用程序所依赖的无论是公共的还是未记录的API,因此它们无法移植到Windows 7,即NT 6作为Windows 8 / 8.1 / 10做。
如果没有什么,但仅仅是由于M $推广新技术和Metro的市场策略,可能某些第三方运行时/框架对于Windows 7将运行的Windows 7和UWP应用程序可以运行,这肯定会花费更多的精力,并且不会导致比 Mono 或 Wine 更多的法律或兼容性问题。< / p>
编辑:正如How does Windows 8 Runtime (WinRT / Windows Store apps / Windows 10 Universal App) compare to Silverlight and WPF?所说,如果我没有误读,它就是一个与COM和应用程序之间非常相似的层。
答案 0 :(得分:9)
这不是邪恶的M $的营销策略,写这样的东西会让你看起来相当少年。有一个巨型代码层(可以说是操作系统中的整个操作系统),它是为了使Metro / Modern / UWP应用程序能够在Windows 8中运行,在8.1中进行调整,并在10中进一步细化而编写的。该层在Windows 7中根本不存在,没有向后移植,不会被移植,并且无法合理地被第三方向后移植,而第三方无法访问未实现的实现细节。
这里没有阴谋。这是一个简单的问题,新的操作系统支持旧操作系统不支持的东西。 Windows 8 / 8.1 / 10实现的Windows Store和UWP应用程序所依赖的新功能是Windows应用商店和UWP应用程序的全部概念。
版本号(“NT 6”,正如您所指出的)并不重要。所有这些都告诉你,他们没有大规模重写内核。您不必重写内核就可以在其上面编写新图层。
如果要运行Metro / Modern / UWP / Store应用程序,则需要更新到更高版本的Windows。或者,您可以编写一个常规的Win32应用程序,该应用程序将在所有版本的Windows上运行,包括最新的Windows 10版本。