与Android相比,Phonegap或HTML5有哪些限制和缺点

Muh*_*man 41 android cordova

我很想知道使用Phonegap与使用Android相比是否存在任何缺点或限制.我们还能用其他平台完成哪些无法实现的目标?

为什么要专门选择Phonegap而不是Android(除了预算或跨平台兼容性),反之亦然?我正在寻找有理由的明确场景.

Sim*_*ald 53

完全披露我是PhoneGap Android实施的核心提交者之一,所以我的观点可能有偏见,但我觉得我很公平.

要回答您的问题,这实际上取决于您的要求.您已经驳回了预算和跨平台,这是PhoneGap的两大关键优势.例如,如果我从未打算瞄准任何平台,但我可能会使用原生Android开发,但如果我们去其他平台,我会选择PhoneGap.另外,我看看我的团队,他们是硬核Java程序员吗?去Android.他们是HTML开发人员吗?去PhoneGap或纯HTML5.

此外,它取决于您正在编写的应用程序类型.第一人称射手,去Android.一个表格驱动的数据应用程序,PhoneGap是要走的路.

无论如何,在不知道你正在尝试开发什么类型的应用程序的情况下,很难具体化.

  • 是的,可以在PhoneGap中轻松完成这种类型的应用程序.我们有一个示例应用程序,它可以完成所有这些工作.使用XHR与Web服务进行通信,使用FileTransfer进行上传,使用Geolocation获取当前位置. (9认同)

Mas*_*ind 24

PhoneGap优点

PhoneGap在许多情况下都是一个出色的解决方案:

多个平台:由于应用程序的前端是使用Web技术构建的,因此可以跨不同平台部署具有完全相同源代码的PhoneGap应用程序.

访问基本的本机功能:如果应用程序需要对本机API(如摄像头,地理位置和联系人)的最小访问权限,PhoneGap只需几行JavaScript代码即可访问这些API.

离线使用:虽然应用程序是使用Web技术构建的,但它仍然可以提供脱机功能并可以访问浏览器的本地缓存.

PhoneGap Cons

由于应用程序的前端是用JavaScript构建的,因此会产生许多限制.

数据处理:在设备上进行数据处理时,本机语言比JavaScript快得多.

后台处理:大量应用依赖于后台线程来提供流畅的用户体验:例如,计算背景中的GPS位置.PhoneGap API是使用JavaScript构建的,不是多线程的,因此不支持后台处理.

访问高级本机功能: PhoneGap的API尚不支持许多本机API.

复杂的业务逻辑:许多应用程序(如企业应用程序)都非常复杂.在这种情况下,拥有一定数量的本机代码会更好.

高级图形:使用只能使用第三方库访问的高级图形的应用程序最好本机完成.


小智 5

构建移动Web应用程序的好处:1)只需要与Objective-C或Java相比的HTML5/CSS/Javascript技能.我们使用Mobl(http://www.mobl-lang.org)使事情更简单,Mobl 是一种特定于域的语言,用于创建编译为javascript/html的移动Web应用程序.2)适用于所有平台(iOS,Android,Windows 7,移动网络)的单一代码库3)快速测试和部署(直到您通过电话连接,此时您需要遵守App Store审查条件等)4) Phonegap,您仍然可以通过App Store或Android Market利用分销和集成付款

缺点:1)性能不佳,尤其是如果您的应用程序图形强烈,即游戏.您可以实现缓存或利用某些第三方解决方案(即Sibblingz)进行本机图形加速,但在大多数情况下,本机应用程序比移动Web应用程序更快/更顺畅2)缺少预构建的UI小部件,转换,标准控件,您的开发时间可能会更长,特别是如果您想要一个具有原生外观和感觉的抛光外观的应用程序.您可以尝试使用Sencha Touch,JQ Touch或具有预构建UI元素的类似工具,但您可能仍需要花费大量时间设计应用程序以使其看起来更原生.

那么,您应该构建移动Web应用程序还是本机应用程序?如果您正在构建一个图形化涉及或涉及任何计算成本高昂的操作的应用程序,那么请确保原生,因为这些工具尚未完全实现移动Web应用程序的工作.如果您正在构建相当简单的东西并且不需要任何原生样式或设计润色,请转到移动Web路线.