向前向前向前!向W“.NET研究”indows Phone平台前进

简介:   就像PC机取代小型机、Web取代桌面大潮一样,现在移动终端时代已经到来,移动开发必将成为新的增长点,做为.Net开发者的我们对Windows Phone 7的关注应该是非常高的,为什么会出现现在的情况呢?我和我身边的朋友已经在开发社区上认识的朋友交流这个问题,很多人目前对WP7关注不足的原因如下:  1)windows phone 7平台刚推出,还不知道发展前景怎么样,iphone、android发展都那么火了,还有wp7的市场吗?而且大陆还没有上市,没有中文支持,用的人太少,也没有这方面的工作需求,怕学了一门没发展的技术。

  就像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开发,即使微软败了,我们仍然能够用易经掌握的移动开发的理念去很快熟悉其他移动操作系统的开发。上海徐汇企业网站制作r />  “大陆还没有上市,没有中文支持”这样的问题也不用担心,因为这只是暂时性的问题,Windows Phone7中文版在2011年底就会推出。“windows phone 7集成的都是Windows Live、FaceBook、Twitter等中国人不怎么用的应用,来中国肯定水土不服。”这也只是一个临时性问题,微软根本还没有发布中文版,现在看到的都是给老美用的版本,当然只有FaceBook这些应用了,你用担心中文版里FaceBook不能用?微软本地化做的是非常优秀的,微软非常懂中国国情,这就是为什么谷歌离开中国而微软在中国则发展的很happy的原因。Windows Phone7中文版推出的时候大家在手机上肯定看到的是QQ、新浪微博等这些本地化应用的。

  “用的人太少,也没有这方面的工作需求”,我只能说,现在不趁着业余时间学习一下,等大家都看清的时候早就晚了,闲着也是闲着,学一下Windows Phone开发,2011年底Windows Phone中文版出来,众多厂商会需要大量Windows Phone开发的岗位的,到时候再临时抱佛脚准备就赶不上最好的时机了,最好技术储备,这种事情及早不及晚。
  “Window上海闵行企业网站设计与制作s 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让用户手动拍摄,我要做一个条码扫描的程序就做不了呀!无法直接发送短信,只能调用SmsComposeT上海网站建设ask调用起来短信发送程序让用户点击发送,我怎么做短信群发程序呀!无法响应来电通知,我怎么做“响一声就挂”等来电防火墙呀!无法访问非独立存储之外的空间,我怎么做一个文件浏览器,我怎么做一个手机安全扫描软件呀!无法访问联系人列表,我怎么写一个联系人导入导出程序呀!无法编写多任务程序我怎么做定时任务提醒程序呀,连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。

目录
相关文章
|
2天前
|
存储 设计模式 编解码
.NET 8.0 通用管理平台,支持模块化、WinForms 和 WPF
【11月更文挑战第5天】本文分析了.NET 8.0 通用管理平台在模块化、WinForms 和 WPF 方面的优势。模块化设计提升了系统的可维护性和可扩展性,提高了代码复用性;WinForms 提供了丰富的控件库和简单易用的开发模式,技术成熟稳定;WPF 支持强大的数据绑定和 MVVM 模式,具备丰富的图形和动画功能,以及灵活的布局系统。
|
3月前
|
开发者 API Windows
从怀旧到革新:看WinForms如何在保持向后兼容性的前提下,借助.NET新平台的力量实现自我进化与应用现代化,让经典桌面应用焕发第二春——我们的WinForms应用转型之路深度剖析
【8月更文挑战第31天】在Windows桌面应用开发中,Windows Forms(WinForms)依然是许多开发者的首选。尽管.NET Framework已演进至.NET 5 及更高版本,WinForms 仍作为核心组件保留,支持现有代码库的同时引入新特性。开发者可将项目迁移至.NET Core,享受性能提升和跨平台能力。迁移时需注意API变更,确保应用平稳过渡。通过自定义样式或第三方控件库,还可增强视觉效果。结合.NET新功能,WinForms 应用不仅能延续既有投资,还能焕发新生。 示例代码展示了如何在.NET Core中创建包含按钮和标签的基本窗口,实现简单的用户交互。
66 0
|
3月前
分享一份 .NET Core 简单的自带日志系统配置,平时做一些测试或个人代码研究,用它就可以了
分享一份 .NET Core 简单的自带日志系统配置,平时做一些测试或个人代码研究,用它就可以了
|
5月前
|
机器学习/深度学习 JSON 测试技术
CNN依旧能战:nnU-Net团队新研究揭示医学图像分割的验证误区,设定先进的验证标准与基线模型
在3D医学图像分割领域,尽管出现了多种新架构和方法,但大多未能超越2018年nnU-Net基准。研究发现,许多新方法的优越性未经严格验证,揭示了验证方法的不严谨性。作者通过系统基准测试评估了CNN、Transformer和Mamba等方法,强调了配置和硬件资源的重要性,并更新了nnU-Net基线以适应不同条件。论文呼吁加强科学验证,以确保真实性能提升。通过nnU-Net的变体和新方法的比较,显示经典CNN方法在某些情况下仍优于理论上的先进方法。研究提供了新的标准化基线模型,以促进更严谨的性能评估。
143 0
|
6月前
|
机器学习/深度学习 算法 数据可视化
MATLAB基于深度学习U-net神经网络模型的能谱CT的基物质分解技术研究
MATLAB基于深度学习U-net神经网络模型的能谱CT的基物质分解技术研究
|
6月前
|
数据采集 存储 监控
.NET智慧手术室管理平台源码
术前访视记录单、手术风险评估表、手术安全核查表、自费药品或耗材、麻醉知情同意书、麻醉记录单、分娩镇痛记录单、麻醉复苏单、术后镇痛记录单、术后访视记录单、压伤风险评估量表、手术清点记录单、护理记录单、输血护理记录单。
115 0
|
6月前
深入.net平台的分层开发
深入.net平台的分层开发
|
6月前
|
Web App开发 开发框架 .NET
asp.net基于WEB层面的区域云LIS系统平台源码
asp.net基于WEB层面的区域云LIS系统平台源码
74 1
|
6月前
|
Web App开发 开发框架 .NET
asp.net基于WEB层面的云LIS系统平台源码
结合当今各检验科管理及实验室规模的不同状况,充分吸收当今IT科技的最新成就,开发出以高度产品化、功能强大、极易实施操作、并不断升级换代为主要特点的LIS系统。彻底解决检验科的信息孤岛,全面实现全院信息互通互联、高度共享,并为检验科的规范化管理提供了有力工具。
65 0
|
11月前
|
开发框架 小程序 数据可视化
基于.NET、Uni-App开发支持多平台的小程序商城系统 - CoreShop
基于.NET、Uni-App开发支持多平台的小程序商城系统 - CoreShop
118 0
下一篇
无影云桌面