码迷,mamicode.com
首页 > Windows程序 > 详细

Windows UWP 开发 - 前言

时间:2016-05-12 06:52:56      阅读:365      评论:0      收藏:0      [点我收藏+]

标签:

    Windows 10 发布近一年了,Visual Studio 2015 也已推出 Update2,UWP 应用开发不仅时机成熟了而且也已经很方便了。所以我打算写一系列的文章来记录我是如何开发 UWP 应用的,对于我自己来说算是笔记,同时也供其它朋友参考。UWP 应用和之前的 WPF、Silverlight 非常相似,其 UI 部分基于 DirectX 技术,使用 XAML 描述构建,即灵活效果也很出色。逻辑代码支持 C++、C#、VB 和 JavaScript,因此对于绝大多数程序员来说开发语言方面没有障碍。当然首先要说明的一点就是,这些语言所能提供的功能并不相同。使用 C++ 开发可以支持全部 UWP 和绝大部分 Windows 功能(当然有些 Windows 功能不允许在需要提交到 Windows 商店的应用中使用,只能在通过旁加载方式部署的应用中使用)。使用 C# 和 VB 是一样的,这二者都属于 .Net 语言,可以调用 .Net 类库,但有些功能是不支持的,或者说在没有第三方类库的情况下不能直接支持。首当其冲的就是 DirectX 这部分,要想通过 .Net 来使用 DirectX 必须依赖第三方类库。JS 受到的限制恐怕是最多的,因此我不会在文章中使用这一语言。在关于 UWP 的文章中我将主要使用 C++/CX(并尽量使用标准 C++ 和 C++ 标准库,C++ 语法将基于 C++11 标准,还会使用微软的 PPL 并行模式库和 AMP 库以及 WIC 图像处理组件),可能会穿插一些 .Net,UI 方面则为 XAML 和 XAML+DirectX。当然主要是 XAML,不会详细讨论有关 DirectX 的内容,至少不会在 UWP 的文章中讨论。原因很简单,DirectX 的使用在 UWP 和 传统 Windows 应用中并没有什么区别,而在 UWP 文章中我想要记录的是 UWP 所特有的东西。另外我也不会去讨论有关 Windows 10 IoT 方面的内容,只包含与 Windows 10 和 Windows 10 Mobile 有关的内容。

    首先说说开发平台和开发工具。要想开发 UWP 应用首先当然必须得有 Windows 10,在其它 Windows 版本上是无法直接开发 UWP 应用的。而且如果开发的应用要提交到 Windows 商店上面去,那么千万不能安装内测版 Windows 10,一定要在正式版本中开发。这一点微软也在开发说明中提到了,因为有些本身没有任何问题的代码会因为内测版的问题而崩溃,而有些代码在内测版上没问题却不能在正式版上运行。所以开发用的 Windows 10 务必使用正式版本,而且不要在开发用的 Windows 中装那些所谓的优化软件,此类软件很可能会引发一些莫名其妙的问题。另外 UWP 应用需要支持触摸操作,所以准备一台测试用的平板电脑还是很重要的(测试用的设备切勿安装乱七八糟的东西)。至于 Windows 手机吗,现状就是用的人的确是很少啊,而且 Windows 上的模拟器基本上已经可以满足需求了,如果是测试触摸操作,在平板上也可以测试,所以是不是需要一部 Windows 手机就仁者见仁了,有则更好吧。至于 HoloLens 还是暂时使用模拟器吧,而且我暂时也不会讨论与 HoloLens 有关的内容。

    Visual Studio 2015 当然是必不可少的,没这个是没办法开发的,至少对绝大多数不想自找麻烦的程序员来说是如此。Community(也就是社区版)是免费的,和 Professional 版的功能基本一样。下载地址为:https://www.visualstudio.com/downloads/download-visual-studio-vs。下载时一定要选择 ISO,并且在下载后务必核对 SHA-1 值,因为很多人下载到的 ISO 出现了损坏,安装损坏的 ISO 不仅会安装失败,而且可能会导致重装都失败,最终不得不重装操作系统,所以安装前务必核实 SHA-1 值。安装时尽量只装自己需要的部分,不要一股脑的全部勾选上,中国大陆地区的用户切勿勾选标有“第三方”字样的内容。如果下载的 ISO 是中文版的,那就不需要再去下载安装中文语言包了,但是可以选装英文等其它的语言包。

技术分享

    15 年前我第一次独立开发了一个应用,那是个人力资源管理软件,那时开发软件真的是很麻烦,基本上没人去仔细斟酌 UI 设计,能用就行了,或者说能用就已经很不错了。但现在 UI 交互界面已经变得越来越重要了,有很多人是专职的 UI 设计师。Visual Studio 在开发界面方面一直做的很不错,XAML 本身就已经很易用了,而且 VS 还提供了更直接的鼠标操作。不过很多 UI 设计师更喜欢 Blend,尤其是在做一些动画效果时。Blend 已经包含在 VS 中了,无需单独下载安装,安装 VS 时会同时自动安装 Blend。我的文章还是会以 VS 为主,而且会直接使用 XAML,而不涉及使用 VS 设计器方面的内容。

    如果要在远程设备上调试还需要下载远程工具,网页地址和 VS2015 的是一样的,在左侧选择就是了。至于下载 x86、x64 还是 ARM,这取决于远程设备上的操作系统,比如要在装有 Windows 10 x86 的平板电脑上调试,那就下载 x86 版本,如果是 x64 的 Windows 10,那就下载 x64 版本。

