2011-09-22 75 views
8

我们正在研究构建条码扫描应用程序。我们正在考虑使用PhoneGap,但我们唯一担心的是速度。 所有的应用程序只会扫描条形码并检查服务器以查看它是否有效。该应用程序非常强烈地使用相机通过图像扫描条形码。 我的主要问题是,将通过手机扫描速度与原生应用程序一样快吗?速度非常重要,因为用户必须非常快速地扫描多个条形码。Phonegap应用程序性能与原生应用程序性能对比

回答

4

手机的内置软件是扫描和相机操作。 PhoneGap只会触发事件并帮助传输数据,但手机完成所有工作。

17

Phonegap使用相同的本地API,它只是抽象它们,以便您可以在HTML和JavaScript中编写应用程序。拍摄照片或任何其他原生过程的时间不如用户感知的时间重要。这是您需要向用户公开的本机执行时间的一部分+抽象API时间+ UI响应度。

从抽象中总是会有一些开销,但我认为在这样的应用程序中(在比BB OS5更新的手机中)可以忽略不计。目前的问题来自硬件渲染设备上安装的HTML和浏览器软件。

许多黑莓手机不使用webkit(OS5及以下版本),而且他们使用的浏览器在呈现web应用程序时看起来非常缓慢。 BB操作系统版本低于5的产品并不具备在本机层和JavaScript层之间进行通信的有效方式,但常见的破解方法是设置和轮询cookie中的更改。 Android一直有一个良好的JavaScript设计,以本地交互afaik。

黑莓手机和许多低端Android手机没有GPU,或者某些具有GPU的Android手机不能编译GPU的Webkit!没有这个你的UI应用程序可能 有这种缓慢的感觉,页面/按钮需要更长的时间来回应,这是非常明显的,当你试图通过菜单嗖嗖。

自从phonegap发布以来,这已经有了很大的改进。 UI滞后应该继续下降,甚至新的低端手机也可以用于webapps的生产。但根据我的经验,我们还没有在2011年达到这一点。

3

正如其他人指出基于html5的用户界面可能会感觉呆滞。也许这不是问题;你只需要尝试一下,看看。为了扫描条形码并上传到服务器,Phonegap的开销可能不是很重要。

+1

有一个GitHub插件的PhoneGap仓库。其中一个插件是BarcodeScanner。 https://github.com/phonegap/phonegap-plugins – Devgeeks

2

我开发了一款智能手机应用程序,其中条形码扫描是扫描图像的主要功能的替代方法,图像被图像匹配技术识别。我使用PhoneGap。我没有把它与原生应用程序的性能进行比较。我可以说,对于我的基本用户界面(这是智能手机的网络应用程序),我的网页渲染得足够快,不成问题。在600MHz智能手机CPU(运行Android 2.2.1的LG Optimus One)上观察到这种性能。

图片匹配以及条形码扫描在服务器后端完成,而不是在智能手机本身。这个问题成为智能手机通过WiFi或服务提供商网络,通过互联网和服务器进行联网的速度之一 - 然后是从服务器返回到智能手机的响应。图像匹配或条形码扫描的处理速度必须小于1秒(理想情况下为半秒),以便在添加联网延迟时间后,用户仍然需要1-2秒的响应时间。

我从智能手机传输到服务器的图像文件目标是大约40KB。在典型的54Mbps WiFi网络或HSPA +服务提供商网络中40Mbps左右的速度下,我发现我的应用的性能是合适的。即使使用15Mbps的公平信号WiFi速度,最终用户的响应时间也只有1-2秒。

智能手机开发(双核处理器)和服务提供商网络(4G HSPA +)的发展速度只会使行业走高。这是推动应用程序发展的巨大机遇。

副题: 我在服务器上使用Zbar代码进行条码扫描,我在寻找更好的替代方案。使用具有非变焦,非微距镜头的智能手机进行ISBN条形码扫描的挑战在于,典型的条形码大小对于“简单”条形码扫描算法正常工作来说太小。我想听听有关条码扫描的替代方案和人们的经验。我会寻找可以部署在我的服务器后端的代码,而不是运行智能手机常驻条形码扫描。