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 )关注我们,并与我们的编辑和其他读者朋友交流。
评论