通用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[1]。UWP在Windows Server 2012和Windows 8中作为一个Windows Runtime平台的扩展被首次引入,允许开发者创建可潜在运行在多种设备类型上的应用程序[2]。
Windows 8.1 的UWP计算器 | |
内置于 | Windows 10、Windows 10 Mobile、Windows Server 2016 |
---|---|
取代 | Windows Runtime |
兼容性
UWP是Windows 10和Windows 10 Mobile的一部分。UWP應用程式不能在早期的Windows版本上執行。
应用程序能使用Visual Studio 2015进行此平台的原生开发。而面向Windows 8.1、Windows Phone 8.1及其两者(通用8.1)的旧版Metro應用程式需要一些修改才能迁移到UWP。[3][4]
在2015 Build期间,微软宣布了一个UWP“桥梁”集,允许Android和iOS软件被移植到Windows 10 Mobile[5]。 Windows Bridge for Android(代号“Astoria”)将允许使用Java或C++的Android應用程式被移植到Windows 10 Mobile和发布到Windows應用程式商店。Windows开发者平台的技术总监Kevin Gallo解释说,该层包含一些限制:Google Mobile服务和某些核心API将不可用,存在“深度集成到后台服务”的應用程式(如通信软件)也不能在此环境下良好运行[6][7]。Windows Bridge for iOS(代号“Islandwood”)是一个开源中间件工具包,允许使用Objective-C开发的iOS软件使用Visual Studio 2015将Xcode代码转换为Visual Studio项目以移植到Windows 10 Mobile[8][9][10]。Windows Bridge for iOS的一个早期版本已使用MIT许可证在2015年8月6日发布为一个开源软件,而Android版本仍在内部测试[11]。
2016年2月,微软宣布已经收购了位于旧金山的开发Xamarin软件的公司[12]。此次收购后不久,微软宣布将放弃Android bridge项目,并计划支持在Windows 10上运行Android應用程式。他们的关注重点将主要集中在iOS bridge[13]。
开发
UWP是Windows Runtime的一个扩展。采用UWP创建的“通用Windows应用程序”在其清单(manifest)构建中不再采用对特定操作系统的写法,相反,它们采用“通用Windows平台桥梁”针对一个或多个设备族群,例如个人电脑、智能手机、平板电脑和Xbox One。这些扩展允许应用程序自动利用当前运行设备中可用的功能[14]。通用應用程式即可以运行在智能手机上,也可以运行在平板电脑上,并为两者提供适当的体验。如果手机连接到一台桌面电脑或者一个合适的扩展坞,其上运行的通用應用程式还可能呈现为平板电脑上的体验[15]。
反响
作为游戏平台
UWP的游戏开发会受到技术限制,游戏可能无法做到桌面应用程序的所有功能,包括不兼容多显卡,无法禁用垂直同步,不能支持游戏模组,及不能使用游戏辅助软件如Fraps、Steam游戏内界面和按键管理器等[16]。Epic Games创办人Tim Sweeney批评UWP是“围墙花园”,默认情况下,UWP软件只能通过Windows應用程式商店安装,必须更改系统设置才能启用外部應用程式的安装(Android系统有类似的设计)。此外,某些系统功能只能在UWP调用,不能在基于Win32的软件中使用(这包括大多数PC电子游戏)。Sweeney表示这是“微软有史以来最激进的动作”、试图将PC转变为封闭平台,并且这些举动注定将使Steam等第三方商店处于劣势,微软削减了用户自由安装全功能PC软件的自由,破坏开发者及发行商与其客户之间保持直接关系的权利。因此,Sweeney称最终用户应该可以直接下载UWP软件并以桌面软件的方式安装它[17]。
在Build 2016期间,微软Xbox部门负责人Phil Spencer宣布公司正在尝试解决一些问题,以改进UWP对PC游戏的能力。他指出,微软正在“致力于达到或超过全屏游戏的性能预期,以及提供包括覆盖层、模组等附加功能的支持。”,并同时宣布提供禁用垂直同步的支持,以及AMD FreeSync和Nvidia G-Sync技术的支持,这将在Windows 10的未来更新中添加[18]。
参考资料
- . MSDN. Microsoft. [October 9, 2015]. (原始内容存档于2016-02-20).
- . MSDN. Microsoft. [October 9, 2015]. (原始内容存档于2016-02-12).
- . MSDN. Microsoft. [31 July 2015]. (原始内容存档于2017-07-28).
- . Windows Developer Center. Microsoft. [October 9, 2015]. (原始内容存档于2015-12-09).
- Hachman, Mark. . PC World. IDG. August 6, 2015 [October 9, 2015]. (原始内容存档于2017-07-04).
- Branscombe, Mary. . TechRadar. May 11, 2015 [October 9, 2015]. (原始内容存档于2015-05-19).
- Bright, Peter. . Ars Technica. April 29, 2015 [October 9, 2015]. (原始内容存档于2015-05-06).
- Hachman, Mark. . PC World. IDG. August 6, 2015 [October 9, 2015]. (原始内容存档于2017-07-04).
- Chester, Brandon. . Anandtech. Purch Inc. April 29, 2015 [October 9, 2015]. (原始内容存档于2018-04-28).
- Protalinski, Emil. . VentureBeat. May 1, 2015 [October 9, 2015]. (原始内容存档于2015-05-26).
- Hachman, Mark. . PC World. IDG. August 6, 2015 [October 9, 2015]. (原始内容存档于2017-07-04).
- Jo Foley, Mary. . ZDNet. February 24, 2016 [February 26, 2016]. (原始内容存档于2017-01-03).
- Jo Foley, Mary. . ZDNet. February 25, 2016 [February 26, 2016]. (原始内容存档于2021-10-26).
- Domingo, Michael. . Visual Studio Magazine. May 1, 2015 [October 9, 2015]. (原始内容存档于2021-09-22).
- . Windows Developers Center. Microsoft. [October 9, 2015]. (原始内容存档于2016-02-21).
- . Ars Technica. Conde Nast. [30 March 2016]. (原始内容存档于2016-03-29).
- . Ars Technica. Conde Nast. [30 March 2016]. (原始内容存档于2016-03-30).
- . GameSpot. [30 March 2016]. (原始内容存档于2021-09-24).