向前向前向前!向Windows Phone平台前进

  就像PC机取代小型机、Web取代桌面大潮一样,现在移动终端时代已经到来,移动开发必将成为新的增长点,做为.Net开发者的我们对Windows Phone 7的关注应该是非常高的,为什么会出现现在的情况呢?我和我身边的朋友已经在开发社区上认识的朋友交流这个问题,很多人目前对WP7关注不足的原因如下:
  1)windows phone 7平台刚推出,还不知道发展前景怎么样,iphone、android发展都那么火了,还有wp7的市场吗?而且大陆还没有上市,没有中文支持,用的人太少,也没有这方面的工作需求,怕学了一门没发展的技术。
  2)windows phone 7集成的都是Windows Live、FaceBook、Twitter等中国人不怎么用的应用,没有对我们QQ、腾讯微博、优酷的支持,来中国肯定水土不服。
  3)Windows phone 7的学习资料非常少,没有这方面的书。
  4)WP7的开放性性不足,比如没有提供输入法接口、不能编写真正的多任务、不能直接访问摄像头、不能直接访问短信、不能编写本地代码。
  5)Windows phone 7 的开发环境搭建麻烦,没有开发调试的真机,Windows phone 7开发必须在Windows7下,由于种种原因我现在只能用windows xp。

  对于第一点,传智播客.Net培训班的学生就经常问我“老师,你说windows phone能火起来吗?”,我的回答是“如果我能准确预测windows phone能不能火起来,我就比巴菲特还厉害,我就不在这教你们,我早去投资微软了”。虽然我不能给“windows phone能火起来”作担保,但是我是非常相信微软的实力的。很多人看iphone、android那么火,就好像没有wp7的容身之地了,我不想说iphone、android的缺点,省得挨骂,我只能说“战斗还没开始”。遥想当年Netscape曾经最高占据了95%的浏览器市场,微软IE还不是短短几年就把Netscape踩死了?游戏开发领域的OpenGL当年也是非常风光,但是微软靠结盟的方式推广DirectX,现在DirectX的已经盖过了OpenGL;同是游戏领域的微软XBox不也从曾经独占鳌头的PSP中抢走了一大块市场;离我们最近的.Net平台也不是后发制人从Java中夺下了很大一块市场,现在国内.Net开发的职位和Java开发职位数量相差无几。微软后发制人这一招一贯玩儿的很好,所以我个人情感上相信在移动开发领域微软也会再现一场经典的战役。微软目前推广WP7的切入点找的也非常好,微软利用他XBOX的市场优势来推广WP7,由于WP7支持XBOX的XNA游戏开发技术,据说XBOX下的XNA游戏只要修改几行代码就可以移植到WP7下运行。XBOX平台下有大量优秀的游戏,这样在WP7下游戏的数量就会出现井喷(这点已经在真实的上演了),对于普通的手机用户来说,他不管你是什么系统,用的什么技术,手机除了打打电话、发发短信、照照片之外,大部分时间就是一台随身游戏机,所以微软是准备靠WP7的游戏优势抢占市场,期待微软这步棋走好。
  当然即使微软败了,那么难道我们学习的WP7开发的知识就浪费了吗?要知道对于一个平台上的开发来说,最难的不是具体某个技术,而是这个平台的理念。比如对于Web开发,最难的是如何处理客户端和服务器端的交互、如何做好页面优化、如何做好SEO、如何处理用户的访问压力等等,无论是asp.net开发还是J2EE开发还是PHP开发,开发一个大型的互联网应用面对的问题不都是一样的吗?一个做PHP开发的人转做asp.net会很难吗?肯定不会,因为在php中遇到的问题在asp.net中也能会遇到,php中解决一个难题和思路和asp.net中是一样的。同样对于手机开发来说,最难的不是一门语言,而是移动开发和桌面开发的不同要求、移动开发界面交互的特点、触摸屏的应用、LBS等新理念。因此如果我们熟悉了Windows Phone7开发,即使微软败了,我们仍然能够用易经掌握的移动开发的理念去很快熟悉其他移动操作系统的开发。
  “大陆还没有上市,没有中文支持”这样的问题也不用担心,因为这只是暂时性的问题,Windows Phone7中文版在2011年底就会推出。“windows phone 7集成的都是Windows Live、FaceBook、Twitter等中国人不怎么用的应用,来中国肯定水土不服。”这也只是一个临时性问题,微软根本还没有发布中文版,现在看到的都是给老美用的版本,当然只有FaceBook这些应用了,你用担心中文版里FaceBook不能用?微软本地化做的是非常优秀的,微软非常懂中国国情,这就是为什么谷歌离开中国而微软在中国则发展的很happy的原因。Windows Phone7中文版推出的时候大家在手机上肯定看到的是QQ、新浪微博等这些本地化应用的。

  “用的人太少,也没有这方面的工作需求”,我只能说,现在不趁着业余时间学习一下,等大家都看清的时候早就晚了,闲着也是闲着,学一下Windows Phone开发,2011年底Windows Phone中文版出来,众多厂商会需要大量Windows Phone开发的岗位的,到时候再临时抱佛脚准备就赶不上最好的时机了,最好技术储备,这种事情及早不及晚。
  “Windows phone 7的学习资料非常少”,看似书店里没有Windows phone 7开发的书,网上关于Windows phone 7开发的资料也比较少,其实研究过Windows phone 7的开发人员都知道,Windows phone 7开发大部分的内容都是Silverlight、XNA这些东西,真正WP7特有的技术并不多。如果不进行游戏开发,那么WP7开发只涉及到Silverlight和少量的WP7特有API了,而且Windows phone 7下的Silverlight和普通的Silverlight差别非常小,现在Silverlight资料非常多,所以这些Silverlight学习资料都相当于WP7的学习资料了。所以想学Windows phone 7又懒得装WP7开发环境的可以直接去学Silverlight就行。WP7特有API非常少,一两天时间就可以基本掌握。   
  WP7的开放性性不足确实是大问题。我看着Windows Phone SDK的就来气,开发的API太少了:没有开放输入法开发接口,所以我们只能坐等微软推出官方的中文输入法!无法直接访问摄像头,只能通过CameraCaptureTask让用户手动拍摄,我要做一个条码扫描的程序就做不了呀!无法直接发送短信,只能调用SmsComposeTask调用起来短信发送程序让用户点击发送,我怎么做短信群发程序呀!无法响应来电通知,我怎么做“响一声就挂”等来电防火墙呀!无法访问非独立存储之外的空间,我怎么做一个文件浏览器,我怎么做一个手机安全扫描软件呀!无法访问联系人列表,我怎么写一个联系人导入导出程序呀!无法编写多任务程序我怎么做定时任务提醒程序呀,连G-Alarm的WP7版本也只能尴尬的运行在前台,一旦被别的程序带进墓碑就只能干等着睡过头上班迟到了!有木有!Native Code的编写权限只有OEM伙伴才有,普通开发人员无法编写本地代码,我怎么做自己的系统应用呀!

  以目前微软开放的API来看,我们非OEM开发人员只能开发游戏、大众点评网客户端这类的应用,像手机360安全卫士、来电通、闹钟等这类应用无法实现。我相信这些都是暂时的,微软在逐步完善,而不是一开始就推出一个完善的版本,这也是适合互联网时代的发展速度,随着Windows Phone的升级,Windows Phone的API会越来越丰富的,比如多任务功能在下个版本中就将提供,希望微软尽快开放这些接口,能让我们开发出更丰富的应用。Windows Phone是基于Windows CE内核的,因此也请Windows CE高手研究一下Windows Phone,能让我们有更多undocumented的资料。当然对于想找一份Windows Phone开发的工作的人来说不用担心这些,未来Windows Phone程序开发的工作大部分都是开发大众点评网客户端、优酷网客户端、手机版腾讯微博等类型的应用,开发这些应用使用WP7目前的API足够了,可见微软开放API也是考虑了目前手机应用开发的主流的。   
  最后一点“Windows phone 7开发必须在Windows7下”确实是大问题,微软为了卖Windows7做出了这样的决定,微软可以这么玩儿,可以咱们伤不起呀!我认识的很多朋友都由于这样那样的原因暂时只能工作在Windows XP下,他们本来是对Windows Phone开发感兴趣的,后来听说Windows phone 7开发必须在Windows7下就放弃了,看到网站上Windows phone 7的开发文章也只能看一看,没法把代码拿过来run一把。而且在Windows7上搭建起了WP7开发环境也不爽,因为微软的WP7的仿真器有很多缺点,比如很多设备无法用,比如FM收音机永远是off,加速度感应器永远是平躺静止状态,振动控制器看不到效果,GPS无法使用,摄像头模拟器永远都是一个随机动的黑色方块,麦克风无法用……;而且WP7的仿真器和主机交互麻烦,比如想把一首mp3放到仿真器中播放很难,想把仿真器中生成的一个文件拷出来也很难;WP7的仿真器对硬件要求高,配置差一点的电脑运行起来非常卡,卡的无法忍受。 
  我想WP7开发环境的这些缺点是很多人无法关注WP7的一个重要原因,为了解决这个问题,我用了一个月的时间折腾出一个“传智播客Windows Phone7的模拟器”。这款模拟器有如下的优点(好像广告耶):

  1)可以运行在windows xp下
  2)实现了WP7绝大部分API。包括启动器、选择器、外设(收音机、GPS、振动器、麦克风、摄像头、加速度感应器)、WP7特殊控件(枢轴视图、全景视图、DatePicker、TimePicker、ListPicker、ApplicationBar)、XNA部分功能(Audio、触摸屏、MediaLibrary、InputScope键盘处理)、墓碑机制(TombStone)等。
  3)不需要DirectX10支持,在低端显卡上也能运行
  4)资源占用小,不像WP7仿真器那样对计算机性能要求高,因此普通笔记本就能运行

  5)开发调试方便,能够把本机磁盘映射为手机的媒体库。 
  注意这里我用的词是模拟器,而不是仿真器。模拟器和仿真器的区别是:Emulator中文叫仿真器,是精确地在一种环境下仿真另一种环境下的运行方式,其目的是完全仿真。Simulator中文叫模拟器,是通过某种手段来模拟某些东西,不一定要完全正确的原理,追求的只是尽可能的相像。但是如果应用能够在这个模拟器下运行,几乎不用做任何的修改就可以在仿真器、真机中运行。 
  以下是一些截图: 
  DatePicker控件

  InputScope软键盘

  加速度感应器和手机方向感应

  由于我这段时间只是在做API的整合,所以没有做太多美化,界面还很难看,我将继续整理,争取早日把这个版本发布出来供大家分享,希望能帮助Windows Phone开发的推广尽自己的微薄之力。我的腾讯微博:http://t.qq.com/yzk369 。再加一句广告:传智播客.Net培训飞速发展,急需牛X讲师的加入,年薪10——20W。

