android - 什么时候最好不要使用Phonegap?

标签 android ios wcf cordova

我正计划为多种操作系统(包括 Android、IOS、WindowsPhone)开发一个移动应用程序(我的第一个应用程序) - 在狂野的互联网上,我发现了一个名为 phonegap 的框架,作为最小化开发过程的一种可能的解决方案。 我了解 phonegap 的优势 - 但找不到真正的缺点...... 1.) 那么问题是为什么我不应该使用 phonegap?

2.) phonegap 只是更慢,因为它被包裹在操作系统中,如果是的话,慢了多少?我的意思是你能真正说出原生应用程序和 phonegap 之间的区别,还是只是当您需要硬件加速时速度较慢,例如玩游戏?

有关该项目的更多信息。目前我有几个“.Net”服务和提供者,通过 WCF 进行通信。应用应该能够从服务接收和发送视频流和音频数据,就像提供者那样。

3.) 是否可以为此使用 phonegap,还是我应该坚持使用 native 应用程序?

最佳答案

所有跨平台框架(包括 HTML)通常都具有相同的优点和缺点。

优点:

  • 编写一次代码,在每个目标平台上都可以正常工作。

缺点:

  • 它的工作方式通常不是那么美妙。
  • 性能通常低于原生实现。
  • 有些还有自己的小部件集,看起来不合适。
  • 由于各个平台的怪癖,您仍然需要到处进行测试。
  • 您可以获得对功能的最低公分母访问权限。当支持原生特性时,通常只能通过一种方式访问​​它:可移植框架的方式。这有时与目标平台的首选方式不一致。
  • 如果您可以访问目标平台独有的功能,您将失去随处运行的可移植性。
  • 每个所谓的“跨平台”框架本身就是一个平台。请参阅前面关于怪癖的观点:现在,您不必了解 N 个平台,而是必须了解 N+1。

为了获得针对多个平台的最佳结果,我建议如下:

使用定义明确的 API 简洁地设计您的核心逻辑(不使用任何 UI 的部分)。使其足够通用,以便在环境之间相当容易地移植。 (SQLite 在 Objective C 和 Java 中真的有那么不同吗?)

按照目标平台的最佳做法设计您的 UI,使其在每个平台上看起来都很棒(并且适合)。 (对于 Android,请参阅 http://developer.android.com/design )让 UI 通过您创建的 API 与核心逻辑进行交互。

关于android - 什么时候最好不要使用Phonegap?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11829551/

相关文章:

wcf - "Unable to connect to the remote server"

安卓小工具 : Show configuration activity before widget is added to the screen

javascript - 使用 JavaScript/HTML 防止手机在移动网络浏览器中休眠的技巧?

ios - 从其他 NSSet 中减去 NSSet

iOS 8.0 UIWebView 文件输入崩溃我的应用程序

.net - svcutil排除/重复使用引用的程序集

.net - 帮助选择绑定(bind)(WCF)

android - 如何在 Android Things 上启用 Raspberry Pi 3 的第二个 SPI channel ?

android - NavigationView:如何在没有子组的情况下插入分隔符?

ios - 使用 Xcode 8 创建通用框架?