WURFL简介

 做无线应用不像普通互联网应用那么简单,其中最麻烦的要数客户端适配的问题。全世界的手机千千万万种,屏幕尺寸、分辨率、颜色数、浏览器、操作系统、虚拟机版本等等全都不一样。要以统一的服务器端架构满足这么多种不同的客户端,并非易事。其中最困难的就是,你怎么知道客户端的配置是什么样的?
  当然,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的可读性,闲着没事用记事本把这个文件打开,瞅瞅自己的手机是个啥性能,也挺好玩的。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Walker-cheng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值