时间: 2024-09-20 00:28:36

向前向前向前!向Windows Phone平台前进的相关文章

卡巴斯基面向Windows Phone平台推出安全浏览器:Safe Browser

由于市占率不高,因此Windows Phone没有成为恶意软件的头号目标.从某种意义上来说,这也算是给了WP用户一些"安全感".与iOS一样,为了确保系统安全,Windows Phone也限制了用户和应用的权限--这也是该平台没有恶意软件肆虐的原因之一.此外,微软有包括沙箱在内的多种技术手段.只不过,世上没有不透风的墙,而互联网上又潜伏着许多阴暗的角落,令人防不胜防. 为了避免用户遭遇这些威胁,世界知名的安全厂商--卡巴斯基(Kaspersky)--已经面向Windows Phone平

Windows 7平台开放IE 11发行预览版

9月21日消息,根据国外媒体的报道,微软正式宣布Windows 7平台用户能够下载使用IE 11的发行预览版(Release Preview)了,并且,微软还称该版本IE的速度要比竞争对手快上30%以上.而此前,微软只是对Windows 8系统用户开放了此预览版本. 在前段时间,Windows 8系统用户就已经能够使用IE 11的预览版本,但是此次更新为Windows 7的用户也提供了体验IE 11的机会.在之前,微软还针对Windows 7的平台发布了一个让开发者预览版的IE 11. 微软宣称

