开发人员眼中的Windows Phone 7

  我最近听了Windows移动设备应用开发MVP Chris Craft做的关于Windows Phone 7的优秀演讲,虽然他没有详细讲述如何开发一个应用程序,但他花了近90分钟时间解释需要注意的事情,以及观众提出的很深入的问题,本文是想分享我从中学到的内容,因为它可以帮助你确定是否要从事Windows Phone 7的开发。

  好消息

  从开发的角度来说,Windows Phone 7与现在的开发模式很类似,新增的位置API很有意义,此外,还支持拉模式(读当前值)和推模式(注册事件处理程序,检测诸如移动超过一定距离的事件),推模式对于节省电池电力起到了很大的作用,并且不需要编写大量复杂的代码。事实上,用Silverlight编写的应用程序也是一大优点,开发人员可以直接使用他们已经掌握的.NET知识和XAML技能。

  此外,Silverlight/XAML的外观看起来相当不错,并且现在已经有很多第三方Silverlight组件可以使用,加上Windows Phone 7应用是用XNA开发的,对于游戏开发来说是一个巨大的优点,但必须要加速器,多点触摸支持,以及获得DeepZoom的访问权,使用DeepZoom可以做出很多漂亮的东西来。应用程序都运行在沙盒中,因此应用程序无法看到其它应用程序的数据,也不能访问系统文件。

  界面设计中也有一些有趣的东西,可以设计出很炫的界面,界面由许多“区块”组成,这些区块直接放在桌面上,每个区块对应一个应用程序,因此可直接在桌面上看到应用程序更新的信息,对于每天总是要处理很多任务的人来说这是一个伟大的构想。此外,应用程序使用了“全景导航”,当前看到的视图是整体视图的一个切片,用户可以向左或向右滚动以查看剩余部分,这无疑是一个有趣的想法,它使得在多个屏幕间过渡变得非常平滑。

  坏消息

  遗憾的是,伴随好消息的总是坏消息,大部分也让我感到十分吃惊。首先,部署应用程序时,你只能通过微软的应用程序商店将应用程序作为公共应用程序发布,或者将手机连接到电脑,然后使用Visual Studio将应用程序直接部署到手机上。

  我无法想象当你把这个事实告诉开发人员时,他们会是什么表情,唯一可安慰大家的是可以使用Visual Studio Express版本执行部署操作,因此不必再花钱为系统管理员也准备一套昂贵的Visual Studio,因为他们只需要用它来安装Windows Phone 7应用程序而已。

  除了这个真正的坏消息外,还有一些不那么可怕的缺点,包括:

  • 前端开发唯一可用的编程语言是C#
  • “标题”不像Android上的仪表板部件那样可以交互
  • 无SQL Server精简版或其它内置的轻量级数据库
  • 没有内置JSON序列化
  • 应用程序不能像它记录那样访问视频(这意味着你无法实现实时视频广播等)
  • 活动目录整合似乎有限制
  • 没有真正的后台处理进程,他使用了一个推送通知模型来唤醒应用程序

  面向消费者的开发人员>(大于)企业开发人员?

  微软知道这些问题可能会影响到开发人员,特别是企业开发人员,微软已经做了很多努力,希望更容易开发出华丽的游戏和Twitter客户端,但要给销售人员写一款用来处理销售事务的应用就很难了,而且他们可能还要求能脱机使用。我猜测微软正在计划解决这些问题,我相信更好的多任务功能和集成SQL ServerCE也正在开发中,但谁知道什么时候才用得上呢?此外,微软可能还没有计划解决所有这些问题,例如,开源的JSON序列化工具已经非常流行,因此可能永远也不会内置对它的支持,只有靠自己去下载这些开源的工具了,标题不能交互据说是为了更省电,看来也不会有改动了。

  真正让我没想到的是,微软认为企业开发人员没有以消费者为导向的开发人员重要,因为企业开发人员是微软在移动领域最后的支持堡垒,提高面向消费者开发人员的优先级后,微软基本上需要在这个市场上重新开始攻城略地。Windows Phone 7也打破了向后兼容Windows Mobile 6.x的壁垒,无论微软有什么借口,这样做无疑会极大地伤害企业开发人员的感情,因为他们一直在耐心等候Windows Phone 7,而不愿意转向Android或iOS。

  我认为这是微软做出的一个愚蠢的决定,它将会导致许多企业开发人员流失,并且面向消费者的市场现在竞争已经很激烈,Windows Phone 7想要强行插入,并想从其它强势的竞争者手中分得一杯羹,其难度是非常之大的,这样在企业市场和消费者市场可能会落得两面失败的下场。

  Android能够成功是因为iOS是唯一一个用户友好的OS,并且受到了运营商的限制,如果苹果不与AT&T独家绑定销售iPhone的话,Android可能无法取得现在这样的成功,Android正好弥补了iPhone的空白,不过苹果现在已经回过神来,AT&T将不再一家独营iPhone,我很难相信Windows Phone 7上市后,会引起iPhone那样的轰动,Windows Phone 7抛弃以往建立起来的企业用户优势,我很难相信Windows Phone 7会在Android和iOS夹击中取得重大突破,也许它只会沦为Android和iOS迅速发展的垫底者。

  开发人员的关键问题

  我很喜欢这个平台,我认为对用户和开发人员都有一些好事情,但我建议现阶段还是等待或持观望态度,当然,你也可以利用周末或业余时间做点小游戏,上传到应用程序商店中,也许能成为早期赚到钱的开发人员,但现在还不适宜开发大的应用,那样你需要承担很大的风险,除非Windows Phone 7届时能证明它确实是一个强大的竞争者。

  英文原文:Windows Phone 7 through a developer's eyes

  作者:Justin James


  相关新闻:
  · HTC 说:“我们一定会出现在 Windows Phone 7 的首发阵容当中”(2010-07-10)
  · 第一批Windows Phone 7手机已经免费送达开发人员手中(2010-07-09)
  · 微软限制手机厂商定制Windows Phone 7界面(2010-07-25)
  · Windows Phone 7的Marketplace将允许私有程序分发(2010-06-09)
  · WP7不支持多任务?应用运行机制分析(2010-07-16)

  

作者: cnblogs   发布时间: 2010-08-16