2011-09-22 16 views
8

stiamo cercando di creare un'applicazione per la scansione di codici a barre. Stiamo prendendo in considerazione l'utilizzo di PhoneGap, ma la nostra unica preoccupazione è la velocità. Tutto quello che l'applicazione farà è solo scansionare un codice a barre e controllare un server per vedere se è valido o meno. L'applicazione utilizza la fotocamera molto intensamente per scansionare il codice a barre tramite un'immagine. La mia domanda principale è, la scansione via phonegap sarà veloce come un'app nativa? La velocità è molto importante in quanto l'utente dovrà eseguire la scansione di più codici a barre molto rapidamente.Prestazioni di app per PhoneGap rispetto alle prestazioni delle app native

risposta

4

Il software integrato del telefono è ciò che fa la scansione e l'azione della fotocamera. PhoneGap attiverà solo l'evento e aiuterà a trasferire i dati, ma il telefono fa tutto il lavoro.

17

PhoneGap utilizza le stesse API native, le sottrae solo per poter scrivere la tua applicazione in html e javascript. Il tempo di scattare una foto o qualsiasi altro processo nativo è meno importante del tempo che l'utente percepisce. Questa è la parte del tempo di esecuzione nativo che è necessario esporre all'utente + tempo dell'API di astrazione + reattività dell'interfaccia utente.

C'è sempre un sovraccarico di un'astrazione, ma penso che sia trascurabile in un'app come questa (nei telefoni più recenti di BB OS5). I problemi attuali derivano dall'hardware che esegue il rendering dell'HTML e del software del browser installato sul dispositivo.

Molti telefoni BlackBerry non utilizzano il webkit (OS5 e versioni precedenti) e i browser utilizzati possono sembrare molto lenti durante il rendering delle applicazioni web. Le versioni di BB OS meno di 5 non hanno un modo di comunicare degno di produzione tra i livelli nativo e javascript, l'hack che si vede spesso è impostare e eseguire il polling delle modifiche nei cookie. Android ha sempre avuto un buon design per JavaScript per l'interazione nativa afaik.

I telefoni BlackBerry e molti telefoni Android di fascia bassa non dispongono di GPU, o alcuni telefoni Android che dispongono di GPU non compilano webkit per la GPU! Senza questa app, l' può avere quell'aspetto pigro, le pagine/i pulsanti impiegano più tempo per rispondere, il che è molto evidente quando si tenta di sfrecciare attraverso i menu.

Questo è migliorato molto da quando è stato rilasciato PhoneGap. Il ritardo dell'interfaccia utente dovrebbe continuare a diminuire fino al punto in cui anche i nuovi telefoni di fascia bassa sono pronti per la produzione di applicazioni web. Ma dalle mie esperienze non abbiamo ancora raggiunto quel punto nel 2011.

3

Come altri hanno notato l'interfaccia utente basata su html5 potrebbe sembrare pigra. Forse non è un problema; devi solo provarlo e vedere. Per la scansione di un codice a barre e il caricamento su un server, il sovraccarico di PhoneGap potrebbe non essere significativo.

+1

Esiste un repository GitHub di plugin per PhoneGap. Uno di questi plugin è BarcodeScanner. https://github.com/phonegap/phonegap-plugins – Devgeeks

2

Ho sviluppato un'app per smartphone in cui la scansione di codici a barre è un'alternativa alla funzione principale di scansione di un'immagine riconosciuta dalla tecnologia di corrispondenza delle immagini. Io uso PhoneGap. Non l'ho confrontato con le prestazioni delle app native. Sono in grado di dire che per la mia interfaccia utente di base (è un'app Web per smartphone), le mie pagine Web sono rese abbastanza veloci da non costituire un problema. Questa prestazione è stata osservata su una CPU da 600 MHz (LG Optimus One con Android 2.2.1).

La corrispondenza delle immagini e la scansione dei codici a barre vengono eseguite su un server back-end, non sullo smartphone stesso. Il problema diventa una delle velocità di rete da smartphone tramite WiFi o rete di provider di servizi, su Internet e sul server - quindi c'è la risposta dal server allo smartphone. La velocità di elaborazione della corrispondenza delle immagini o della scansione dei codici a barre deve essere inferiore a un secondo (idealmente mezzo secondo), in modo che al momento dell'aggiunta del ritardo di rete, sia ancora un tempo di risposta di 1-2 secondi per l'utente.

I file di immagine che sto trasferendo da smartphone a server hanno come target circa 40 KB.Con una tipica rete WiFi a 54 Mbps o la velocità di circa 40 Mbps nelle reti di provider di servizi HSPA +, trovo che le prestazioni della mia app siano adeguate. Anche con una velocità di segnale Wi-Fi di 15 Mbps, la risposta dell'utente finale è accettabile tra 1-2 secondi.

Il ritmo dello sviluppo di smartphone (processori dual core) e delle reti di provider di servizi (4G HSPA +) porterà solo l'industria più in alto. È un'enorme opportunità per lo sviluppo delle app andare avanti.

laterale Topic: Sto usando il codice Zbar sul server per la scansione di codici a barre e sono a caccia di alternative migliori. La sfida con la scansione di codici a barre ISBN da smartphone con obiettivi non macro senza zoom è che le dimensioni tipiche del codice a barre sono troppo piccole perché gli algoritmi di scansione di codici a barre "semplici" funzionino correttamente. Mi piacerebbe conoscere le alternative e l'esperienza delle persone con la scansione dei codici a barre. Sarei alla ricerca di un codice che possa essere distribuito nel mio server back-end, invece di eseguire la scansione dei codici a barre residenti in smartphone.

Problemi correlati