Windows Phone7平台App Marketplace正成长

微软公司日前表示,该公司旗下的http://www.aliyun.com/zixun/aggregation/13466.html">Windows Phone App Marketplace应用市场目前正处于成长当中,以数量来计的话,Windows Phone App Marketplace每天新增应用数量达到了100个.与苹果iOS平台或者Google Android平台相比,微软Windows Phone App Marketplace区区9000个应用数量仍然相当渺小,毕竟苹果iO

解决麻烦还是制造麻烦?Windows故障诊断平台也能传播恶意软件

概述 近日,Proofpoint的安全研究专家们发现了一种基于附件的新型恶意软件传播方式.在安全人员所检测到的恶意软件活动中,攻击者利用的是Windows操作系统中一个名为"故障诊断平台"(WTP)的功能.这一功能原本可以帮助用户解决那些Windows日常使用过程中所遇到的问题,但是在攻击者的眼中,它却成为了一个非常实用的攻击工具.在社会工程学的帮助下,攻击者或可利用该功能来在目标用户的计算机中运行恶意软件. 安全研究专家发现,这种攻击方式的实际效率非常的高,因为当Windows系统运

RavenDB:基于Windows/.NET平台的NoSQL数据库

众所周知,NoSQL运动旨在成为大数据时代传统关系数据库管理系统的替代品.如今Microsoft对开源的态度有所转变,RavenDB就是很好的例子.Microsoft对RavenDB(NoSQL数据库)的认可令很多人感到惊讶.RavenDB可以轻易的替代关系数据库管理系统并兼容以往的.NET应用. NoSQL的出现与发展是非常必要的,NoSQL系统的速度和高扩展性是其具备的优势,而这并不是传统关系数据库的强项.NoSQL为Amazon.Google等需要处理大数据的公司提供行之有效的解决方案.如

