开发开者社区

开发者社区 > 资讯

    JIL Widget移植工具使用与原理

    感谢 匿名用户 的提供    2009-09-15 15:54:16 | 阅读(3732)  评论 (1)   我要评论
    关键词: JILWidget 

      移动互联网时代里,Widget已然是耀眼的明星。Widget产品林林总总;在PC领域中,Apple Dashboard Widget,Google Gadget,Yahoo Widget,Opera Widget应用数目已近20000个;在移动终端上,Mobile Widget也发展迅猛,在中国移动的Mobile Market、诺基亚的OVI、Apple的 App Store等各类超市架上均有Mobile Widget的身影,Mobile Widget已经遍布OPhone,Windows Mobile S60、Android、LIMO等各种移动终端平台。

       

      我们在惊叹Widget应用如火如荼、Widget产品百花齐放的同时,也叹息由于Widget产品门派多多,标准不一,对于同一个应用,开发者需要开发不同格式的版本,如果所有的Widget应用都可以用于所有的平台上,那该多好。

       

      基于这样的基本想法,同时由于目前主流的Widget应用大多基于Web技术,在设计BAE/JIL Widget产品时,我们考虑了BAE能否兼容其他Widget格式或者能否为开发者提供一个工具,自动将其他Widget应用转换成JIL Widget应用。

       

      目前在JIL SDN(www.jil.org)上提供了这样一个Widget移植工具:支持将NOKIA S60 Widget、Apple Dashboard Widget、Opera Widget、Softbank Widget等应用转换成JIL Widget.

       

      使用方法:

       

      首先在JIL的官方网站www.jil.org上注册一个ID,登陆后,就可以使用JIL widget移植引擎。

       1)在主页上选择“开发”——“移植引擎”,如图1.

       

      图1 JIL在线移植引擎

       

      2)目前JIL官方只能支持将四种格式widget转换成为JIL widget即Opera widget,NOKIA WRT widget(S60),Apple Dashboard widget,以及Softbank Mobile,如图1.选择待移植widget的初始格式,并选择待转换的widget应用,进行上传。

       

      3)提交完成后会自动转到“我移植的widgets”页面,如图2,显示用户目前所提交widgets的移植情况。移植完成后,可下载移植后的Widget应用。

       

       

      图2 我移植的widgets

       

      运行效果:

       以Apple Dashboard Widget为例:

       http://www.apple.com/downloads/dashboard/information/bbcweather.html

       

      在OPhone, S60, Windows Mobile上的BAE运行的效果图:

       

      效果图1

       

      效果图2

       

      效果图3

       

      基本原理:

       

      我们简单比较一下几种Widget格式(具体内容,另文介绍),发现这几种Widget打包格式的设计思路是相近的:尽管Widget文件后缀名不同,但打包方法类似;都包括配置文件、资源文件(图片等)、逻辑文件(JS文件等)、UI描述文件(html等),因此格式转换可行。

       

       

      Widget移植引擎中包括了DOM、HTML、CSS、JavaScript等解析器,对文件内容的解析后,根据规则修改并组织成JIL Widget格式。

       

      工作流程:

       

      1.向移植引擎提交Widget

       2.解压Widget文件

       3.不同类型文件分配给相应的解析器

       4.解析配置文件

       5.确定入口点文件(主文件)

       6.将其分配给相应的文件解析器

       7.解析文件

       8.如果改文件无其他依赖文件(否则继续将依赖文件分配相应的文件解析器)

       9.将每个文件的描述方式转换成目标平台格式(如JIL)

       10.将转换后的文件以目标平台Widget组织格式(树状)输出,之后打成zip包

       11.返回新的Widget安装包,并反馈工作报告

       

      遗留问题:

       

      1. 尽管通过Widget移植引擎可以把其他Widget转换成JIL Widget,但由于不同Widget产品定义的Widget API不同,因此,部分转化后的部分Widget应用在JIL Widget引擎上可能存在功能不完整或运行不正常等,例如:Dashboard Widget API支持对Apple Class的访问(如多媒体播放、通讯录等)。

       

      2. 关于UI的终端适配问题。各种终端屏幕尺寸、分辨率可能存在巨大差异,例如PC上的Dashboard Widget相关图片相对应手机终端而言,尺寸巨大。因此,为了保证良好的Widget应用体验,移植引擎还需支持图片尺寸的自动调整(缩小)功能等。

       

    来源: 无

    与 widget 相关的工具文档

我来发表评论: