6月28日,Google Code官方博客发表文章(无法直接访问),发布了一款免费的SWF(Flash文件格式)-HTML5转换工具,名为Swiffy。用户已经可以通过Google实验室项目页面使用,直接在网页上传Flash文件,即可得到转换后的HTML5。此外,在转换后15分钟,还提供预览链接,这对移动设备非常方便。
这个工具是由Google英国公司的荷兰籍工程师Pieter Senster(LinkedIn)的个人项目发展而来。他去年夏天以实习生身份加入Google移动广告团队,为了解决在不支持Flash的移动设备上显示已有的SWF文件,开发了Swiffy。他本人也因此于2010年10月转正,继续专职从事这一项目开发。
根据Swiffy项目的FAQ,其工作原理分为两个步骤:
1. 由Swiffy编译器处理SWF文件,生成一个JSON文件,如果遇到不支持的Flash特性,会发出警告;
2. 由一个客户端的JavaScript运行环境加载JSON文件并使用HTML、SVG和CSS进行渲染。
Swiffy已经支持SWF 8和ActionScript 2.0的子集。包括常见的SWF特性,如向量图形、内嵌字体、图片和时间线动画,也支持基本的ActionScript 2.0代码,但复杂的游戏还不能很好地转换。大多数Flash 5特性包括ActionScript标准的大部分都没有问题,所以建议提交Flash 5文件。
要在Flash广告中继续使用clickTAG参数支持点击跟踪,只需在生成的文件中找到stage.start()调用,在前面插入代码:
stage.setFlashVars("clickTAG=http://swiffy.googlelabs.com");
目前转换后的HTML5文件(压缩的JSON)体积比原文件要大一些,比如,这个示例转换后体积要增加10%。而且,目前转换后的文件仅支持Webkit内核的Chrome和Safari浏览器,Google称它们具备更高级的SVG支持。Hacker News的评论中有人用Firefox测试,得出基本也可以支持的结论。也有人对只支持Webkit表示不满,称Opera明明对SVG的支持更完美,却会报错。
FAQ提到,项目目前还处于早期阶段,不肯定是否会开源。Adobe对这一项目表示高兴,双方很有可能在未来紧密合作。
在Hacker News网站另一组讨论中,有人对Swiffy只支持SWF 8和ActionScript 2.0的子集表示失望。另外,也有人提到其他转换工具,比如Adobe自己的Wallaby(是一款客户端软件),第三方的Tumult Hype(Mac软件,售价29.99),开源的Flash运行环境Gordon(用纯JavaScript写成),以及http://convertmyflash.com/。但是在Google的强大影响力与免费的优势下,Swiffy很有可能走得更远。