【IT168专稿】本文从Symbian、Android、ios和windows phone 7这四个最受开发者关注的开发平台入手,对每个平台的开发者进行了走访,得到了来自一线开发者对于开发平台看法的第一手资料。从这些开发者的言谈中可以感觉到,他们对于自己从事开发的平台还是充满信心,而且都希望自己能够有所作为,我认为,这篇文章能够从客观的角度反映开发者的心态,对于一线的开发者非常有帮助。
Windows Phone 7对于大多数开发者而言可能还是停留在“这是微软的新平台”这个认识阶段,但是要全方位的了解这个平台,进行Windows Phone 7平台的开发恐怕对大多数的开发者朋友来说还是一件难事。为了解决大家对于Windows Phone 7平台的疑难问题,IT168移动开发频道就走访了一位Windows Phone7的开发者:张崟,通过他的一些经验分享,带领大家逐步走进Windows Phone 7开发的世界。
Windows Phone7开发者:张崟
以下是记者和张崟的访谈经过:
IT168记者:你是如何看待Windows Phone 7这个开发平台?请简单介绍一下这个平台的特色?例如开发工具、开发语言、开发资源、如何进行入门学习等等?
Windows Phone开发者张崟:作为微软在移动领域的全新产品以及3屏1云战略中的重要组成部分,无论是在设计理念,宣传推广的力度还是从开发的角度来说,Windows Phone 7平台都受到了微软特别地重视。全新设计的这款操作系统最大的特点就是简洁的风格以及一致的流畅的用户体验,为用户提供了一种glance-and-go(随看随到)的操作体验,从而使用户能够轻松流畅地完成到自己想做的事情并享受其中的乐趣。
从开发的角度来说,可以说微软为开发人员提供了一站式的服务,从开发工具,到开发文档以及开发语言一应俱全,微软可能是对开发人员照顾地最无微不至的公司了,哈哈。以前如果想要开发Windows Mobile系统上的应用程序是没有免费工具的,Express版的Visual Studio并不支持移动设备的开发,所以开发人员只能使用昂贵的商业版开发工具,而现在情况不同了,微软专门提供了用于开发Windows Phone 7平台的Windows Phone Developer Tools,开发人员只需下载一个安装程序并进行安装就可以轻松搭建起Windows Phone 7的开发环境了,其中包含了开发工具,设计工具,部署工具,解锁工具等所有配套的程序,遍及了Windows Phone 7应用程序开发生命周期的各个部分。最重要的是这些全都是免费的。当然这些工具也支持与商业版集成。同时在MSDN中还提供了Windows Phone的开发文档以及开发人员训练包,我认为它们都是很好的入门资料。
IT168记者:Windows Phone平台学习和开发时的难点有哪些?如何才能够更好的学习这些难点?学习的资料一般会有哪些?
Windows Phone开发者张崟:这个问题不是太好回答,由于Windows Phone支持Silverlight for Windows Phone和XNA两个框架,开发人员可以将以前的程序移植到Windows Phone 7平台,在移植过程中由于会涉及到具体设备的问题,我想这类问题应该是比较难处理的,而且目前WP7系统发布时间不长,大家也都处于探索阶段,对于这类问题,我想最好的处理方法就是多多试验,并查阅相关的MSDN文档。据我所知,并不是每个Windows Phone开发人员都会去阅读这个文档。以互联网中的资料为辅助,比如MSDN的Windows Phone 7论坛以及国外知名开发人员的博客等资料。诸如:著名的31 days of Windows Phone系列博客,作者是Jeff Blankenburg,当然也可以看我在it168发布的中文翻译版。
IT168记者:刚才您提到了Windows Phone 7为用户提供了简洁流畅的用户体检,能简单介绍一下Windows Phone 7的设计风格吗?
Windows Phone开发者张崟:Windows Phone 7的这套全新的UI界面叫做Metro,它的设计理念主要来自于地铁中的标志和设计,通常情况下我们在地铁或者机场中看到这类标志几乎不用去读取文字信息,仅从这些视觉元素中就可以理解其中的含义,尤其是在语言不通的时候会显得更为重要,其实在Metro的背后,这种标志所传达出的通用的视觉语言是Windows Phone 7界面的精髓所在,它为用户带来了十分流畅,一致的用户体验,用户可能只需一瞥就知道它是做什么的,即便手机显示的不是本国语言也能轻松上手。
在Windows Phone 7系统的起始(Start)界面中这种思想也得到了充分地体现,它由诸多简洁明快的活动瓷片(Live Tile)组成,是Windows Phone 7Metro风格的高度集中。它们虽然简洁但并不单调,可以动态地更新各种信息,诸如:未接来电,未读邮件和短消息等;还可以动态更新联系人的各种信息;用户还能通过某一个Live Tile来打开指定的应用程序。在开始界面中你会感受到你的Windows Phone手机是具有生命的。
此外它还是系统中各个Hub的入口,可以通过相应的Live Tile进入不同的Hub。所谓Hub是Windows Phone 7中的功能单元,可以说是用户体验的高度整合,包含People,Pictures,Games,Music+Video,Marketplace以及Office 6个Hub,所有与用户相关的活动都尽在掌握,配合全景视图控件的使用,用户只需用手指左右滑动,相关信息就尽在眼前,流畅和简洁的用户体验使人心情十分愉悦。
IT168记者:听说你现在正在翻译一本国外的Windows Phone 7开发技术书籍,能不能介绍一下这个工作的进展情况?这本书的特色有哪些?
Windows Phone开发者张崟:呵呵,最近是在翻译一本有关Windows Phone 7开发的书,目前已经进行了一半。这本书是一本Windows Phone 7的入门开发教程,不同于MSDN和Training Kit这类教程,它通过一个一个的实例带领读者学习Windows Phone 7的各个特性,介绍了从开发工具的准备到应用程序开发,最后将程序提交到Marketplace的整个过程。是学习Windows Phone 7开发的非常好的入门书。
IT168记者:开发者如何看待应用商店模式?如何看待市面上的这么多应用商店?对这些商店进行一下自己的点评。
Windows Phone开发者张崟:我个人认为移动应用商店是一种很好的市场策略,无论对厂商还是开发人员来说都很棒。开发人员可以通过这种方式便捷的获取收益。不过现在各个移动平台都在发力应用商店,竞争十分激烈,到2010年底,苹果iTunes商店拥有约30万个应用,不得不说苹果是十分成功的。而Android Market应用数量也增至了12万个,诺基亚Ovi应用商店应用数量增至2.5万个,黑莓App World应用数量也达到了1.8万个。虽然微软刚刚推出Windows Phone 7 MarketPlace,但现在应用程序的数量已经十分可观,增长速度很快。虽然Windows Phone 7的MarketPlace起步比较晚,但是发展形势是非常不错的。搭载Windows Phone 7的智能手机销量已经突破了150万,我相信在2011年Windwos Phone 7的应用商店将会有更好的表现。
IT168记者:前不久网上报道称,Windows Marketplace上的应用已经达到5000款,我想问一下你是如何看待Windows Phone 7在如此短的时间之内就获得如此多的增长的?您认为导致这个情况的原因有哪些?
Windows Phone开发者张崟:我想这得益于微软大力的推广,包括发布会,Teched,以及向开发人员分发免费的开发用机。此外也有Windows Phone 7自身吸引力的因素,开发人员受到了重视,同时对Windows Phone 7有了更多的兴趣,应用程序的数量自然会上去了。还有一些其他平台的优秀产品也会进行向Windows Phone 7平台的移植,诸如很多付费游戏。Windows Phone 7 MarketPlace在发布仅仅两个月的时间内就已经达到了4000个应用程序,而谷歌的Android应用商店用了6个月的时间才达到这一数字。
截止到目前,MarketPlace上线的应用程序已经突破5000,而且还在以每天100个左右的速度在增长,虽然在强大的苹果和谷歌面前,Window Phone 7还有很大的差距,不过现在Windows Phone 7平台的开发人员超过2万,并会不断增多,因为有大量的Silverlight开发人员都有可能会为Windows Phone 7开发应用程序。我想在明年Windows Phone 7 Marketplace中的应用程序数量会成为仅次于苹果和Google的第三大应用商店。
IT168记者:您认为开发者在成长过程中如何做才会使自己的成长速度更快?
Windows Phone开发者张崟:从技术成长的角度来说,大方向上我认为并没有捷径,踏踏实实的努力和积累是必须的,不过采取一些优秀的方法可以帮助我们提高效率并加速提升。概括一下我觉的有3多:多做、多看、多读。所谓多做就是动手实践了,把你学到的看到的想到的都付诸于实践,会得到最深刻的印象;多看是指多多关注一下外面的世界,不能闭门造车,看看其他开发人员的博客,尤其是外国著名开发人员的博客,从那里可以获取到最新的知识并看到很多巧妙的思路。最后是读,多读代码多读书,去开源社区下载一些优秀的项目仔细品读一番会大有收获,诸如codeplex。另外,从书籍中可以系统的学习某些理论知识,这种优势是博客和论坛大都不具备的。
IT168记者:你之前接触过Windows Mobile开发,你感觉现在的Windows Phone 7和Windows Mobile之间的差别在哪些地方?开发者要想快速的跨越到Windows Phone7平台应该做哪些准备工作?
Windows Phone开发者张崟:是的,我以前做过Windows Mobile平台的.NET Compact Framework开发,由于是不同的框架所以有所差别,不过基础架构和类库是一样的,开发语言是一样的(当然现在Windows Phone 7支持F#和VB.NET进行开发,前提是使用商业版的Visual Studio)。不过在Silverlight平台上我们可以更轻松的实现UI的订制,比如将一个按钮的背景色修改为渐变色,在Silverlight平台上通过Template,Style这些特性可以轻松实现,而使用.NET Compact Framework来开发则会比较复杂。
同时大量桌面的WPF/Silverlight应用程序都可以比较快速的移植到Windows Phone中,此外Windows Phone 7平台还支持使用XNA来制作游戏,同样也有很好的平台移植性,你可以将PC的XNA游戏或者XBOX/Zune上的游戏做简单修改后移植到Windows Phone 7中。如果原来是在Windows Mobile平台上做Native开发的话,由于平台不同,语言、框架也都不尽相同,需要重新学习Silverlight for Windows Phone或是XNA框架的开发,不过很快就可以入门。
IT168记者:如果是之前没有Windows Mobile平台开发经验的开发者,要想快速转向Windows Phone7开发,应该具备哪些基础知识?
Windows Phone开发者张崟:其实有没有Windows Mobile平台的开发经验对于Windows Phone 7来说并不重要,因为两个平台的程序并不兼容,开发框架和环境不尽相同。如果想转向Windows Phone 7平台的开发,需要学习Silverlight for Windows Phone,如果想在Windows Phone 7平台开发游戏,则需要学习XNA框架,开发语言主要是C#(虽然Silverlight for Windows Phone支持使用VB.NET和F#,不过XNA框架尚不支持用这两种语言进行开发)。如果有.NET平台的编程经验,我想应该很快就可以构建Windows Phone 7平台的应用程序了。
IT168记者:您能介绍一下Windows Phone 7应用程序从编写到最后发布的整个生命周期吗?
Windows Phone开发者张崟:首先你必须去App Hub注册,同时需要支付每年99美元的费用。微软会验证你的身份,然后你会获得一个Windows Marketplace用于对你的应用程序进行签名的证书。另外还会验证你的银行帐户。接下来就是下载开发工具,然后进行开发。
在应用程序创建完成后你要将提交它到App Hub中,以便微软对其进行验证和认证,这样微软可以保证你的应用程序是遵守Windows Phone Marketplace中的规则的。一旦你的应用程序符合条件,就需要使用在注册过程中获取到的证书来对它进行签名,然后将它发布到Windows Marketplace中。然后就是用户下载、安装、使用和反馈了。