Как выполнить настройку Мобильного веб-приложения для iOS / Android на jQuery - PullRequest
2 голосов
/ 17 июня 2011

Я разрабатывал веб-приложение с использованием JQM для устройств iOS и Android.Большую часть начала разработки я разработал и протестировал с помощью Chrome (в настоящее время v13) на рабочем столе.По мере того, как мы приближаемся к крайнему сроку выпуска, я увеличил тестирование на физическом оборудовании iOS и Android;разница в производительности между настольным компьютером и мобильным браузером огромна.

Взаимодействие клиент / сервер очень простое.Клиент запрашивает набор представлений, которые возвращает сервер.Затем клиент может запросить набор узлов, связанных с конкретным представлением, которые сервер вернет в одной полезной нагрузке.Затем клиент генерирует DOM для каждого узла из соответствующего XML.

Я начал тестирование с полезной нагрузкой XML размером 400 КБ или более.На рабочем столе в Chrome это не проблема.На мобильном телефоне в Mobile Safari только время загрузки моего DOM может быть близко к 12 секундам.Взаимодействие с DOM (которое вызывает обновления XML, кэшированные в localStorage) может занять до 5 секунд за клик .

Хотя я могу придумать полдюжины разных способов оптимизации моегоклиент-серверная связь - я не могу понять, как измерить стоимость моих индивидуальных вызовов методов с мобильного клиента.Я знаю, что полезная нагрузка 400 КБ - это слишком много для iOS Mobile Safari, но я не знаю, связано ли это с производительностью, которую я несу, с обходом DOM или манипулированием XML.

Как я могу выполнить метрикуанализ моего мобильного веб-приложения с точки зрения мобильного клиента?Настройка производительности для настольного компьютера никуда не денется, и у меня нет мобильной консоли разработчика / FireBug для мобильных устройств.

Как другие мобильные разработчики решают эту проблему?

Ответы [ 2 ]

1 голос
/ 17 июня 2011

Я решил добавить простую кнопку регистрации начала / остановки, которая вызывает функцию регистрации, которая хранит данные синхронизации метода в sessionStorage. После завершения регистрации я отправляю это в веб-службу для анализа через браузер на рабочем столе.

Редактировать: я попробовал JsLitmus для этого поста SO , но я пришел к выводу, что единственный тест производительности, который действительно важен для мобильных устройств, - это время выполнения какой-либо конкретной функции. После экспорта этой информации из клиента настройка производительности стала тривиальной.

0 голосов
/ 17 июня 2011
  1. Я не знаю, какой тип разбора XML использует JQM, но если он использует синтаксический анализатор стиля DOM, производительность наверняка пострадает.Мобильные клиенты лучше справляются с синтаксическими анализаторами стилей (они требуют меньше памяти)Синтаксический анализ XML в DOM-стиле действительно медленен в нативных клиентах, я уверен, что он будет еще медленнее в браузере.
  2. XML-файл размером 400 КБ, несомненно, звучит как довольно большой кусок данных.Вам действительно нужно все это в то же время?
  3. Тяжелые манипуляции с DOM никогда не были дешевыми, я ожидаю, что производительность в мобильном устройстве сильно пострадает.

Думаю, это не такна самом деле не ответил на ваш вопрос, но было довольно долго просто помещать комментарии.

...