Планирую попробовать себя в разработке под мобильные платформы. Но т.к. их несколько (iOS, Windows Phone, Android), то располагать оборудованием под каждую систему для меня проблематично. Можно ли полностью заменить аппараты на этих платформах эмуляторами при разработке? Не возникнут ли проблемы при тестировании приложений?
Ответ
Я жесткий противник выкладывания на продакшн приложений не прошедших тестирования на реальном девайсе, хотя аз грешен сам таковые выкладывал :) Потом расхлебывал очень долго и муторно - подчеркну: расхлебывал всегда. Приложение может прекрасно работать на эмуляторе и вообще не запускаться на реальном устройстве или работать не так - примеров хоть отбавляй. Чтобы быть конкретным приведу примеры из мира Android: В эмуляторе по умолчанию (до версии API=10 по-моему), наличествовал джойстик/стрелочки. В одной аппе автор (лет 5 назад, когда реальных аппаратов было еще мало) использовал этот джойстик, в реальном мире джойстиками оснащены единичные аппараты. Результат понятен. На эмуляторе не выкидывается эксепшн если в UI потоке начать читать через HTTP, на реальном устройстве выше ICS выкидывается эксепшн с требованием разместить чтение вне UI потока. На эмуляторе невозможно протестировать всякие разные датчики (уже говорилось выше) Эмулятор не поддерживает прием многотомных (multipart) SMS сообщений - можно принимать только single part SMS сообщения С другой стороны, и это важно подчеркну, без эмулятора тоже совсем туго. Можно насоздавать тучу эмуляторов и проверить свое приложение в разных экзотических случаях (например как будет работать если не будет карты памяти, что будет если разрешение экрана будет минималистичным и т.д.)
Комментариев нет:
Отправить комментарий