【搜狐数码专稿 文/吴学友】从3月份的CTP(Community Technical Preview,社区技术预览版本),到4月的CTP Refresh,然后是7月的Beta版本,正式版本的Windows Phone 7的SDK终于和大家见面了。下面我就从开发者的角度谈谈Windows Phone 7:
首先,从对比Windows Mobile6.5开始吧。
升级变化之一:编程语言的变化
与Windows Mobile6.5不同,托管代码成了Windows Phone 7唯一的编程语言,而编写托管代码将有两种方式,一种是编写Silverlight的程序,针对一般的手机应用;另外一种方式是编写XNA的程序,更适合游戏的开发。
这里的Silverlight 程序不同于传统意义上的Silverlight,虽然它是源于Silverlight 3,但是去掉了一部分不适用于移动设备的特性,同时又加入了一些Silverlight 4的特性或者是针对移动设备的代码。另外,传统的Silverlight程序都是在浏览器中执行的;但Windows Phone 7上的Silverlight是脱离浏览器单独运行的。
对于XNA程序,绝大部分国内开发者或许比较陌生。XNA是以前微软用来开发XBox上的游戏以及Zune上的应用程序的一套开发工具。不过由于XBox和Zune一直没有正式进入国内,国内开发者关注这方面的内容甚少。XNA的开发环境是一套基于Visual Studio的,被称为XNA Game Studio的东西。
升级变化之二:对第三方应用限制增多
Windows Phone 7的另一个显著变化是对第三方应用开发限制增多了,主要包括:
由于Windows Phone 7的第三方软件不能在后台执行,只能单任务。后台监控短信、电话等传统应用基本行不通;
开发者不能在使用C++作为编程语言,当前C#是Windows Phone 7 Series平台上唯一支持的开发语言;
目前还不支持VB开发;没有任何机制调用系统API。
对比主流操作系统
除了app store外,现在iPhone是大家学习的目标:多点触摸、手势、电容屏、绚丽的界面……等等。与Symbian, Android, iPhone比较,我们没办法单纯说它比那个平台好,比那个平台差,就对比说说Windows Phone 7的进步与退步:
进步一: 开发更简单
开发难度较Android、iPhone相当,甚至要更简单,微软有出色的Visual Studio这款IDE,手机平台模拟器,电话、短信模拟工具做的也非常出色。
Visual Studio可以是说是最好的集成开发工具,相对于Android采用的Eclipse,优势比较明显。Eclipse经常会出现无法编译,需要反复更新、反应迟钝等现象;同时Android模拟器占用资源很大;Android开发包与Eclipse协同工作需要做复杂配置工作,而Windows Phone直接安装SDK即可,几乎不需要配置。
另外,开发Windows Mobile/Windows Phone应用只能在Windows操作系统上;开发Android应用,Windows, Linux, Mac OS操作系统都可以。
iPhone开发工具简单实用,但是缺少必要的如模拟电话、短信等工具支持。
相对来说,Symbian开发就复杂很多了,Symbian目前是唯一一款非ARM指令的模拟器, 由于与手机环境有差异,导致很多问题没法在模拟器上复现,尤其对底层开发人员来说Symbian模拟器用处不大;另外,Symbian还没有很好解决在Linux上开发的问题;电话、短信模拟工具配置复杂,配置成功者少之又少。
进步二: 彻底变革菜单 增强触控体验
Android/iPhone就是为触摸屏设计的,后来者具有先天的优势。
Windows Phone 7为了更好的支持触摸屏,对菜单进行了彻底的改革,基本上抛弃了传统Windows的菜单形式,屏幕分配出来特定区域作为菜单,菜单占用的空间变大,更适合于手触摸;这点上已经达到了Android/iPhone的水平,再加上电容屏、多点触摸,相对于Windows Mobile 6.5是个巨大的进步,也是它最大的亮点。
而Symbian 3的菜单仍旧停留在传统的Windows菜单水平,由于菜单项之间间距过小,很容易出现点错菜单的现象,这是Symbian 3被认为落后其他平台一代的重要原因之一。
退步: 暂不支持多任务
目前Symbian/Android是支持多任务的,Android对多任务进一步做了些特殊处理,系统资源不足时候优先关闭后台执行的程序,保证关键任务(如电话)可以稳定执行。
Windows Phone 7不再支持多任务,不再支持后台任务,这点与iPhone 3GS及以前的机制相同,某种程度上来说这是一个退步。
开发者:多数人处于观望状态
开发人员对Windows Phone 7反应不一,有人赞许Windows Phone取得的巨大进步,有的人对微软的进度颇有微词,对Windows Phone 7的iPhone化很不以为然,多数人则处于观望状态。
目前还不清楚 Windows Phone 7能获得厂商多大程度的支持,开发者的态度很大程度上取决于第三方软件公司的战略,软件公司战略则取决于终端厂商对Windows Phone7认可程度,所以现在是考验微软的公关时刻了。
总之,从开发人员角度来讲,Windows Phone进步是明显的,电容屏、多点触摸、手势支持、更加绚烂的界面、编程门槛变得更低。但是Windows
Phone退步的地方也不少,单任务,不支持后台程序,不支持c/c++编程接口,使开发人员能做的事情变得少了很多。不过,就单任务问题,以微软的角度来说,似乎他们认为手机的稳定性,快速响应用户也许是更重要的,这个也是iPhone以前强调的理念,但是
专稿作者简介
吴学友,DevDiv移动开发社区创始人,具有7年的移动研发经验。曾服务于微软、诺基亚从事系统研发工作。目前主要致力于Windows Phone/Android/Symbian/iPhone的沙龙、培训工作。
微博地址:https://t.sohu.com/u/21689415
个人网址:https://www.devdiv.net/blog/Vincent
1 | 苹果 iPhone 4(16GB) | ¥4950 | 论坛 |
2 | 诺基亚 X7 | ¥3000 | 论坛 |
3 | 诺基亚 C5-03 | ¥1150 | 论坛 |
4 | 诺基亚 Vertu Constellati | ¥219400 | 论坛 |
5 | HTC 野火 A315c | ¥1600 | 论坛 |
6 | 诺基亚 N8 | ¥2900 | 论坛 |
7 | 诺基亚 C7 | ¥2150 | 论坛 |
8 | HTC Desire S(G12) | ¥2450 | 论坛 |
1 | HTC 野火 A315c | ¥1600 | 论坛 |
2 | HTC Desire S(G12) | ¥2450 | 论坛 |
3 | HTC Sensation(G14) | ¥3300 | 论坛 |
4 | 诺基亚 N9 64G | ¥4850 | 论坛 |
5 | 三星 i9100(16GB) | ¥4160 | 论坛 |
6 | HTC Wildfire S(G13) | ¥1700 | 论坛 |
7 | 诺基亚 N8(粉色) | ¥2650 | 论坛 |
8 | 三星 C6712 | ¥1100 | 论坛 |
1 | 三星 i9100(16GB) | ↘340 | 论坛 |
2 | 诺基亚 E7 | ↘250 | 论坛 |
3 | 诺基亚 C6 | ↘250 | 论坛 |
4 | HTC 野火 A315c | ↘200 | 论坛 |
5 | 诺基亚 X7 | ↘120 | 论坛 |
6 | HTC Sensation(G14) | ↘100 | 论坛 |
7 | HTC 惊艳 S710d | ↘100 | 论坛 |
8 | 摩托罗拉 Atrix 4G | ↘100 | 论坛 |