我可以在不显示 web 视图的情况下使用 phonegap 吗?

Posted

技术标签:

【中文标题】我可以在不显示 web 视图的情况下使用 phonegap 吗?【英文标题】:Can I use phonegap without showing a webview? 【发布时间】:2012-08-23 02:16:17 【问题描述】:

我知道可以通过插件访问 PhoneGap 应用程序中的本机代码。但是,是否有可能有一个完全原生的接口(在 androidios 和可能的 Windows Phone 上)连接到非 UI 层的 javascript 代码(通过 PhoneGap 库增强)?

我要解决的问题:

我正在计划一个至少部分跨平台的应用程序,这样我就不必写三遍了。不过,我也关心为用户界面提供原生性能和外观。

我的理论是,我可以通过编写几个应用程序来获得两全其美的效果,这些应用程序由围绕一个内部共享代码库的瘦 UI 组成。由于我对 JavaScript 相当有能力,我想我会从它开始我的研究。如果 PhoneGap 允许我在没有 webview 的情况下访问 JavaScript,那么我就有很多框架代码(例如 i/o)可供我使用。

【问题讨论】:

【参考方案1】:

我认为PhoneGap 的使用仅限于WebView。

来自http://phonegap.com/2012/05/02/phonegap-explained-visually/:

The web view used by PhoneGap is the same web view used by the native 
operating system. On iOS, this is the Objective-C UIWebView class; on Android, 
this is android.webkit.WebView. 

但是,制作某种混合应用程序是可能的。您可以在 Objective-C 中编写 UITabBar 和其他原生 iOS 内容,然后为典型的 PhoneGap 内容添加 UIWebView。但是,如果您支持多个平台,这当然需要额外的工作。

我发现有人在 youtube 上演示此类应用的视频。我发现this SO question/answer 也非常有用。

【讨论】:

我也简要地考虑过这种方法,但我的直觉告诉我,它只会让我做更多的工作来尝试与框架作斗争,如果你明白我的意思,那就是设计整个原生的 UI。另外,我希望它会导致用户界面有些不一致。顺便说一句,该视频只是 Sencha Touch 的 Kitchen Sink 应用程序,据我所知,它没有集成任何原生小部件。

以上是关于我可以在不显示 web 视图的情况下使用 phonegap 吗?的主要内容,如果未能解决你的问题,请参考以下文章

如何在不使用对话框的情况下在操作栏上方显示视图?

如何在不显示中间视图的情况下通过多个视图展开

如何在不使用 foreach 循环的情况下从视图访问模型

Java/Android:如何在不切断边缘视图的情况下显示一系列图像视图?

如何在不刷新整个页面的情况下刷新视图中的数据?有角度的

如何在不向用户显示视图的情况下捕获整个滚动视图的图片