用C++开发通用Windows平台

通用Windows平台 (UWP)应用程序利用了一个新的windowsapi和应用程序模型,创建了一个单一的输出二进制文件,可以在任何windows10设备上运行,从台式机到HoloLens。 因为 应用程序可以运行 在具有不同外形尺寸和输入类型的各种设备上,您希望它能够针对每个设备进行定制,并能够解锁每个设备的独特功能。 除了保证的核心API层之外,您还可以编写代码来访问特定于设备的API,这样您的应用程序就可以启动特定于一种设备的功能,同时在其他设备上呈现不同的体验。 自适应UI控件和新的布局面板可帮助您在各种设备屏幕分辨率和大小上定制UI。

null

uwp

在这篇博客文章中,我们将深入讨论如何创建C++ UWP应用程序的细节以及VisualStudio如何使这成为一个伟大的体验:

C++与 通用Windows平台

有几种方法来编写C++ UWP应用程序:

  • C++/CX 微软的C++语言扩展允许它针对Windows 8运行的Windows运行时,并继续与Windows 10一起演进。
  • 这个 Windows运行时库 是一个模板库,它提供了一种编写和使用Windows运行时组件的低级方法。
  • C++/WRET 是最近实现的标准C++语言投影,用于仅在头文件中实现的Windows运行时。它允许您使用任何符合标准的C++编译器,同时编写和使用Windows运行时API。C++/WINRT是为C++开发人员提供一流的Windows Windows API的访问工具。最近的一种叫做CPPPWRET的替代方案是WINRT-API的语言符合包装,允许使用现代的和兼容的C++代码来针对Windows 10。

获取工具

uwpwl

VisualStudio工作负载为创建UWP应用程序提供工具,并具有一个可选的安装组件,这是C++ UWP开发所需的“C++通用Windows平台工具”:

uwpwloptions

开放代码和建筑

通用Windows平台应用程序使用微软自己的构建系统 MSBuild公司 ,它使用与用于桌面开发的新项目模板中使用的相同的.vcxproj文件格式。

MSBuild是一个健壮且功能齐全的生成系统,它允许在visualstudio中生成以Windows为目标的项目。构建基于MSBuild的项目只需要一个.vcxproj文件,并且可以在IDE或 使用命令提示符 .

创建新项目

UWP开发工具提供了许多不同的模板供您选择,包括directx11和directx12的模板。  Windows运行时组件与库非常相似,但只使用现代Windows应用程序可用的winrtapi。  这些组件可以在支持UWP开发的所有支持的Windows运行时语言中共享,其中包括C语言、Visual Basic、JavaScript和C++。

uwptemplate

为了在windows10中部署本地UWP应用程序,必须首先启用“开发人员模式”,这可以在创建UWP项目之后完成。这将查找并安装商店应用程序部署的最新软件包,并允许您部署在VisualStudio中开发的UWP应用程序。

uwpmode

在Windows10中激活开发者模式后,现在可以构建和部署通用的Windows平台应用程序,如DirectX模板中提供的旋转立方体。

uwpcube

编辑代码和导航

VisualStudio提供了许多功能,可以帮助您更有效地正确地编写代码。无论是智能感知提供的强大预测能力还是 导航到 .  只需在要从成员列表中添加的项上按Tab键,VisualStudio就可以使用自动完成功能为您完成这项工作。

intellisense

也可以将光标悬停在任何变量、函数或其他代码符号上,并使用“快速信息”功能获取有关该符号的信息。

infotip

还有许多优秀的代码导航特性,可以使处理基于大型代码的代码更加高效,包括 转到定义 , 转到线条/符号/成员/类型 , 查找所有引用 , 查看呼叫层次结构, 对象浏览器 ,等等。 Peek定义 允许您查看定义所选变量的代码,甚至不必打开另一个文件,从而最大限度地减少了上下文切换。

codepeak

我们还支持一些更常见的重构技术,比如重命名和提取函数,这些技术允许您保持代码的美观和一致性。

调试和诊断

visualstudio以调试应用程序而闻名!  拥有世界级的调试经验,为任何类型的应用程序提供了大量的工具,没有任何工具更适合于调试以Windows桌面平台为目标的应用程序。

datatip

高级断点、自定义数据可视化和调试时评测等强大功能使您能够完全控制应用程序的执行,甚至可以找出最难发现的错误。  使用调试器数据提示查看代码中的数据值。  拍摄内存快照并对其进行区分,以揭示潜在的内存泄漏,甚至在visualstudio内部调用应用程序上的PageHeap,以帮助解决众所周知的内存损坏难题。  在应用程序运行时跟踪实时CPU和内存使用情况,并实时监控性能。

hub

测试代码

单元测试是一种非常流行的提高代码质量的方法,并且在visualstudio中完全支持测试驱动的开发。  创建新的测试和 在测试资源管理器中管理它们 便于管理和执行测试。 编写单元测试很容易 并且可以在问题出现时帮助发现问题,而不是在以后事情更难孤立的时候。  VisualStudio允许本机和托管测试项目模板来测试本机代码,可以在 Visual C++ à 试验 新项目模板的部分。

test

与他人合作

除了visualstudio使开发人员的所有活动更有效率之外,协作也是直接集成到IDE中的东西。  visualstudioteamservices是为软件开发组织优化团队协作过程的一套功能。  从visualstudio内部创建工作项、跟踪进度、管理bug和开放问题数据库。  Git完全受支持,并与teamexplorer无缝协作,允许轻松管理分支、提交和pull请求。

teamexp

为Windows应用商店打包应用程序

打包应用程序只需几个步骤,就可以在Windows应用商店中分发它。  首先,确保你是一个 注册的Windows应用程序开发人员 .  一旦您注册并拥有一个您感兴趣发布的经过测试和优化的应用程序,就可以在应用程序清单文件(package.appxmanifest)中选择打包选项。  这个 详细包装指南 将指导您完成剩下的步骤,使您的应用程序准备好分发和发布 提交到Windows应用商店 .

packaging

试用VisualStudio 2017开发C++的UWP!

下载Visual Studio 2017 ,试用并分享您的反馈。  如有问题,请通过 报告问题 选项位于VS标题栏的右上角。 跟踪您对 开发者社区门户 . 如需建议,请告知我们 用户语音 .

© 版权声明
THE END
喜欢就支持一下吧,技术咨询可以联系QQ407933975
点赞0 分享