Как стать автором
Обновить

Миф о фрагментации Android

Разработка под Android
image
В последнее время мы все чаще слышим о том, насколько фрагментированным стал рынок Андроид-устройств, как Гугл отдала контроль над Андроидом производителям устройств, и насколько кошмарно написание и тестирование приложений под ОС Андроид. Все это не соответствует действительности.

Чтобы понять, что именно сформировало такое мнение, рассмотрим первую диаграмму, размещенную в блоге компании TweetDeck. В рамках бета-теста приложения под Андроид, в перечислены сотни различных видов устройств, но, обратите внимание, что подавляющее большинство тестеров предпочли телефоны из топ-15.

Теперь посмотрим на вторую диаграмму в том же посте. На ней более 100 различных прошивок, но более половины тестеров используют родную прошивку Android 2.2, еще одна большая часть тестеров используют еще 4 наиболее популярные версии родной прошивки.

Заключение к первой диаграмме гласит: «С нашей точки зрения очень здорово отметить то, что наше приложение работает на таком широком спектре устройств и вариаций Андроид ОС». И не смотря на: «серьезные отличия в телефонах и версиях Андроид ОС, у всех все работает».

Фрагментация рынка Андроид-устройств не проблема для разработчиков ПО. С точки зрения программирования, если вы используете Android SDK, то обычно придерживаетесь Android и Google API примерно на 99,7% в вашей работе, выбирая минимальный уровень API, который вам нужен, и не беспокоясь о том, как это будет работать со скинами интерфейса, которые добавляют HTC, Samsung, Motorola и другие. Производители несут ответственность за то, чтобы их устройства поддерживали стандартные API, и делают это, что доказала TweedDeck с помощью 36427 активных бета-тестеров.
В редких случаях, вы можете захотеть написать приложение, которое использует нестандартные аппаратные возможности, доступ к которым отсутствует в Android или Google API, например задействовать двойную LED-вспышку на HTC Incredible в качестве фонарика. Обычно в таких случаях производители стараются добавить поддержку подобных приложений в конечном итоге. В случае с Incredible поддержка HTC Flashlight добавилась в обновлении Android 2.2.

Если вы захотите провести тестирование на каждом устройстве, которое поддерживает ваши минимальные спецификации API, вам не нужно иметь по экземпляру каждого из них. Если вы будете использовать Android Market, то можете протестировать все оборудование на реальных устройствах, выпуская бесплатные бета-версии, как сделала TweetDeck. Поверьте, пользователи не стесняются отчитываться о проблемах, если приложение не работает идеально на их устройстве, когда программа является бесплатной.

Если у вас закрытое приложение, вы можете захотеть дать пользователям узнать о том на каких устройствах прошло тестирование и какие из них поддерживаются, но вы не можете позволить им протестировать приложение самостоятельно на тех устройствах, которыми не располагаете сами. В таком случае вы сможете добавлять к списку поддерживаемых устройств только те, пользователи которых расскажут, что у них все хорошо. Для этого вы можете использовать анкеты для пользователей, оплачиваемые по принципам краудсорсинга.

На самом деле все не так сложно. Начните с крупнейшего в настоящее время целевого API Android 2.2, и пишите ваше приложение под него. Проведите внутреннее тестирование на трех телефонах на базе Android 2.2 по одному от HTC, Samsung, Motorola. Выпускайте релиз только для версии 2.2 и смотрите что скажут тестеры. Когда начнут выходить планшеты на базе Андроид, начните тестирование на них и изменяйте приложение, добавляя альтернативные макеты экранов при необходимости.

После чего вернитесь к предыдущим версиям Android и с помощью обходных путей заставьте все работать на версии 2.1. В официальном блоге Android есть несколько хороших методик для достижения этого. Затем снова протестируйте приложение на трех телефонах, после чего измените номер версии на меньший. Продолжайте это делать до достижения самой низшей версии.

Вы еще уверены, что фрагментация это не надуманная проблема? Тестирование приложений под Android гораздо проще оптимизации под различные версии ОС, версии браузеров и разрешения экрана, которые приходилось делать в последние 50 лет.

via InfoWorld
Теги:тестированиеandroidразработкафрагментациясоветы
Хабы: Разработка под Android
Всего голосов 75: ↑46 и ↓29+17
Просмотры891

Похожие публикации

Лучшие публикации за сутки