我有一个站点,它在服务器端使用 microsoft mvc 3,在客户端使用 jQuery Mobile,我想将它与 PhoneGap 结合起来并为 Android 和 iOS 生成执行。
可能吗?
如何?
谢谢
我有一个站点,它在服务器端使用 microsoft mvc 3,在客户端使用 jQuery Mobile,我想将它与 PhoneGap 结合起来并为 Android 和 iOS 生成执行。
可能吗?
如何?
谢谢
对的,这是可能的。
如果你必须使用 Phonegap,有几件事要做:
首先,您必须按照这些说明创建与每个平台对应的项目。完成此操作后,您基本上将所有客户端代码(js、html、css)复制到项目的 www 文件夹中。这是应用程序加载速度更快的原因之一,因为它是从本地文件系统读取其资源,而不是每次都从 http 连接接收它们。
其次,您必须找到一种方法将服务器端数据提供给您的应用程序。如果您已经在使用 REST 服务或 RPC 方法来填充您的网站,那么就完成了,但如果没有,您必须首先构建它们,然后从客户端调用它们(最有可能通过来自 jQUery 的 ajax 调用),然后渲染它们通过 javascript(您可以使用多个模板库或仅使用普通 javascript,我建议仅在 UI 更新最少的情况下使用后者)。
如您所见,第二部分需要做更多的工作。特别是如果您以前没有构建过 Web 服务。
另一个不需要 phonega/cordova 的选项是使用嵌入式 webview。那么你就不必做任何事情了。它的工作方式类似于浏览器(加载您网站的远程 URL),具有在内部和 android/ios 应用程序中的额外优势,您可以添加其他视图或使用本机代码与嵌入式 webview 通信。如果您打算从文件系统而不是从您的服务器加载 html 文件,则必须对 phonegap 执行相同的操作。
它发生在我身上,如果您有一个取决于服务器代码的 Web 应用程序,我会使用基于 WebView 的应用程序,而不是 Cordova 应用程序。
为 Android 或 iPhone 创建这些 webviews 应用程序非常简单。
这里有一个在 android 上构建基于 webview 的应用程序的示例
这里有一个在 IOS 上构建基于 webview 的应用程序的示例
希望能帮助到你。
如果你想重用你的网站,你需要一个浏览它的 webview。
如果您使用这种方法,则不需要 Phonegap,但该应用程序的响应速度不如原生应用程序,并且 iPhone 版主可能会因此拒绝您的应用程序(它发生在我身上)。
另一种方法是您将站点重新创建为纯 Javascript 应用程序,并且仅与您的服务器通信以执行一些 REST 服务。在这种情况下,Apache Cordova 是有意义的。