南行漫记——红星照耀新加坡(一)
何宗键,微软Windows Embedded MVP,同济大学软件学院的讲师。目前负责"微软——同济移动与嵌入式中心"的工作。主要兴趣为基于Windows
CE的嵌入式系统与Windows Mobile移动设备。熟悉Platform Builder和Windows CE内核以及BSP开发。
原文地址:https://omale.blogcn.com/diary,14070300.shtml
08年1月28到30日,我参加了微软公司在新加坡举行的Windows Mobile培训,这次培训的对象是面向亚太区的微软员工,也有一些MVP,参加新加坡培训的总共有十几个人,大多数都是微软的内部员工,有个职位叫evangelist,英文叫传教士,中文叫大忽悠。还有一个韩国的MVP,我是作为中国MVP的身份参加的,作为唯一的一个国内MVP比较荣幸,也是我第一次踏出中国国土,就写写这次的体会吧,还是随笔,技术和非技术的内容掺杂。
首先从签证谈起吧,两年前打算去美国参加MEDC,结果去美领馆签证被秒杀了,白白亏了1K的签证申请费,从此留下心理阴影了。这次去新加坡,又要办个人旅游签证,没想到这新加坡办证这么容易,只要户口本、身份证和一个单位公章的证明(基本上就是形式),不用预约,也不用面试,上午交材料下午就拿到签证了,简直比电线杆办证还要适宜。
拿到签证,买了机票,换了100块钱新币(一比五啊,五张主席头像才换了一张不知道是啥人的脑袋),就可以踏出国门了。去新加坡的前一天,正好赶上南方雪灾严重的时候,上海飞雪漫天,偶在北方长大的都没见过这么大的雪。偶一直以为去不成了,好在陆路交通瘫痪,浦东机场还是可以飞的,下午的飞机,晚点一个小时,五个小时的飞行之后,晚上九点左右到了新加坡。第一感觉就是热,30度,夏天啊。哎,仅仅几个小时就从漫天飞雪走到了赤日炎炎。还好有准备,马上脱衣服到只剩背心裤衩,可怜我的一个大大的行李箱,就装了毛衣毛裤棉袄手套了。
还要等三个从北京一起过来的微软员工,所以乘机在机场的免税店溜达了一圈。居然在某个电子商店发现了“祖国版”的Wii游戏机配件(网球拍什么的),爱国之情油然而生啊,原来山寨配件都出口创汇了,实在不可小觑。新加坡的机场装修豪华,也难怪,人家全国就一个机场。机场很多地方都有电脑提供免费上网服务,不过只能上十分钟。可能老外自觉吧,十分钟结束之后,重新再login一次,就可以继续了,长期霸占网络也不成问题。在手机没有信号的情况下,顺利与另外几位汇合了,一起打车去酒店。新加坡的车是右舵,人也是靠左行驶,有点不是很习惯。不过人家的出租车配置十分了得,很多出租车直接可以刷VISA或者MasterCard。车上了解到,新加坡绝大多数人讲中文,而且还是简体中文。连个让我秀秀英语的机会也没了。酒店名字叫Meritus Mandarin,看名字就知道跟中国有莫大的关系。配置十分了得,不愧是MS的协议酒店。晚上出去在对面的路边大排档点了一份咖喱面条,超级难吃。然后出去兜了一下,发现街上的麦当劳,肯德基,哈根达斯,星巴克都是路边店,连个店面都没有,插一个遮阳伞就算OK了,价格也不贵,跟国内的地毯烧烤,兰州拉面,沙县小吃是一个档次上的东西。号称自来水可以直接饮用,结果喝了之后拉肚子,不知道是啥原因。
第二天培训开始了。给我们讲课的是两个西班牙人,西式英语很难听,让我听着听着就联想起生化危机4里面的那些狂暴村民,汗…………
由于课程的目标受众群体是没有签署NDA的人,所以无论是讲师的口风还是培训的内容,都稍显谨慎。例如对于下一个版本的Windows Mobile操作系统,大家都格外关心,但是讲师们都是以Windows Mobile six plus one相称,连版本号是Windows Mobile 6.1还是Windows Mobile 7.0都不肯透露。但是可以肯定的是,下一个版本的Windows Mobile会在UI上做大量的修改,并且有可能要求Windows Mobile的手机支持加速度传感器(都是任天堂Wii惹起来的风潮啊,偶也很喜欢玩Wii,嘻嘻)。有了加速度传感器,可以通过晃动手机,完成很多动作。例如,以后手机锁键盘之后的解锁功能,就是你把手机往头顶上一举,大喊“赐予我力量把,Windows Mobile!”,然后手机就可以自动解锁了:-)
讲座的内容以Windows Mobile 6和Visual Studio 2008为主。Windows Mobile 6已经出来很长时间了,没有什么新东西,Visual Studio 2008还算是新奇。一共七个Topics:
- Track 1 All About Windows Mobile
- Track 2 LOB Mobile Applications
- Track 3 The Tools
- Track 4 Managed development and devices
- Track 5 Mobile Data
- Track 6 Optimization and guidance
- Track 7 Whole new level
在这里偶也对讲课的内容评头论足一下吧。
关于WM6:
WM6也不是新东西了,我的感觉6这个版本升级很像是为了对付iphone而仓皇推出的作品,升级内容不多。最大的意义是统一了名字。Pocket PC跟Smartphone原则上已经不存在了,都叫Windows Mobile了:Classic, standard和Professional。其实编程用API调用得到OS描述,还是可以得到Pocket PC和Smartphone的名字,看来名字统一也是市场行为,Code Base并没有合并。
Cellular Emulator是一个进步,可以在模拟器中模拟发短信,打电话了,对开发人员是一个很大的方便。对于Cellular Emulator,我总觉得架构的有点不太对。因为从结构上来说,Cellular Emulator模拟了两块东西,一块是手机里面的通信模块(与CPU一般通过串口AT Command交互),一块是移动服务商提供的服务(短信的回复等等)把这两个东西放在一块很容易混淆大众。我觉得比较好的做法应该是把通信模块的模拟做成Device Emulator的插件(这样可以模拟多个厂商的通信模块,毕竟不同厂商的AT命令还有些微小的不同),然后Cellular Emulator是一个单独的模拟器。两者之间通过进程间通信交互,接口可以使用微软自定义的标准化接口,并且公开,这样第三方也可以方便扩展,然后可以把新的Cellular Emulator功能做强,例如现在的打电话功能,接通了啥都不能干,如果我要写一个电话录音软件,依然不能用模拟器调试。不如把电话的语音信道转接到一个mp3或者wav文件上,再牛一点,转到msn messenger的语音聊天上去,或者运行在另外一台机器上的cellular emulator上去,让两台机器上的手机模拟器可以真正的实时通话。这就比较好玩了。
其它的一些工具,FakeGPS也太Fake了,就是从文本文件里面读取NEMA格式的数据,如果做得好,可以跟google earth或者live map结合起来,随便在地球上拖一条线路,然后再设置一个速度,就自动把相应的数据送到模拟器里。还有那个Hopper就更没用了。狂发点击信息,但是本身不带任何的Log,经常程序被Hopper死了也不知道怎么死的。这种随机测试是有用的。但是目前的工具功能需要增强。
关于VS2008:
VS2008对Mobile和Embedded开发没有大的改进。最主要的更新是Device Emulator升级到了3。偶一直对Device Emulator很关注。1.0开源之后偶基本上读过一遍源代码。但是后来版本源代码就不公开了。3.0的Device Emulator开发者换了人,所以跟2.0相比,更新变化不是很大。最主要的更新是增加了编程对Device Emulator控制的功能。例如他们给我们展示的一个例子是写一个程序,让Device Emulator模拟的电池电量每秒减少1%,这样就很容易看到你的程序在低电的时候的效果了。这对于开发一些自动化测试程序来说,还是很有用的。其实对于Device Emulator,在未来的版本里,俺觉得也是有潜力可以挖的。现在基本上是模拟三星2410的处理器,其实俺觉得可以参考ARM CPU的做法,把Core和SoC分开模拟。例如同是ARM 9的Core,对于SoC上的外设访问和中断控制器,可以做成插件的形式。这样,Device Emulator就可以模拟三星、TI等多家公司的处理器了。再灵活一点,把所有的外设都写成一个个插件,例如我的设备上有个摄像头,我可以自己加一个摄像头插件进去,map到IO地址的某一段上去…………
关于.NET CF 3.5:
.NET CF 3.5基本上跟桌面的.NET CF版本号一致起来了,新增加的内容也跟桌面差不多,WCF和LINQ(他们说要读“林秋”,不读“林克”)是最主要的更新。由于基本上是桌面版本的阉割版,就不再多介绍了。其它一些更新都比较细小,Logging啊,Delegate,SoundPlayer啊什么的。现在的感觉是在Mobile上面,经过几年的发展,.NET CF基本上已经成为应用开发的首选了。短平快的方式也容易被大家接受,而且随着硬件功能的提升,貌似性能和资源问题也在慢慢的缓解,现在的手机,基本上功能也顶得上是15年前的电脑了。
中午吃饭就是在微软的Office里面直接吃自助,几天时间都是肉多青菜少,后来打听说原来这边肉菜差不多贵……微软新加坡公司的风景不错,濒临Marina Bay,楼下就是标志性建筑鱼尾狮Merlion。
第一阶段就到此为止吧,下一阶段介绍游记…………
Comments
Anonymous
April 06, 2008
Windows Mobile Workshop 培训第二季(西安,上海,厦门,广州,深圳) 为了促进 Windows Mobile 的发展,微软平台与开发合作部将在 2008 年推出一系列针对 WindowsAnonymous
April 07, 2008
Windows Mobile Workshop培训第二季(西安,上海,厦门,广州,深圳)Anonymous
June 16, 2009
PingBack from http://fixmycrediteasily.info/story.php?id=12135