技术分享

    Windows 10 UWP 官方支持的广告平台目前就只有两个,一个就是微软自己的广告,另一个是 AdDuplex。微软广告的 SDK 可以从这里下载:https://visualstudiogallery.msdn.microsoft.com/229b7858-2c6a-4073-886e-cbb79e851211。或者到这里(https://developer.microsoft.com/zh-cn/windows/monetize/ads)选择“获取 SDK”。AdDuplex 的 SDK 在这里:https://visualstudiogallery.msdn.microsoft.com/6930860a-e64b-4b46-9d72-62d7fddda077

    开发者账号(微软广告已经集成到开发者账户中了,无需单独注册)需要到微软那里去注册,一次性收费(通过双币或美元信用卡),个人帐户约 19 美元,公司帐户约 99 美元,不同国家的注册费用因汇率而略有不同。注册地址为:https://developer.microsoft.com/zh-cn/windows/programs/join,注册前最好先看看这个https://developer.microsoft.com/zh-cn/windows/programs/faq。免费的学生开发账号自从费用下调之后好像就取消了,所以要想提交应用到 Windows 商店,就得老老实实的缴费。当然也可以不提交到商店,比如旁加载或在自己的设备上学习练习用,这个是不需付费去要注册开发者账号的。获得开发者账号后要注意遵守协议,刷榜等行为会受到封号处罚,一旦被封是很难申诉解封的,只能重新缴费注册新的帐号。而且如果是账号被封,那么此账号下的所有应用都将作废,也不能再从中获得任何收入。当然一般情况下是不会有这样严厉的处罚的,最多也就是应用被下架勒令整改。因为我自己没有遇到过下架或封号处罚,所以没有这方面的经验和大家分享。

    注册 AdDuplex 账号直接到 AdDuplex 网站上去就行了,网站很简洁,一目了然,无需任何费用和信用卡。http://www.adduplex.com/

    如果要使用微软地图,在获得了开发者账号之后,还需要在每个应用中单独注册,这个以后再说,而且这个同样也不收费。

    最后谈谈关于获得开发帮助方面的经验。关于 UWP 开发,MSDN 上的内容(文档:https://developer.microsoft.com/zh-cn/windows/windows-apps,示例:https://github.com/Microsoft/Windows-universal-samples,注意微软会不定期更新示例)是非常丰富且充足的,但正如之前在英文 MSDN 论坛上一位 MSFT(也就是微软员工)所说的那样,“文档散落的到处都是”,搜索都很困难。另外最糟糕的一点就是有很多文档虽然有中文版,但内容却和英文版本不同,所以看 MSDN 还是得看英文版(如果是中文版的,把地址中的 zh-cn 换成 en-us 就变成英文版了,反之也一样),至少得对照着看,只看中文版是不行的。有时英文版中有示例代码,中文版却没有,有的是英文版是针对 Windows 10 的,但中文版却是针对 Windows 8/8.1 的,还有一些是翻译上有问题。如果在开发过程中遇到问题可以去 MSDN 开发者论坛提问,中文论坛为:https://social.msdn.microsoft.com/Forums/zh-CN/home,英文论坛为:https://social.msdn.microsoft.com/Forums/en-us/home,在中文论坛上提问时需要用中文,在英文论坛上提问时必须用英文,在中文论坛上用英文提问得到的回复会很少,而在英文论坛上用中文提问则根本得不到回复。其它的英文论坛还有:http://www.codeproject.com/http://stackoverflow.com/,等等。论坛上的回复有时可能会比较慢,所以要有耐心,而且节假日一般是很少有人回复的,提问尽量选择在工作时间,长期没人回复或没有有效回复的可能性也很大。再有一点需要注意,论坛上的回复,包括 MSFT 的回复都不一定 100% 正确,包括像我这样的博客里面的内容也不能保证像经典教科书那样权威,毕竟都是随手写的东西,没有反复仔细论证过,何况教程上有时还有错误。因此千万不能养成直接抄袭的习惯,别人提供的参考用的代码一定要自行测试一下,而且很可能需要根据自己的项目来调整修改。在此再附上一个链接:https://github.com/,这里提供了很多非常有价值的开源第三方类库,多数质量很好,但也并非都有保障,因此使用时还是要多多测试一下。有一点要注意,微软和 MSDN 论坛都不为任何第三方类库提供任何支持。在我的文章中可能会提到一些知名的第三方类库,但也不会深入去讨论这方面的内容。

    本文的内容对于已经入行的 Windows 开发者来说肯定是肤浅了,但对于正准备开始 UWP 开发的朋友来说应该还是会有些帮助。不管怎样吧,最终还是那句话,转载请注明出处。

Windows UWP 开发 - 前言

标签:

原文地址:http://www.cnblogs.com/x-shi/p/5484243.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!