Что такое фрагментация андроид

Почему фрагментация на Android — это хорошо

Несмотря на то что я довольно скептически отношусь к важности обновлений, долгое время на вопрос о главном недостатке Android, я неизменно отвечал одно и то же – фрагментация. Ни одна другая операционная система ни до, ни после Android не была так безнадежно разрозненна. Однако более глубокое погружение в тему позволило мне понять, насколько сильно я ошибался. Ведь фрагментация – это не недостаток, а конкурентное преимущество Android над iOS и HarmonyOS.

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

Невозможные функции

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

Складные смартфоны

Фрагментация позволяет производителям не только не учитывать мнения Google при разработке программного обеспечения, но и создавать такие устройства, до которых она доберётся ещё очень нескоро. Отличный тому пример – складные смартфоны. Стоковая версия Android по умолчанию не поддерживает аппаратов со складной конструкцией. Однако разработчики Samsung и Huawei смогли, не изменяя ядра операционной системы, добавить ей поддержку гибких дисплеев с возможностью мгновенно менять ориентацию.

Google Pixel

Благодаря существованию разных оболочек, основанных на Android, Google учится на опыте конкурирующих производителей и делает Google Pixel таким, каким мы его знаем. Разработчики поискового гиганта непрерывно анализируют функции, которые существуют в сторонних прошивках и зачастую адаптируют их для Pixel Launcher. Не будь у Google примера Samsung, Huawei или Xiaomi, скорее всего, стоковый Android был бы куда менее интересным и продвинутым, чем сегодня.

Безопасность

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

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

Источник

Фрагментация Android

Фрагментация – это и достоинство, и недостаток экосистемы Android. В сети достаточно много сравнений уровня API операционных систем Android и iOS. В этом статье мы исследуем степень фрагментации мобильной ОС от Google и проанализируем влияние фрагментации на разработчиков и пользователей.

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

Читайте также:  Рингтоны для самсунга андроид

Несмотря на все недостатки, фрагментация имеет много преимуществ, как для разработчиков, так и для конечных пользователей. Наличие дешевых смартфонов (редко работающих на последней версии Android) способствует более высокому охвату пользователей, чем iOS, таким образом, разработчики приложений имеют более широкую аудиторию. Возможно, приложение сложнее сделать, но потенциальный выигрыш определенно стоит того. Для потребителей, существенная фрагментация способствует тому, что они выбирают именно тот телефон, какой хотят – маленький или большой, дешевый или дорогой, с любой комбинацией различных особенностей.

ФРАГМЕНТАЦИЯ УСТРОЙСТВ

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

ФРАГМЕНТАЦИЯ БРЕНДОВ

Аналогичный вид по брендам, мы можем увидеть, какую долю рынка имеет каждый производитель устройств, очевидно Samsung вырвался вперед. Рассчитав процентные доли рынка по нескольким производителям девайсов из топа, видим, что Samsung доминирует с долей 47,5%, Sony-Ericsson находится на втором месте и имеет менее чем шестую часть доли Samsung – 6,5%. Некоторые бренды, объединенные в одну компанию, на диаграмме имеют разные доли, то есть Moto и Motorola – это одна компания и HTC показана разными долями по регионам. Но даже если их объединить, Motorola имеет только 4,2% рынка, а HTC – менее 3,9%.

ФРАГМЕНТАЦИЯ ВЕРСИЙ ОС ANDROID

Фрагментация устройств – не единственная проблема, с которой сталкиваются разработчики под Android; сама операционная система достаточно сильно фрагментирована и с течением времени степень фрагментации только увеличивается. График выше показывает поэтапно эту степень, а также можем увидеть устойчивое снижение популярности каждой из версий Android по белой линии.

СРАВНЕНИЕ С IOS

Разнообразные фрагментации Android обычно сравниваются с iOS. Две круговые диаграммы показывают очевидные различия во фрагментациях API между двумя конкурирующими операционными системами.

РАЗМЕРЫ ЭКРАНОВ

Ключ к успеху любого приложения – это корректный пользовательский интерфейс, и у Android есть две основные проблемы для разработчиков касательно UI. Первая, бренды имеют тенденцию производить собственные системные UI (например, Touchwhizz для Samsung и HTC Sense), которые могут поменять вид многих стандартных элементов. Вторая, нет какой-то другой платформы для смартфонов, которая могла бы похвастаться таким быстрым увеличением размеров экранов. Как помочь преодолеть эти сложности, описано в статье 40 советов для оптимизации Android приложения. На графике ниже видно различные физические размеры экранов Android телефонов, с более темной линией – наиболее популярные смартфоны.

Очень сложно создать верстку макетов, которые хорошо работают на всех этих экранах. Когда как iPod-touch, iPhone и iPad имеют только 4 физических размеров экрана – отчасти из-за тенденции Apple удваивать плотность пикселей увеличивая разрешение в четыре раза (например, iPad 2 -> iPad 3) сохраняя при этом физический размер экрана. График ниже показывает фрагментацию размеров экранов iOS, сравните с Android.

ВЫВОДЫ

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

Читайте также:  Security on android applications

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

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

Источник

Мнение: Откуда берется фрагментация Android и почему на самом деле ее нет

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

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

Самая популярная версия Android

По итогам проведенного опроса выяснилось, что наиболее распространенной версией Android среди наших читателей является Android 8 Oreo. Она составляет программную основу смартфонов 42% респондентов. На втором месте с долей 36% оказалась Android 9 Pie, а на третье выбилась Android 7 Nougat, за которую проголосовали 10% опрошенных. Выходит, что почти 90% пользователей владеют устройствами на базе актуальных версий ОС. Но откуда, в таком случае, берется та самая фрагментация? Сейчас объясню.

Все те, кто принял участие в опросе, формируют костяк так называемой активной аудитории пользователей ОС Android. Они интересуются новейшими технологиями, стараются быть в курсе последних трендов и им не все равно, что происходит на рынке. Как правило, большая их часть владеет флагманскими или среднеценовыми аппаратами, которые они стараются менять на новые в течение 2-3 лет, просто потому что в мире появляются более продвинутые и функциональные решения.

Фрагментация Android — миф

Вот только активных пользователей не так много. Все остальные – это так называемые вынужденные пользователи: дети, которым родители передали свой старый смартфон или купили что-то максимально недорогое на первое время, пожилые люди, рассматривающие смартфон исключительно как средство связи, и те – назовем их «другие» — кто не готов тратить на смартфон больших денег, но больше не хочет пользоваться кнопочными аппаратами, которые, по их мнению, больше не в моде.

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

Источник

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


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

Читайте также:  Image file type android

Чтобы понять, что именно сформировало такое мнение, рассмотрим первую диаграмму, размещенную в блоге компании 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 лет.

Источник

Оцените статью