开发者评论微软WP8.1/Windows 8通用应用目前的开发现状

Windows 8是美国微软开发的新一代操作系统,Windows 8共有4个发行版本,分别面向不同用户和设备 。于2012年10月26日发布 。微软在Windows 8操作系统上对界面做了相当大的调整 。取消了经典主题以及Windows 7和Vista的Aero效果,加入了ModernUI,和Windows传统界面并存 。同时Windows徽标大幅简化,以反映新的Modern UI风格 。前身旗形标志转化成梯形 。    微软早前已经积极鼓励开发者们将开发方向迁移到通用应用上来,然而一些开发者并不情愿如此 。日前,外媒WMP发表了一篇评论文章,针对一位通用应用开发人员的一段开发经历,评论了微软通用应用目前的开发现状 。

开发者评论微软WP8.1/Windows 8通用应用目前的开发现状

文章插图

    “Windows Phone 8.1 XAML以及包含WinRT API的通用应用目前仍然存在许多问题,包括缺乏必要的解决方案等 。然而首先最值得一提的就是“通用应用”这个名称,我认为这样命名似乎有些夸大,通用应用面向的是两个平台(Win/WP),但坦率地说其实并没有多少用户使用或关心这类应用 。放眼Windows平台,这些通用应用目前还没有被广泛普及,因为它们并没有在最常用的Windows 7/XP版本系统上成为通用 。
事实上,开发者提到的这一观点其实也是外媒WMP前段时间讨论过的问题 。目前,无论是WP8.1还是Win8.1平台都没    
    有向开发者展示足够的价值去开发一款基于该两大平台的通用应用,毕竟“尽管Windows现在拥有庞大的用户群,但这些用户并不一定都需要应用 。然而Windows Phone用户现在最缺的就是应用,但Windows Phone生态却没有可观的应用量供应 。”
【开发者评论微软WP8.1/Windows 8通用应用目前的开发现状】

一、API
    “除了目前最遭受诟病的Windows Phone 8.1背景音频播放API之外,当然还不乏许多同样糟糕的例子,比如后台下载器(BackgroundDownloader) 。在Silverlight插件方案中,后台下载器受到的限制很多,但最基本还可以工作 。但在通用应用中,虽然后台下载器能够支持新功能,但一些基本的功能却都遗失了 。
    
    举例来说,在Silverlight中每个下载可能都有一个标签,它可以存储任何数据,下载完成后你可以知道下了哪些东西(相关实体内容等) 。但在通用应用中缺失的内容太多了,没有标签自不必说,你还得必须创建和管理所有下载内容的索引,以便匹配你的实体信息以便查询 。虽然这只是小问题,但没有它你就无法管理,的确很麻烦 。”
此外,通用应用平台上的相机API也不如Silverlight,因为8.1 API缺乏镜头特性集成 。

    “目前在WP8.1相机API中没有帧预览,这一点令人愤慨不已 。然而在Silverlight API中,你可以订阅事件,通过多帧率情况下的ZXing来改善低分辨率帧 。但在WinRT上你能做的就是拍许多照片,而最好的情况就是支持闪光灯以及以约0.8帧每秒的速率扫描 。
(注:ZXing是一个开源Java类库用于解析多种格式的1D/2D条形码 。目标是能够对QR编码、Data Matrix、UPC的1D条形码进行解码 。Zxing可以实现使用手机的内置的摄像头完成条形码的扫描及解码 。)”

二、性能

    “在Silverlight中,我常用LongListSelector显示数据,而当需要创建一个两列布局时我会一起使用内建面板WrapPanel 。但在通用应用中,LongListSelector控件消失了,你必须使用网格视图(GridView),而在Windows Phone也是如此 。或者你也可以使用ListView配合定制的包装列表视图面板(可以使你自己编写的或下载来的),不过需要做适当的虚拟化 。”
    
    因此在Windows Phone 8.1和Windows 8.1平台上使用GridView时需要保证一致 。添加十几个带有图片的条目后性能便开始明显受到影响 。灰色占位符就会出现而且最重要的是它总是不会消失 。如果不附带图片,在GridView中增加300项左右的纯文本内容,滚动的时候灰色占位符又开始出现 。

    推荐阅读