我们正在寻找建立条形码扫描应用程序。我们正在考虑使用PhoneGap,但我们唯一担心的是速度。 所有应用程序只需扫描条形码并检查服务器以查看它是否有效。该应用程序非常强烈地使用相机通过图像扫描条形码。 我的主要问题是,通过phonegap进行扫描的速度与本机应用程序一样快吗?速度非常重要,因为用户必须非常快速地扫描多个条形码。
答案 0 :(得分:17)
Phonegap使用相同的本机API,它只是抽象它们,以便您可以用html和javascript编写应用程序。拍照或任何其他原生过程的时间不如用户感知的时间重要。这是您需要向用户公开的本机执行时间部分+抽象API时间+ UI响应。
抽象总是有开销,但我认为在这样的应用程序中(在比BB OS5更新的手机中)可以忽略不计。当前的问题源于硬件渲染设备上安装的HTML和浏览器软件。
很多黑莓手机都没有使用webkit(OS5及以下版本),而且他们使用的浏览器在渲染webapps时看起来非常缓慢。小于5的BB OS版本没有在本机和javascript层之间进行通信的生产方式,经常看到的黑客是设置和轮询cookie的变化。 Android一直有一个很好的JavaScript设计与本机交互afaik。
黑莓手机和许多低端Android手机没有GPU,或者某些拥有GPU的Android手机没有为GPU编译webkit!没有这个你的UI应用程序可能 有这种迟钝的感觉,页面/按钮需要更长的时间来响应,当你试图通过菜单时,这是非常明显的。
自从发布phonegap以来,这已经有了很大的改进。 UI延迟应该继续降低到甚至新的低端手机都可以为webapps做好准备的程度。但根据我的经验,我们还没有在2011年达到这一点。
答案 1 :(得分:4)
手机的内置软件是扫描和相机动作。 PhoneGap只会触发事件并帮助传输数据,但手机会完成所有工作。
答案 2 :(得分:3)
正如其他人所说,基于html5的用户界面可能会感觉迟钝。也许这不是问题;你只需要尝试看看。对于扫描条形码并上传到服务器,Phonegap开销可能不是很重要。
答案 3 :(得分:2)
我开发了一款智能手机应用程序,其中条形码扫描是扫描图像匹配技术识别的主要功能的替代方案。我使用PhoneGap。我没有将此与本机应用程序性能进行比较。我可以说,对于我的基本用户界面(它是智能手机的网络应用程序),我的网页渲染得足够快,不会出现问题。在600MHz智能手机CPU(运行Android 2.2.1的LG Optimus One)上观察到了这种性能。
图片匹配以及条形码扫描是在服务器后端完成的,而不是在智能手机本身上完成的。这个问题变成了从智能手机通过WiFi或服务提供商网络,通过互联网到服务器的网络速度之一 - 然后从服务器回到智能手机的响应。图片匹配或条形码扫描的处理速度必须小于一秒(理想情况下为半秒),以便在添加网络延迟时,用户的响应时间仍为1-2秒。
我从智能手机转移到服务器的图像文件目标是大约40KB。在典型的54Mbps WiFi网络或HSPA +服务提供商网络中约40Mbps的速率下,我发现我的应用程序的性能非常合适。即使信号的WiFi速度为15Mbps,最终用户的响应也可在1-2秒之间接受。
智能手机开发(双核处理器)和服务提供商网络(4G HSPA +)的步伐只会让行业走得更高。这是应用程序开发向前发展的巨大机会。
旁边主题: 我在服务器上使用Zbar代码进行条形码扫描,我正在寻找更好的替代品。具有非变焦,非微距镜头的智能手机的ISBN条形码扫描的挑战在于,典型的条形码尺寸太小而“简单”的条形码扫描算法无法正常工作。我想了解替代方案和人们对条形码扫描的体验。我会寻找可以在我的服务器后端部署的代码,而不是运行智能手机驻留条形码扫描。