注:这一篇是来自http://www.purplexsu.net/blog/article-049-01.html的简体转繁体,这个Wireless Universal Resource File从2002年开始的专案,ㄚ琪到今天才发现有这样一个东西,还真是cool啊!看起来中文的不多,这一篇简体文是最容易找到的一篇文章,可以帮助我们了解Wireless Universal Resource File是什么?

做无线应用不像普通Internet应用那么简单,其中最麻烦的要数客户端适配的问题。全世界的手机千千万万种,荧幕尺寸、解析度、颜色数、浏览器、操作系统、虚拟机版本等等全都不一样。要以统一的伺服器架构满足这么多种不同的客户端,并非易事。其中最困难的就是,你怎么知道客户端的配置是什么样的?
当然,HTTP协议提供了UA header,根据这个,可以拿到终端的具体型号,下面要做的就是,根据这个型号找到各种各样的规格属性了。
WURFL正是做这个事情的,它的全称是Wireless Universal Resource File,主页架在Source Forge上,http://wurfl.sourceforge.net/。可以把WURFL理解成一个开源的免费的很大的XML文件,里面收集了世界上所有手机的技术参数。它是由全世界千千万万的好心人,大部分都是无线开发领域的技术人员,利用课余时间辛辛苦苦收集来的。专案的负责人叫Luca Passani,一个意大利帅哥。
WURFL真正体现了开源的精神,“源于大众,服务大众”。这是任何一个封闭的组织或者团体无法实现的。比如说,微软会把它弄成一个自己私有格式的二进制资料库,附带一个3D效果的图形化管理界面,至少一千页以上的技术文档,外加C++的API和在线启用系统,文件量600M左右,售价200美刀。现在的普遍使用的版本应该是WURFL XP,新的WURFL Vista已经上市,但由于价格涨到了2000美刀,且存在一些安全漏洞,所以买者寥寥。大多数穷苦的IT人员更愿意选用盗版的上海VLK版WURFL Vista……如果是中国政府就更不用说了,联合全世界从来就不是它的目标,它更愿意关起门来在自己家里搞搞和谐,抓抓黑砖窑包身工什么的。
闲话少说,下面就来扫一眼WURFL文件。它是个XML文件,目前的大小约为4M。格式如下:
<?xml version=”1.0″ encoding=”UTF-8″?>
<wurfl>
<version>…</version><!–这里说的是WURFL的版本信息,跳过–>
<devices><!–这个元素里包含了所有的设备信息,devices里包含了成千上万个device元素–>
<device user_agent=”Nokia3100″ fall_back=”nokia_generic_series40″ id=”nokia_3100_ver1″>
<!–这是一个设备,user_agent给出了UA信息,id给出了设备在WURFL中的ID号,fall_back给出了它的父设备的ID号–>
<!–设备的属性是继承的,如果当前设备里找不到某个属性,就继承它父设备的,直到最终的根设备–>
<group id=”product_info”><!–属性按照类别进行分组,一个device下面可以有很多的group–>
<capability name=”model_name” value=”3100″/><!–capability代表一个属性,每个group里可以有很多capability–>


</group>

</device>


</devices>
</wurfl>
整个WURFL就是这么简单,稍懂XML的人都可以写个几十行的小程式读取里面的信息。由于XML的可读性,闲着没事用记事本把这个文件打开,瞅瞅自己的手机是个啥性能,也挺好玩的。

ㄚ琪,会慢慢来看有关Wireless Universal Resource File资料,来分享给大家!