Windows Mobile6.5下的Widget 早就听说了Windows Mobile6.5最重要的两大特性之一就是支持Widget.刚好最近在研究这个东东,所以安装了一下Windows Mobile6.5 SDK,体验了一下。
根据马宁的Blog 文章,我依葫芦画瓢的试了一下,微软提供的例子运行正常,Widget也有一个安装过程,安装后也有快捷方式,在用户体验上和普通的 Native APP差别不大。让我对它产生了一点点兴趣。
从例子的package格式来看,似乎也是完全符合W3C的Widget1.0: Packaging and Configuration .为了验证是否Windows Mobile6.5内核部分对W3C规范的兼容性,我从网上下载了几个Opera的Widget,发现问题出来了:
1. Opera的Widget Package格式有一两个私有标签,Windows Mobile6.5无法直接安装Opera的Widget。需要把私有标签去掉,才能安装,说明Windows Mobile6.5对Packaging验证比较严格。
2. 我选择了几个没有使用Opera私有对象的Widget进行测试,发现Windows Mobile6.5基本上都运行不起来,按说Opera还是比较遵从W3C规范的,所以只能说问题出在Windows Mobile6.5这边了。
3. 我把Widget解开后,在PC上用IE6打开,发现运行出来的结果和Windows Mobile6.5是一摸一样的,连错误都是一摸一样的,说明Windows Mobile6.5的Widget内核也就是IE6的内核,微软也就是在IE6的内核JS引擎了扩展了一下Widget对象而已。大家知道IE6好多东西是不兼容W3C规范的,所以,符合W3C规范的Widget在Windows Mobile6.5上运行不正常也就不足为奇了。
4. 粗略的看了一下Windows Mobile6.5的SDK文档,似乎也没有找到对Widget内核扩展的接口,因此需要实现JIL规范和Bondi规范似乎也不太可能了。
了解了这些,顿时兴趣不大了,等微软啥时解决了W3C的兼容性问题后,我再考虑基于他这个内核做一些事情,毕竟我们不能为了他这套标准,写两套Widget,Widget本身一个目的就是解决跨平台的问题,这样一来又把问题绕回去了。