将Ruby on Rails应用程序转换为原生Android PhoneGap应用程序

时间:2013-01-16 15:51:22

标签: android ruby-on-rails cordova jquery-mobile

我一直在研究用Ruby on Rails编写的jQuery移动网络应用程序,并希望将其作为原生Android应用程序提供。我已经设置了phonegap项目来加载我的网址,而且一切似乎都在运行,但我一直在阅读Google会拒绝该应用程序,如果它只是一个外部网址的webview容器。有没有人有这方面的经验?

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

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

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

1 个答案:

答案 0 :(得分:2)

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

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

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