Производительность приложения PhoneGap против производительности собственного приложения - PullRequest
8 голосов
/ 23 сентября 2011

мы собираемся создать приложение для сканирования штрих-кодов. Мы рассматриваем возможность использования PhoneGap, но нас беспокоит только скорость. Все, что нужно сделать приложению, это просто отсканировать штрих-код и проверить сервер, чтобы убедиться, что он действителен или нет. Приложение очень интенсивно использует камеру для сканирования штрих-кода через изображение. Мой главный вопрос: будет ли сканирование через phonegap таким же быстрым, как и нативное приложение? Скорость действительно важна, так как пользователю придется сканировать несколько штрих-кодов очень быстро.

Ответы [ 4 ]

17 голосов
/ 23 сентября 2011

Phonegap использует те же нативные API, просто абстрагирует их, чтобы вы могли писать свое приложение в html и javascript. Время, чтобы сделать снимок или любой другой нативный процесс менее важно, чем время, которое воспринимает пользователь. Это часть собственного времени выполнения, которое необходимо предоставить пользователю + время API абстракции + отзывчивость пользовательского интерфейса.

От абстракции всегда есть издержки, но я думаю, что это незначительно в таком приложении, как это (в телефонах новее, чем BB OS5). Текущие проблемы возникают из-за аппаратного рендеринга HTML и программного обеспечения браузера, установленного на устройстве.

Многие телефоны BlackBerry не используют webkit (OS5 и ниже), и используемые ими браузеры могут показаться очень вялыми при рендеринге веб-приложений. Версии BB OS менее 5 не имеют достойного производственного способа связи между нативным и javascript-уровнями. Часто встречающийся взлом состоит в том, чтобы устанавливать и запрашивать изменения в файлах cookie. У Android всегда был хороший дизайн для JavaScript и нативного взаимодействия.

Телефоны BlackBerry и многие более дешевые телефоны Android не имеют графических процессоров, или некоторые телефоны Android, которые имеют графические процессоры, не компилируют веб-набор для графического процессора! Без этого ваше приложение может Если вы чувствуете вялость, страницы / кнопки реагируют немного дольше, что очень заметно, когда вы пытаетесь переключаться между меню.

Это значительно улучшилось с тех пор, как PhoneGap был выпущен. Отставание пользовательского интерфейса должно продолжать уменьшаться до такой степени, что даже новые недорогие телефоны будут готовы для веб-приложений. Но из моего опыта мы еще не достигли этого уровня в 2011 году.

4 голосов
/ 23 сентября 2011

Встроенное программное обеспечение телефона - это то, что выполняет сканирование и камера. PhoneGap только вызовет событие и поможет передать данные, но телефон сделает всю работу.

3 голосов
/ 23 сентября 2011

Как уже отмечалось, пользовательский интерфейс на основе html5 может показаться вялым. Может быть, это не проблема; Вы просто должны попробовать и посмотреть. Для сканирования штрих-кода и загрузки на сервер издержки Phonegap могут не иметь значения.

2 голосов
/ 29 сентября 2011

Я разработал приложение для смартфона, в котором сканирование штрих-кода является альтернативой основной функции сканирования изображения, распознаваемой по технологии сопоставления изображений. Я использую PhoneGap. Я не сравнивал это с производительностью собственного приложения. Я могу сказать, что для моего основного пользовательского интерфейса (это веб-приложение для смартфона) мои веб-страницы отображаются достаточно быстро, чтобы не создавать проблем. Такая производительность наблюдалась на процессоре смартфона с тактовой частотой 600 МГц (LG Optimus One под управлением Android 2.2.1).

Сопоставление изображений, а также сканирование штрих-кода выполняется на серверной части сервера, а не на самом смартфоне. Проблема заключается в скорости передачи данных со смартфона через Wi-Fi или сеть поставщика услуг, через Интернет и на сервер - затем происходит ответ от сервера обратно к смартфону. Скорость обработки сопоставления изображений или сканирования штрих-кода должна быть меньше секунды (в идеале - полсекунды), чтобы к моменту добавления задержки в сети это время для пользователя оставалось равным 1-2 секундам.

Файлы изображений, которые я передаю со смартфона на сервер, имеют размер около 40 КБ. При типичной Wi-Fi-сети со скоростью 54 Мбит / с или при скорости около 40 Мбит / с в сетях поставщиков услуг HSPA + я считаю производительность своего приложения подходящей. Даже при справедливой скорости Wi-Fi сигнала 15 Мбит / с, ответ конечного пользователя приемлем между 1-2 секундами.

Темпы разработки смартфонов (двухъядерные процессоры) и сетей поставщиков услуг (4G HSPA +) будут только поднимать отрасль выше. Это прекрасная возможность для продвижения приложений вперед.

Сюжет : Я использую код Zbar на сервере для сканирования штрих-кода, и я ищу лучшие альтернативы. Проблема со сканированием штрих-кода ISBN со смартфонов с объективом без зума, без макро-объектива заключается в том, что типичный размер штрих-кода слишком мал для того, чтобы «простые» алгоритмы сканирования штрих-кода работали должным образом. Я хотел бы услышать об альтернативах и опыте людей со сканированием штрих-кода. Я хотел бы найти код, который можно развернуть в серверной части сервера, а не запускать сканирование штрих-кодов на смартфоне.

...