我计划为多个操作系统(包括Android,IOS,WindowsPhone)开发移动应用程序(我的第一个) - 在野外互联网中,我找到了一个名为phonegap的框架,作为最小化开发过程的可能性解决方案。 我理解phonegap的优点 - 但找不到真正的缺点...... 1。)所以问题是我为什么不使用phonegap?
2。)phonegap是否只是速度较慢,因为它包含在操作系统内部,如果是的话要慢多少?我的意思是你真的可以告诉原生应用和手机之间的差异,或者只是当你需要硬件加速时,例如用于游戏?
关于该项目的更多信息。目前我有几个'.Net'服务和提供商,通过WCF进行通信。应用程序应该能够从服务中接收和发送视频流和音频数据,例如提供商可以这样做。
3。)是否可以使用phonegap,还是应该坚持原生应用?
答案 0 :(得分:40)
所有跨平台框架(包括HTML)通常都有相同的优点和缺点。
<强>优点:强>
<强>缺点:强>
为了获得针对多个平台的最佳结果,我建议如下:
使用定义良好的API,干净利落地设计您的核心逻辑(不使用任何UI的部分)。使其足够通用,可以在环境之间轻松移植。 (在Objective C与Java中SQLite真的不同吗?)
按照目标平台的最佳实践设计您的UI,使其在每个平台上看起来很棒(并且适合)。 (对于Android,请参阅http://developer.android.com/design)让UI通过您创建的API与核心逻辑进行交互。
答案 1 :(得分:16)
我已经开发了本机和HTML包装器,如Phonegap。虽然Phonegap可以减少必须使用2-3种不同语言进行编码,并且可以对2-3个代码库进行更改,但是如果您希望有一个人们想要使用的应用程序仍然使用原生代码。我实际上只是在Phonegap中开发一个应用程序,并最终用本机代码重写它,因为它对于期望来说还不够好。
虽然你的游戏或应用程序对于HTML包装应用程序来说可能很棒,但最终用户只会注意到加载和反应时间较慢,即使它们非常轻微。
IMO Phonegap应仅用于进行非常少量数据操作(显示和编辑)且不进行强烈处理的应用程序(即游戏)。
应用程序市场极具竞争力,所有顶级应用程序和你看到的游戏都是本机代码(它们是有原因的)。
答案 2 :(得分:11)
Adobe的AIR平台是phonegap的绝佳替代品,可以在任何地方进行部署,而不是本机应用。它还具有出色的硬件加速功能。它包含一个webkit实现,因此您可以根据需要使用Web标准,并且开源apache flex项目提供了很多。 Flash构建器是基于eclipse的优秀编码环境。除了游戏方面的巨大进步外,我们很快就会看到更多数据驱动的AIR应用程序。 As3是面向对象的,非常好用,加上flash专业版动画到插画家和Photoshop的大量工具集都是世界级的。
答案 3 :(得分:4)
我在一家公司工作,每个应用都需要,制作所有可能版本的移动版本。真的,如果你需要使用特定类型的应用程序,如无线电流,GPU访问,相机过滤器或任何你可以命名的东西..去原生。
在我个人看来,即使在Android上,手机间隙也很慢。我不知道是不是因为我使用iOS,或者我有高标准。与本机合作将始终为您的应用带来更多品质。
我理解使用手机间隙可以让事情变得更快,但前提是你正在制作一个简单的移动应用程序......只显示信息或某些形式。
对于硬件/软件方面,您会发现本地更容易开发这些内容。 iOS几乎掌握了一切。我不知道android,但也不应该那么复杂!
答案 4 :(得分:2)
Phonegap使用WebViews,因此它是一个网站,您正在构建并包装到本机容器中以将其部署在应用商店中。 对于基本的应用程序,如果您是一名Web开发人员,最好采用这种方式开发应用程序,但如果您希望获得目标的全部优势和原生特性,那么开发本机应用程序要好得多。 希望有所帮助。