8

我一直在开发一个用 Ruby on Rails 编写的 jQuery 移动 Web 应用程序,并希望将其作为原生 Android 应用程序提供。我已经设置了 phonegap 项目来加载我的 url,一切似乎都在工作,但我一直在读到,如果它只是一个指向外部 url 的 webview 容器,谷歌将拒绝该应用程序。有没有人有这方面的经验?

据我所知,我需要重写 Web 应用程序以使用 ajax 调用来填充页面,而不是仅仅依赖对我的 Web 服务器的 Web 请求。任何人都可以对此提供任何见解吗?他们会接受只加载外部 url 的 PhoneGap 应用吗?任何帮助表示赞赏。

更新 1:我还了解到,无法处理没有互联网连接是他们批准/拒绝您的应用程序的主要原因之一。我认为这可以在 android 应用程序中使用一些检查互联网连接的逻辑来处理,如果它存在,则加载外部 url,如果它不加载本地 html 启动页面。这个想法可以吗?

Update2:是否可以选择将应用程序的“骨架”作为电话间隙应用程序中的基本 html 文件,该应用程序仅使用 ajax 来拉下所有主要的 html?这样,应用程序仍然可以在没有互联网连接的情况下运行,但您也可以对页面内容进行较大更改,这些内容将在每个请求中被拉下。这是一个可行的选择吗?

4

1 回答 1

2

我从来没有听说过一个应用程序因为只是一个 WebView 容器而被 Play 商店拒绝。但即使他们不会因此拒绝您的应用程序,您也不应该以这种方式构建 PhoneGap 应用程序。你最终会得到一个感觉它只是一个 WebView 容器的应用程序,以及一个在连接不稳定时很容易中断的应用程序。请记住,即使在接收良好的情况下,手机的延迟也很高,因此减少您必须发出的请求数量(针对静态文件和资产)至关重要。

理想情况下,当将网站移植到 PhoneGap 应用程序时,您应该尽可能地解耦您的界面。更少的变量应该从控制器传递到视图,更多的数据应该通过 AJAX 调用。当您的前端代码(应用程序/视图中的所有文件)可以静态提供时,转移到 PhoneGap 应用程序很容易。

确保您的控制器中的操作都具有对 JS ( format.js) 的响应,而不仅仅是 HTML。您的视图应该对 Rails 进行 AJAX 调用,以获取通过 AJAX 填充页面的数据。然后您可以将您的视图(和您的资产)捆绑到您的 PhoneGap 应用程序中。

于 2013-01-31T22:06:02.763 回答