通用Windows平台

通用Windows平台（Universal Windows Platform，简称UWP）是微软公司建立并在Windows 10中首次引入的一个同性質應用程式架构平台。此软件平台的目的是帮助发展Metro样式的應用程式，便于軟體可以在Windows 10和Windows 10 Mobile上執行且无需重新編寫。它支援使用C++、C#、VB.NET或XAML开发的Windows應用程式。API采用C++实现，并支持C++、VB.NET、C#和JavaScript。UWP在Windows Server 2012和Windows 8中作为一个Windows Runtime平台的扩展被首次引入，允许开发者创建可潜在运行在多种设备类型上的应用程序。

 兼容性 
UWP是Windows 10和Windows 10 Mobile的一部分。UWP應用程式不能在早期的Windows版本上執行。

应用程序能使用Visual Studio 2015进行此平台的原生开发。而面向Windows 8.1、Windows Phone 8.1及其两者（通用8.1）的旧版Metro應用程式需要一些修改才能迁移到UWP。

在2015 Build期间，微软宣布了一个UWP“桥梁”集，允许Android和iOS软件被移植到Windows 10 Mobile。 Windows Bridge for Android（代号“Astoria”）将允许使用Java或C++的Android應用程式被移植到Windows 10 Mobile和发布到Windows應用程式商店。Windows开发者平台的技术总监Kevin Gallo解释说，该层包含一些限制：Google Mobile服务和某些核心API将不可用，存在“深度集成到后台服务”的應用程式（如通信软件）也不能在此环境下良好运行。Windows Bridge for iOS（代号“Islandwood”）是一个开源中间件工具包，允许使用Objective-C开发的iOS软件使用Visual Studio 2015将Xcode代码转换为Visual Studio项目以移植到Windows 10 Mobile。Windows Bridge for iOS的一个早期版本已使用MIT许可证在2015年8月6日发布为一个开源软件，而Android版本仍在内部测试。

2016年2月，微软宣布已经收购了位于旧金山的开发Xamarin软件的公司。此次收购后不久，微软宣布将放弃Android bridge项目，并计划支持在Windows 10上运行Android應用程式。他们的关注重点将主要集中在iOS bridge。

 开发 
UWP是Windows Runtime的一个扩展。采用UWP创建的“通用Windows应用程序”在其清单（manifest）构建中不再采用对特定操作系统的写法，相反，它们采用“通用Windows平台桥梁”针对一个或多个设备族群，例如个人电脑、智能手机、平板电脑和Xbox One。这些扩展允许应用程序自动利用当前运行设备中可用的功能。通用應用程式即可以运行在智能手机上，也可以运行在平板电脑上，并为两者提供适当的体验。如果手机连接到一台桌面电脑或者一个合适的扩展坞，其上运行的通用應用程式还可能呈现为平板电脑上的体验。

 反响 

 作为游戏平台 
UWP的游戏开发会受到技术限制，游戏可能无法做到桌面应用程序的所有功能，包括不兼容多显卡，无法禁用垂直同步，不能支持游戏模组，及不能使用游戏辅助软件如Fraps、Steam游戏内界面和按键管理器等。Epic Games创办人Tim Sweeney批评UWP是“围墙花园”，默认情况下，UWP软件只能通过Windows應用程式商店安装，必须更改系统设置才能启用外部應用程式的安装（Android系统有类似的设计）。此外，某些系统功能只能在UWP调用，不能在基于Win32的软件中使用（这包括大多数PC电子游戏）。Sweeney表示这是“微软有史以来最激进的动作”、试图将PC转变为封闭平台，并且这些举动注定将使Steam等第三方商店处于劣势，微软削减了用户自由安装全功能PC软件的自由，破坏开发者及发行商与其客户之间保持直接关系的权利。因此，Sweeney称最终用户应该可以直接下载UWP软件并以桌面软件的方式安装它。

在Build 2016期间，微软Xbox部门负责人Phil Spencer宣布公司正在尝试解决一些问题，以改进UWP对PC游戏的能力。他指出，微软正在“致力于达到或超过全屏游戏的性能预期，以及提供包括覆盖层、模组等附加功能的支持。”，并同时宣布提供禁用垂直同步的支持，以及AMD FreeSync和Nvidia G-Sync技术的支持，这将在Windows 10的未来更新中添加。

 参考资料 

 外部链接 
 Guide to UWindows Runtimeniversal Windows Platform (UWP) apps 

Category:.NET
Category:Microsoft Windows
Category:操作系统技术