在Windows .NET平台下使用Memcached

网上关于Memcached的文章很多,但据我观察,大多是互相转载或者抄袭的,千篇一律.有些则是直接整理的一些超链接然后贴出来.那些超链接笔者大概都进去看了,其实关于Memcached的中文的技术文章,也就那么几篇,优秀的也就更少了.也许是笔者理解.学习能力太差了吧.最近在.NET项目中可能要使用到Memcached这款出色的分布式缓存系统,所以笔者就笨鸟先飞,先研究了一下下.下面我会将总结一下自己研究的结果,并用实例向大家讲解.(入门级别的,高手请直接跳过). 关于:Memcached的简介,M

诺基亚CEO称对当初选择Windows Phone平台不后悔

北京时间7月15日消息,诺基亚CEO史蒂芬·埃洛普(Stephen Elop)上周在接受采访时,仍然坚称对当初选择Windows Phone平台不后悔.他表示,在Android生态系统,一家独大的风险太大,诺基亚由此作出了放弃Android的决定. 诺基亚在2010年晚些时候决定放弃自家塞班智能手机操作系统时,为何没有选择Android平台,这始终是让人们感兴趣的一个话题.据悉,诺基亚确实与谷歌讨论过这一想法,但最终并未付诸于实施.而2011年2月,在诺基亚和微软宣布将合作开发Windows P

微软要将Xbox One游戏搬上Windows 10平台,公布移植游戏清单

作为微软全新的操作系统,Windows 10在刚公布之时就受到无数网友的关注,而微软为其打造的Xbox One/Win10游戏"一体化"业务更是为吸引了大量的玩家.而在日前的游戏开发者大会上,微软正式宣布将把17款Xbox One游戏搬上Windows 10平台,并且表示,这些游戏只需付出一次费用变能够跨平台游戏. 以下是17款移植游戏名单: <#IDARB>(开发商:Other Ocean):用开发者自己的话来说,<#IDARB>是"一款混乱的8人制

JDK 7U15在 Windows x86平台下的安装方法_java

这里以JDK 7U15在 Windows x86平台下的安装为例,其他平台安装与此类同. 下载JDK请查看:JDK最新下载地址[含下载方法] ①JDK 7U15下载完成后,是一个可执行文件,如图所示: ②双击运行该安装程序,出现如下界面: ③点击"下一步",出现如下界面: ④可以看到,JDK包含了Java开发工具.源代码(基础类库)和公共JRE,这三项都是默认安装的,是Java开发所必须的,缺一不可.这里,可以更改JDK的安装目录.选择好安装目录,点击"下一步",进

三步完成Windows Azure平台部署WCF服务

之前,我们在Windows Azure平台简介中介绍过Windows Azure的三大主要功能.那就是计算,存储,以及管理.至今为止,通过之前的教学文章,大家已经熟知了Windows Azure的存储功能.当然,存储只是最基本的一个功能.要充分发挥云计算的威力,我们不得不学习如何"计算". 同样在Windows Azure平台简介中,我们也介绍了Windows Azure的三种主要计算功能: 作为一个部署服务平台 作为一个软件分发平台 作为一个一般的分布式计算平台 本文将引导大家达成第