android / phonegap性能[关闭]

Posted

技术标签:

【中文标题】android / phonegap性能[关闭]【英文标题】:android / phonegap performance [closed] 【发布时间】:2011-03-05 18:21:35 【问题描述】:

我读过有关 phonegap 的文章,它使用户能够为 android 编写基于 Web 的应用程序,我想知道:

    phonegap 的性能与“真正的”android 应用相比如何 在 phonegap 中什么不起作用? 我知道可以使用 phonegap 实现 google 地图,但我想与在 android 下直接编码地图相比有很多限制? 作为 android 的新手(但在网络编程方面处于中间阶段),我应该直接使用 android 编码而不是 phonegap 吗?

我打算写一个应用程序,它使用谷歌地图服务+gps、数据库访问等,恐怕用phonegap是不可能的。

谢谢

【问题讨论】:

【参考方案1】:

我正在使用 Google 地图、GPS 构建应用程序并使用后端服务/数据库。我选择使用

Phonegap - 为了“包装”我的 html,我还使用 Geo-Location 库。 javascript - JQuery - JQuery Mobile - 大部分用户界面 HTML5 - 我需要在其中进行图形和手势操作的大量自定义 UI 等,需要手动编码 Node.JS - 我的后端服务。 JSONP - 在我的移动应用和服务之间进行通信 CouchDB - 在云端,NoSQL Javascript 友好的数据库,非常 很酷。

几乎完成了,我可以说这种类型的应用程序当然可以使用这种技术堆栈,并且它的整个跨/平台方面非常棒。然而,这并不是特别容易。尤其要注意...

Phonegap 使用基于 file:// 的 URL,因此浏览器“安全”和跨站点脚本的各种问题会弄乱您的 Ajax 和 cookie 代码。我通过使用 JSONP 解决了这个问题,但它确实阻止了我使用一些很酷的东西,否则这些东西是可能的,比如 SocketIO。

在浏览器、Phonegap 容器、模拟器中调试 JavaScript 几乎是不可能的。我通过使用 Firebug 在 Firefox 上进行大部分调试来解决这个问题,然后使用 alert('blah') 解决仅在部署时弹出的任何问题。

托管在 HTML 中的 Google 地图只能在连接到 Internet 时工作,这意味着在移动设备上进行调试(我在通勤时进行大量编码)很痛苦。我需要找到可靠的移动互联网,没什么大不了的,反正它很酷,但它是额外的。

Google 地图 InfoView 窗口糟透了。我最终放弃并从地图中弹出任何必要的对话框作为 JQuery Mobile 页面。

希望这对某人有所帮助;)

【讨论】:

非常好的建议!我正在四处寻找谷歌地图的性能改进,如果你有任何这样的提示?【参考方案2】:

PhoneGap 应用程序的性能很好,但很大程度上取决于您正在做什么(例如动画可能在本机上表现更好)。

如果您只在一个平台上构建它,最好使用原生,因为 PhoneGap 和原生 Android 开发都会有一条学习曲线。由于您经常使用地图,因此使用本机也可能更容易。

【讨论】:

【参考方案3】:

我会不惜一切代价避免使用 Phonegap。我一直在与 Phonegap 合作一个项目,但我们遇到了很多问题。最后,我们转向使用本地语言(java/objective c/java me)进行编码。

也许同时发生了一些变化,但当时(2010 年第二季度)Phonegap 真的只适用于 iPhone。 Android API 没有他们网站上记录的一半功能,甚至这些功能也充满了错误。例如,他们的联系人 API 有一个巨大的拦截器 - 使用了一些不存在的 javascript 对象。似乎他们只是从 iPhone API 复制/粘贴代码,甚至不关心检查它是否有效。我对 Phonegap 真的很失望——我们无法使用数据库,无法获取联系人,文档是错误的......

我讨厌为 Android 开发 HTML 应用程序的另一件事是缺乏具有原生 Android GUI 的库。几乎所有的 JS GUI 库都专注于 iPhone,并复制 iPhone GUI。一些宣传支持 Android 的公司的组件设计如此糟糕,以至于它们毫无用处。

再次重申,这是我 6 个月前的经历。我希望同时发生一些变化,但我确信我不会很快将 HTML 用于移动应用程序/android。

【讨论】:

原来如此 - 尝试使用 Android 版 PhoneGap 并且大多数演示都有效,但联系人除外 - 到目前为止,我能够检索的唯一字段是电子邮件,似乎没有任何名称字段工作。【参考方案4】:

phonegap 的好处在于它使您能够构建跨平台的移动应用程序。 如果你只是在做android,我想这没有意义。

【讨论】:

以上是关于android / phonegap性能[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

PhoneGap - 与 Android 上的浏览​​器相比性能较差

使用 Android 和 ios 的 phonegap 的默认共享 [关闭]

android中的煎茶触摸+phonegap

在 cordova/phonegap Android 应用程序上关闭屏幕后媒体停止播放

除了“你好”的东西,还有啥好的Phonegap教程吗? [关闭]

如何使用 Phonegap 创建 Android 应用程序? [复制]