技术开发 频道

Windows Phone7:调动.Net开发者积极性

  【IT168评论】Windows Phone7的出现对于微软来说是一个大胆的举动,微软正在摆脱它的原有Windows Mobile平台,并为开发者引入管理API平台。开发人员可以使用这个平台开始构建第三方移动应用运行在微软Windows Phone 7.0平台的设备上。但是一个全新的移动平台能否开发出杀手级应用,并且帮助微软在快速发展的全球智能手机市场上恢复其对苹果iPhone和谷歌开源Android平台的竞争地位,是非常令人关注的。

  记得在2月份举行的移动世界大会上,当Windows Phone7向世人展示时一个分析师表示:“微软终于开始填补其产品与苹果和谷歌等主要竞争对手的差距。微软公司正在打造他在移动领域的核心竞争力,因为在一个多通道的内容和服务可用以及可扩展的基础上形成了包括软件开发和专业知识。”

  其实细想一下,微软公司的新系统同样具备非常大的优势,因为Windows Phone7平台的开发同样依赖那些.NET开发人员和设计人员,而且他们可以使用熟悉的工具和技术来构建Windows phone7系统的应用程序并发布到微软的新的marketplace移动应用市场上。Windows phone7应用程序开发平台是基于微软Silverlight这个丰富的互联网应用框架,其游戏框架XNA以及.NET Compact Framework等专门针对微软设备的框架。今年2月,微软宣布了XNA框架,这个框架过去是用来创建Xbox 360,Windows PC和Zune的应用程序,现在支持Windows Phone和Silverlight。

  微软还通过集成Zune Media, Xbox Live 和Windows Azure云服务,来贯穿其所有以消费者为中心的产品渠道和服务,这是其产品前进的关键所在。Windows Phone系统的设计,比Windows系统更加接近于微软的媒体播放器Zune HD。

  Windows Phone7的应用程序将通过桌面PC或者Windows Phone Marketplace进行分发,这个应用商店可以通过Windows Phone7设备上集成的按钮来访问。市场模式类似于苹果应用程序商店App Store,应用程序开发人员可以赚钱,而且一旦应用程序通过微软认证要求就可以赚取高达70%的收入。

  

  微软的这一举动令Windows Mobile开发人员感到惊讶,Windows Phone7平台已经与Windows Mobile平台彻底划清界限,不过微软表示,它将仍然支持原有的Windows Mobile平台。微软策略上的改变似乎已经远离了Windows Mobile开发人员,其中许多人把重点放在商业应用程序上,做出这个决定是比较困难的,并没有升级路径。

  就目前来看仍有很多公司一直是Windows Mobile平台很强烈的的支持者,而且相信,微软关于向后兼容做出了正确的决定,但他们也必须面对现实,他们可以做什么,虽然他们相信会获得回报。

  微软在新市场的战略中心被明确为“生命最大化”。 微软Windows Phone应用平台和开发者体验的项目经理表示:“我们正在开发的这个手机焦点是针对最终用户,这些用户不仅在家里使用他们的电话,而且他们还可以在工作环境中使用他们的电话,同时这款手机需要在这两个环境中同样伟大的功能,所以这个企业功能将是Windows Phone 7系列中非常重要的一部分。”

  Windows Phone 7个性化了Office功能其中有Excel,Word,OneNote,SharePoint集,在Silverlight中的网络,Windows Communication Foundation(WCF),HttpWebRequest和WebClient。

  用户手机上的个性化内容驱动了上下文的体验,开发人员可以采用单一的屏幕创建应用程序,如照片编辑那样以插件的形式置入到Windows Phone中,或创建基于hub的全景体验应用程序。

  作为一名开发人员,创建一个集成了手机用户界面的应用程序将成为可能。如果你想开发一个全屏幕的视频游戏,即使没有使用Windows Phone的look-and-feel,你当然也可以这样做。

  微软是在确保同时在硬件和软件平台为最终用户创造一致的用户体验。Windows Phone7,尽管有不同的设备制造商,都将使用高通的基于ARMv7架构的Cortex/Scorpion处理器,(一个统一的图形子系统(DirectX9技术),只有两个屏幕尺寸以及支持有4个触摸点的电容触摸屏)。其他硬件规格包括256MB内存,8GB的闪存和一个500万像素的摄像头。第一代Windows phone7的设备将配备一个800x480的WVGA触摸屏,在发布后的某个时段还将有480x320 HVGA屏。因此当第二个决议被采纳后,应用和游戏开发商将有望支持这两个分辨率的设备。

  Windows phone7支持标准电话的具体功能和感应器,开发人员可以置入,如定位(Wi - Fi,cellular和GPS)和地图控制(bing)罗盘,光感应,加速度计,通知推送。其中位置的API与Windows Azure云服务协同工作。

  关于Windows phone7设备至今有3个原型已被证实。第一个是华硕的Chassis 1,第二个是由LG电子设计的滑动QWERTY键盘,第三个是三星的平板式手机。

  很显然,微软将给予厂家寻找一个具有很大的灵活性和感觉的手机。这将是一个创新,而且这些创新的设计将要在现在和可预见的将来可以实现。

  在硬件规格上,Windows phone系统的设计和应用平台应该让那些移动应用开发者易于开发,为最终用户提供持续的用户体验。在过去,Windows Mobile开发人员不得不处理有限或不存在的基于OEM或来自同一制造商的不同产品的各种功能的支持。

  所有的Windows Phone7的开发工具是免费的,并将继续为Windows Phone开发人员免费提供。开发人员可以用他们的Windows Live ID注册免费的工具。

  Windows Phone的开发工具CTP,在MIX10上已经发布,支持Visual Studio 2010 RC。截至目前,它仍是唯一可以预先看到的开发工具。第一个CTP版包括针对Windows phone 平台的Visual Studio 2010 Express,针对Windows phone 平台的Visual Studio 2010加载项, WindowsPhone模拟器,Silverlight for Windows Phone 和 XNA 4.0 Game Studio.。微软为Windows Phone设计的studio tooling Expression Blend以及Expression Blend SDK,在3月提供了单独下载。

  在回答关于Windows Phone7测试版的SDK时,微软项目经理表示:“在RTM之前将会有一些额外的功能,如暂停/恢复任务模型,获取更多选,但不会有代码访问以及人们提到的背景执行。我们希望得到更多的反馈,它可以帮助我们制定未来的计划,但是我们在每一个版本中的该进毕竟有一个限度。”

  Visual Studio开发人员可以选择使用Visual Studio 2010 for Windows Phone add-in 或者 Visual Studio 2010 Express for Windows Phone tooling。这两者的主要区别是Visual Studio 2010 Express for Windows Phone只允许你创建Windows Phone应用程序。如果不具备Visual Studio一些更强的功能,你肯定不能建立桌面应用程序和其他类型的应用。“

  针对Windows Phone的Visual Studio 和Expression Blend 工具提供共享的项目模板和所见即所得控件,做一些看起来具备相似外观和风格的Windows phone7系列皮肤,这些并不是Silverlight的默认控件。在Visual Studio的工具中包含Windows Phone模拟器,它是运行Windows phone7.0平台的虚拟机,可以用来调试,部署和执行测试编译。应用程序也可以通过USB接口插入注册Windows phone7系列测试设备后进行测试(一旦设备到位)。

  开发人员可以使用相同的Visual Studio项目,为多种设备诸如Windows PC, Windows Phone 和 Xbox 360等开发游戏。Visual Studio支持XNA框架中的2 - D和3 – D的API。Windows phone7平台支持基于循环的游戏开发以及整合Xbox Live功能(成绩,分数与其他玩家连线功能)。

  说到第三方Windowsphone应用程序,开发人员通过云可以使用文件系统中分离的数据储存或使用XML或Web服务来连接到其他数据源,但平台不支持这样一个为第三方应用软件的SQL Server精简版的数据库。它被微软使用,但会出现在第一个版本中。其中Windows Phone应用程序大小限制是2GB。

  虽然集成在Windows phone中的服务,如音乐播放器,通话和SMS可以在后台运行,但是第三方应用程序在前台运行,而且不支持全部的多任务。开发人员还可以使用微软通知服务(推送通知)来更新应用程序,不管他们是否是在设备上运行。

  从微软那里得知,如果一个开发人员在Silverlight中或者是在XNA Game Studio中创建一个Windows Phone 7应用程序,并且在发布这个应用程序之前,开发者需要向微软提交一个.xap应用程序包,以便获取微软认证。压缩的文件还需要包括一个应用程序图标,一个Live Tile,元数据和许可信息。

  如果一个开发者写了一个很好的很清洁应用程序,那么一般在发布是不会出现任何问题,因此在应用上传之前请确保您的应用程序是商店中的一个好“公民”,而显然不希望是任何木马和病毒。

  Windows phone7的特色功能是设备上的Windows Phone Marketplace "hub"中心,它是用于搜索例如游戏和应用程序这样的内容。该中心提供诸如市场中访问内容的驱动,例如应用程序,游戏,Zune音乐和播客。Windows Phone Marketplace也可以通过带有Zune软件客户端的桌面电脑进行访问。

  开发人员可以利用一个可选的审判API,从而限制了试用版的使用。一个应用程序的下载出现在屏幕右边开始部分的应用程序列表中,并自动将相关的内容集成到这个枢纽中。之前微软宣布,开发人员将从他们的作品销售中获得高达70%的收入。

  通过Windows phone7的发布,这些应用将被分发到应用市场中。微软没有计划推出其他可供选择的部署机制。

  微软Windows phone应用平台和开发经验经理表示:“我们从开发者和客户那里了解到,在这些情况下他们希望得到更多的灵活性,我们也绝对是非常看着用户的反馈,并思考未来如何使我们获得更多的场景。”

  该市场将支持移动运营商结算,信用卡购物和广告资助的应用程序。

  上个月,当苹果宣布了针对iPhone,iPod Touch和ipad设备的iAd,并且开发人员可以在应用程序商店中使用它时,苹果公司上了新闻封面。依据苹果模式,开发人员获得在其软件上投放的广告营收的60%。

  针对Windows Phone的Silverlight为移动开发创造了一发展机遇特别是那些微软的Silverlight合作伙伴公司。 一个.NET高级开发工程师表示:“以前为Windows Mobile开发有一些困难,因为开发工具的原因,但是Compact Framework与.NET框架具有太大的差异。你需要确切地知道与Compact Framework有关的API。而现在有了Silverlight,那么桌面上的API和电话的API就不存在差异了,因此现在变得简单得多,你没有必要学习这两种不同的API集。唯一不同的是,当我们在Silverlight中进行开发时,我们针对Silverlight 4,而为手机开发,我们针对的是Silverlight 3。”

  一位开发者目前正忙于客户的电子商务解决方案,他希望将自己的Silverlight应用作为自己项目中的一部分的导入到Windows phone中。现在伴随着Windows phone如此简单的操作,所以要做真正的Silverlight应用,移植到手机中去。

  Silverlight的开发人员使用相同的语言(C#和XAML),编程技术和工具来为Windows phone7.0操作系统创建事件驱动的应用程序。而此次发布版本将不做支持,但是Visual Basic是路线图中的一部分。

  Silverlight开发人员,一夜之间成了一个Windows phone开发者。这一切看起来就是这么简单。你可以写一个应用程序,就像你写了Silverlight浏览器应用程序,主要的一点是协同手机硬件和操作系统。

  针对Windows phone的Silverlight是基于Silverlight3的子集,并添加了对手机的特定功能支持,如支持手势识别控制,操纵事件,传感器(运动加速度),微软通知服务,定位服务和TextBox控件上的软件输入面板(SIP)。

  摄像头和麦克风已经在Silverlight 4中进行了添加,同时在电话中也有支持,这可以解释月初有关Silverlight 3与Silverlight 4混乱的部分。

  此外,一些受支持的功能在Windows phone上可能有不同的表现。例如,它有一个独特的IIS流的执行情况。用于Windows的Silverlight一样,它也支持硬件加速,H.264视频数字版权管理,但是它不支持HTML5。

  应用程序被托管在设备上,而不是内部的Internet Explorer移动浏览器,因此Silverlight将不支持如Java脚本编程,HTML DOM以及plug-in对象的引用等功能。

  我们有一些特定的东西是与桌面和浏览器相关的,如集成背面按钮,当谈论一些关于Windows phone应用程序时,这样的事情就没有意义。同样,微软称Adobe公司的Flash是不支持Windows phone7的,尽管公司可能会在这方面做一些工作。今年3月,Adobe公司Flash平台的主要产品经理表示:“有一点我想澄清,那就是Adobe和微软是合作关系,共同将Flash Player 10.1带到Windows phone7系列设备的移动互联网浏览器中。”

  Silverlight其他常用的,不适用于Windows phone的功能诸如P/Invokes,sockets和动态语言运行时。此外,Silverlight的SDK的功能,如Windows Presentation Foundation(WPF)控件,WCF数据服务(前身为ADO.NET数据服务),RSS和Atom feeds及JSON序列化都将不被支持。 对于每一个版本的Silverlight,起初他们锁定的许多功能,然后他们打开了以用户的要求为基础的功能。它们可能只是被锁定为当前测试的一些功能;他们要么是没有完全必要以及他们可能是没有完全与手机兼容,例如,该手机不支持运行在浏览器内的Silverlight应用程序,很可能会有一个无限循环发生。但我敢肯定他们会打开新的功能,因为他们知道手机上什么功能是人们想要的。

  Silverlight中的NET Compact Framework支持的普通语言运行时,WCF和语言集成查询(LINQ),但不是来自于自定义的数据源。“我们发现有90%的人使用Compact Framework是基于日常生活中,特别是对于人们想要在手机上创建的应用程序的类型,那么这些正是你所需要的。

  虽然很多的开发是类似的,但是Windows phone中的导航模式不同于Silverlight 针对Windows应用程序,因为屏幕尺寸是不同的。

  这其中最重要的就是要了解导航模式,因为他们实现了导航栏,这是一个可用的控件, 但现在你没有设计器来创建导航栏,因此可能不得不要在代码中隐藏它。从数据方面讲,没有变化。目前的Windows phone使用Web服务来获取数据,而且我们正在做同样的事情。随着他们正在提供类似服务的通知和定位服务,它会帮助我们实现一些目标,而且在Silverlight以前要做到这些有一些困难。

  开发者还需要注意的是设备的工作方式,特别是关于如何管理任务,例如,如果你运行一个程序,当你你启动另一个应用程序时将会出现什么情况呢?

  微软已经编写一个DLL,它适用于Silverlight for Windows 以及Silverlight for Windows Phone 。开发一个伟大应用程序的关键是要从一个新形式来优化的用户体验。你必须去思考你想要你的应用程序在手机上能够做些什么以及您是否希望它有同样的表现方式,因为在手机上,一些人不使用鼠标,他们使用的是触摸屏。所以你需要做许多的工作或用户界面的优化设计,使用户有一个非常惊喜的体验。

  微软方面表示,Silverlight在全球互联网连接的设备上的安装基数已经从2009年11月的45%上升到今年3月的60%。同月,微软印度方面已经发布了一个非微软的移动操作系统的第一个跨平台的Silverlight版本。 Symbian的Silverlight测试版是基于Silverlight 2,允许开发者开发的应用程序运行在诺基亚S60第五版的设备中。

  试想一下,如果微软可以创建一个用于任何类型的设备的Silverlight基地,这将是伟大的壮举,因为开发的一个应用程序,我们将能够部署在许多平台上,例如,你开发的应用程序,并修改用户界面。背后是完全一样的模式,这正是Silverlight的伟大之处。

  一些商业移动应用开发人员还可以将他们的应用程序移植到Windows phone 7平台。微软在MIX10上宣布了一系列的合作伙伴,其中包括美联社,WeatherBug,思杰系统公司, PopCap游戏公司,Seesmic和Shazam娱乐公司,等等。

  许多开发人员仍需要深入了解关于未来形式,以及更多的设备。电池的寿命,主要硬件规格,但是Windows phone7本机应用程序还没有得到充分披露。同样,Windows Live服务和LiveMesh,仍处于测试阶段,微软并没有讨论有关Windows phone7的情况。

  随着微软宣布推出Windows phone7平台的时间日益临近,该公司将与各界共同努力,以界定什么是最好的做法,但是同样也没有保证。现在,已经有CTP版本出来。

0
相关文章