-1

我最近被分配为 4 个不同的移动平台创建一个 PhoneGap 应用程序。在玩了一段时间的 PhoneGap 之后,我认为这并不适合我的目的,因为 WP7 和 BB 平台没有推送通知插件。

所以我去了本土。我为不同平台编写了本机代码,只做两件事:

1) 实现推送通知

2) 打开应用内 webView

我的计划是现在使用 webView 我可以打开我将与 phonegap 框架一起使用的“html-javascript 网页”,这将是同一件事..

然而......最近我发现一些javascript不会在BB(一些旧版本的操作系统)中运行。所以现在我想我明白了使用 PhoneGap 和简单地打开 WebView 之间的区别。

如果我使用的是 PhoneGap,我将编写的 html-javascript 代码将通过框架转换为本机代码,以便它可以在移动设备中运行。现在我尝试通过 Web 浏览器运行 javascript,如果设备不支持它,它根本不会运行。

我在这里吗?这是这两件事之间的最后一个大区别吗?

4

1 回答 1

1

PhoneGap 基本上是一个预编译的多平台原生库,可将原生 SDK 函数转换为 JavaScript 函数。在实现中,即使原生 SDK 的工作方式完全不同,它也会尝试在每个平台上使用相同的命名约定(就像 jQuery 使调用一个函数成为可能,即使不同的浏览器需要不同的函数调用方式)。

因此,例如在 PhoneGap 中,您可以通过简单的 JavaScript 函数调用(带有回调)调用一个函数来使用设备的相机拍照,而普通的 webview 无法做到这一点。

请记住,PhoneGap 无法通过这种方法获得本机速度,对于大型项目,我不建议使用此方法,因为最终您将遇到性能问题和/或平台之间的渲染问题,这将导致平台依赖代码 - > 那么你希望你刚刚制作了 4 个不同的原生应用程序。

于 2013-05-16T15:19:14.420 回答