Phonegap App-Leistung und native App-Leistung

8

Wir suchen nach einer Barcode-Scan-Anwendung. Wir denken über PhoneGap nach, aber unsere einzige Sorge ist die Geschwindigkeit. Die Anwendung genügt, um einen Barcode zu scannen und einen Server zu überprüfen, ob er gültig ist oder nicht. Die Anwendung verwendet die Kamera sehr intensiv, um den Barcode über ein Bild zu scannen. Meine Hauptfrage ist, wird Scannen über Phonegap genauso schnell sein wie eine native App? Geschwindigkeit ist sehr wichtig, da der Benutzer mehrere Barcodes sehr schnell scannen muss.

    
Avi 22.09.2011, 21:55
quelle

4 Antworten

17

Phonegap verwendet dieselben nativen APIs, abstrahiert sie jedoch, so dass Sie Ihre Anwendung in html und javascript schreiben können. Die Zeit, ein Bild oder einen anderen nativen Prozess zu erstellen, ist weniger wichtig als die Zeit, die der Benutzer wahrnimmt. Dies ist der Teil der nativen Ausführungszeit, den Sie dem Benutzer + Abstraktions-API-Zeit + UI-Reaktionszeit zur Verfügung stellen müssen.

Es gibt immer einen Overhead von einer Abstraktion, aber ich denke, das ist in einer App wie dieser vernachlässigbar (in Handys neuer als BB OS5). Die aktuellen Probleme stammen von der Hardware, die den HTML- und die Browser-Software auf dem Gerät rendert.

Viele BlackBerry-Telefone verwenden kein Webkit (OS5 und darunter) und die Browser, die sie verwenden, können beim Rendern von Webapps sehr träge wirken. BB OS-Versionen von weniger als 5 haben keine produktionsfreundliche Möglichkeit, zwischen den nativen und Javascript-Ebenen zu kommunizieren. Der Hack, der oft gesehen wird, besteht darin, Änderungen in Cookies zu setzen und abzufragen. Android hatte schon immer ein gutes Design für JavaScript auf native Interaktion afaik.

BlackBerry-Telefone und viele Android-Handys unter dem Strich haben keine GPUs, oder einige Android-Telefone, die GPUs haben, kompilieren kein Webkit für die GPU! Ohne dies könnte Ihre UI-App Haben Sie dieses träge Gefühl, nehmen Seiten / Schaltflächen das bisschen länger, um zu reagieren, was sehr auffällig ist, wenn Sie versuchen, durch Menüs zu sausen.

Das hat sich seit der Veröffentlichung von phonegap sehr verbessert. Die UI-Verzögerung sollte sich bis zu einem Punkt verringern, an dem sogar neue Low-End-Telefone für Webanwendungen bereit sind. Aber nach meinen Erfahrungen sind wir 2011 noch nicht an diesem Punkt angelangt.

    
Ray Vahey 23.09.2011 01:01
quelle
4

Die eingebaute Software des Telefons macht die Scan- und Kameraaktion. PhoneGap wird nur das Ereignis auslösen und helfen, die Daten zu übertragen, aber das Telefon macht die ganze Arbeit.

    
Rob 22.09.2011 23:47
quelle
3

Wie andere festgestellt haben, kann sich die html5-basierte UI träge anfühlen. Vielleicht ist es kein Problem; Sie müssen es nur versuchen und sehen. Zum Scannen eines Barcodes und zum Hochladen auf einen Server ist der Phonegap Overhead möglicherweise nicht signifikant.

    
seand 23.09.2011 01:27
quelle
2

Ich habe eine Smartphone-App entwickelt, bei der das Scannen von Barcodes eine Alternative zur primären Funktion des Scannens eines Bildes darstellt, das von der Bildanpassungstechnologie erkannt wird. Ich benutze PhoneGap. Ich habe dies nicht mit der Leistung von nativen Apps verglichen. Ich kann sagen, dass für meine grundlegende Benutzeroberfläche (es ist eine Web-App für das Smartphone) meine Webseiten schnell genug wiedergegeben werden, um kein Problem zu sein. Diese Leistung wurde auf einer 600 MHz Smartphone-CPU (LG Optimus One mit Android 2.2.1) beobachtet.

Die Bildübereinstimmung sowie das Scannen von Barcodes erfolgt auf einem Server-Backend, nicht auf dem Smartphone selbst. Das Problem wird einer der Netzwerkgeschwindigkeit von Smartphone über WiFi oder Service-Provider-Netzwerk, über das Internet und auf den Server - dann gibt es die Antwort vom Server zurück zum Smartphone. Die Verarbeitungsgeschwindigkeit beim Bildabgleich oder Barcode-Scannen muss weniger als eine Sekunde (idealerweise eine halbe Sekunde) betragen, so dass zum Zeitpunkt der Netzwerkverzögerung noch eine Antwortzeit von 1-2 Sekunden für den Benutzer besteht.

Die Bilddateien, die ich vom Smartphone zum Server übertrage, sind auf etwa 40 KB eingestellt. Bei einem typischen 54 Mbit / s WiFi-Netzwerk oder einer Rate von ca. 40 Mbit / s in HSPA + Service Provider-Netzwerken finde ich die Leistung meiner App als geeignet. Selbst bei einer fairen WLAN-Signalgeschwindigkeit von 15 Mbit / s ist die Reaktion des Endnutzers zwischen 1 und 2 Sekunden akzeptabel.

Die Geschwindigkeit der Smartphone-Entwicklung (Dual-Core-Prozessoren) und der Service-Provider-Netzwerke (4G HSPA +) wird die Branche nur höher bringen. Es ist eine großartige Gelegenheit für die Weiterentwicklung von Apps.

Seitenthema : Ich benutze Zbar-Code auf dem Server für Barcode-Scannen und ich suche nach besseren Alternativen. Die Herausforderung beim Scannen von ISBN-Barcodes von Smartphones mit Non-Zoom- und Nicht-Makro-Objektiven besteht darin, dass die typische Barcode-Größe für "einfache" Barcode-Scanning-Algorithmen zu klein ist. Ich würde gerne über Alternativen und Erfahrungen mit Barcode-Scans erfahren. Ich würde nach Code suchen, den ich in meinem Server-Backend bereitstellen kann, im Gegensatz zu scannen von Smartphone Resident Barcode.

    
David 28.09.2011 23:05
quelle

Tags und Links