PhoneGap 2.3.0 发布,全面支持 Windows Phone 8

  • Anand Narayanaswamy
  • 邵思华

2013 年 2 月 1 日

话题:iOS语言 & 开发

Adobe Systems 最近发布了PhoneGap 2.3.0版本,加入了对Windows Phone 8的全面支持。同时加入了对InAppBrowser的支持,使得在全屏模式下观赏视频文件成为可能。新版本添加的一项功能是,当某个文件传输被中断后,能够将不完整的文件删除。另一项功能则是为插件的查询提供了 URLisAllowed() 这个方法抽象。

PhoneGap 2.3.0 包含了一个将 Cordova.plist 转换为 config.xml 的 helper 脚本,另外还包含了一些 bug fix,具体信息请见官方的更新日志。device.name 属性在全部平台上被定义为过期属性,取而代之的是一个叫做 device.model 的新属性。

InAppBrowser 具有和 ChildBrowser 相同的功能,能够支持事件,并且不必使用 App 白名单(App whitelist)。

var ref = window.open('http://infoq.com', '_blank');
ref.addEventListener('loadstart', function(event) { alert(event.type + ' - ' + event.url); } );
ref.addEventListener('loadstop', function(event) { alert(event.type + ' - ' + event.url); } );
ref.addEventListener('exit', function(event) { alert(event.type); } );

PhoneGap 2.3.0 修复了一个异常,该异常会在联系人列表中查找邮件时发生。它还修复了为联系人添加一张来自 HTTPS 地址的图片时所发生的某个异常,以及 Cordova 命令不支持包含空格的路径的问题。

为 Windows Phone 8 平台所开发的 PhoneGap 应用加载速度会更快,因为资源不需要解包到独立存储(Isolated storage)上。在 WP8 中,无需再像 WP7 的做法一样,将 JavaScript,CSS 和 HTML 文件转移到沙箱(Sandbox)文件系统中。除此之外,PhoneGap 2.3.0 还提供了对多屏幕尺寸、可缩放矢量图形(SVG)、ES5 以及手势事件(Gesture Events)的支持。

对 iOS 4.x 版本的支持随着 PhoneGap 2.3.0 的发布而停止。Cordova.plist 文件已更名为 config.xml,而一些 Cordova cli 命令也已更名。例如 Debug 就更名为 Build,同时添加了一些新的命令,如 Release 和 Run。

Jesse MacFadyen的博客中,他将 PhoneGap 2.3.0 描述为 Microsoft 和Apache Cordova项目通力合作的积极成果。

Jesse 说到:“对 WP7 的支持仍将继续,因为市面上仍然有着大量的 WP7 设备,它依然有着市场。而我认为这种方案是可行的。对 WP7 的近期改动已提交至 Apache Cordova,因此面向 WP7 开发的应用将能够继续运行在 WP8 上”。

Sindre Haaland 提到在 Android 4.0.3 和 4.1.1 系统中 getCurrentPosition () 方法存在 bug,但 Simon MacDonald 在回复中说到他并未发现任何问题,并希望提供 bug 的重现步骤。

Simon 还提议开发者们试用 Foreground Camera 插件进行插入图片的操作。他也提到在即将到来的版本中可能添加内部的照相功能支持,从而避免调用 Camera Intent(虽说这点很困难)。

查看英文原文PhoneGap 2.3.0 with Windows Phone 8 Support


感谢杨赛对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

iOS语言 & 开发