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 的默认共享 [关闭]
在 cordova/phonegap Android 应用程序上关闭屏幕后媒体停止播放