Страницы

Поиск по вопросам

воскресенье, 26 января 2020 г.

Можно ли эффективно заниматься разработкой мобильных приложений, работая только с эмуляторами?

#windowsphone #android #ios


Планирую попробовать себя в разработке под мобильные платформы. Но т.к. их несколько
(iOS, Windows Phone, Android), то располагать оборудованием под каждую систему для
меня проблематично. Можно ли полностью заменить аппараты на этих платформах эмуляторами
при разработке? Не возникнут ли проблемы при тестировании приложений?    


Ответы

Ответ 1



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

Ответ 2



До поры-до времени можно... но до той поры, пока заказчик не скажет вам, что у него на 4 айфоне не работает, а вы ему начнете доказывать, что у вас на симуляторе работает. А дело в том, что, на пример, для iOS симулятор, это даже не "эмулятор", как таковой. он не эмулирует устройство. Программы, запускаемые на нем, предварительно компилируются для архитектуры x86, в то время, как на реальных "ай-дивайсах" ARM архитектура. Что касательно Андроида, то тут дело чуть получше. Эмулятор запускается действительно как виртуальная машина с эмуляцией архитектуры, и пр. В случае андроида приложения будут наоборот медленнее работать на эмуляторе. Так же на эмуляторе будет возникать несколько больше ошибок, чем на реальном устройстве (с чем это связано я еще не выяснил, но проверено экспериментальным путем). А еще на устройствах, чаще всего, не стоковый, оригинальный андроид, а немного(или, иногда, много) модифицированный производителем, что значит, что на реальных устройствах некоторые приложения будут работать немного не так, как на оригинальном андроиде. Но все же без эмуляторов не обойтись(если вы не готовы купить по устройству из каждой категории для iOS, и по одному на каждое разрешение экрана для Андроид).

Ответ 3



Я сам недавно только начал писать под ios. Такие вещи как камера, аксилерометр протестировать будет невозможно, а также нужно учесть что pc мощнее телефона и приложение на симуляторе будут работать быстрее, чем на телефоне. Т.е. может получиться что на телефоне приложение грузиться долго, а на эмуляторе мгновенно. Т.е. для того чтобы заниматься этим на высоком уровне, конечно нужно иметь устройства, но начинать можно и с эмуляторов.

Ответ 4



Если бы пользовались этими программами люди только в эмуляторах, то можно было бы обойтись. Эмулятор айфона, к примеру, будет работать быстрее реальных девайсов (сравниваем проц на макбуке и на айфоне) и тормозов на эмуляторе будет не видно, а на реальных телефонах получите мерзкое глючащее тормозящее барахло. Пробовать начать с эмуляторов можно и нужно, но релизить надо только после теста на реальных девайсах.

Ответ 5



Насчет тестирования - сейчас Apple и Microsoft при сертификации приложений в свои маркетплейсы сами тестируют на разных девайсах. За это и берут 30% с продаж. Например, для моего приложения под Windows Phone 7 мелкомягкие тестили на двух HTC, нокии и самсунге.

Комментариев нет:

Отправить комментарий