1

我有一个站点,它在服务器端使用 microsoft mvc 3,在客户端使用 jQuery Mobile,我想将它与 PhoneGap 结合起来并为 Android 和 iOS 生成执行。

  1. 可能吗?

  2. 如何?

谢谢

4

3 回答 3

1

对的,这是可能的。

如果你必须使用 Phonegap,有几件事要做:

首先,您必须按照这些说明创建与每个平台对应的项目。完成此操作后,您基本上将所有客户端代码(js、html、css)复制到项目的 www 文件夹中。这是应用程序加载速度更快的原因之一,因为它是从本地文件系统读取其资源,而不是每次都从 http 连接接收它们。

其次,您必须找到一种方法将服务器端数据提供给您的应用程序。如果您已经在使用 REST 服务或 RPC 方法来填充您的网站,那么就完成了,但如果没有,您必须首先构建它们,然后从客户端调用它们(最有可能通过来自 jQUery 的 ajax 调用),然后渲染它们通过 javascript(您可以使用多个模板库或仅使用普通 javascript,我建议仅在 UI 更新最少的情况下使用后者)。

如您所见,第二部分需要做更多的工作。特别是如果您以前没有构建过 Web 服务。

另一个不需要 phonega/cordova 的选项是使用嵌入式 webview。那么你就不必做任何事情了。它的工作方式类似于浏览器(加载您网站的远程 URL),具有在内部和 android/ios 应用程序中的额外优势,您可以添加其他视图或使用本机代码与嵌入式 webview 通信。如果您打算从文件系统而不是从您的服务器加载 html 文件,则必须对 phonegap 执行相同的操作。

于 2013-11-22T18:13:07.460 回答
1

它发生在我身上,如果您有一个取决于服务器代码的 Web 应用程序,我会使用基于 WebView 的应用程序,而不是 Cordova 应用程序。

为 Android 或 iPhone 创建这些 webviews 应用程序非常简单。

这里有一个在 android 上构建基于 webview 的应用程序的示例

这里有一个在 IOS 上构建基于 webview 的应用程序的示例

希望能帮助到你。

于 2013-11-20T14:37:29.090 回答
0

如果你想重用你的网站,你需要一个浏览它的 webview。

如果您使用这种方法,则不需要 Phonegap,但该应用程序的响应速度不如原生应用程序,并且 iPhone 版主可能会因此拒绝您的应用程序(它发生在我身上)。

另一种方法是您将站点重新创建为纯 Javascript 应用程序,并且仅与您的服务器通信以执行一些 REST 服务。在这种情况下,Apache Cordova 是有意义的。

于 2013-11-18T17:02:00.093 回答