Pull to refresh

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

Development for Android *
imageКогда я читаю про фрагментацию устройств на Андроиде, я мысленно киваю, соглашаясь с автором статьи. Когда я вижу тезисы о том, что фрагментация устройств мешает разработке ПО, то я недоуменно поднимаю брови. Но когда мне пытаются доказать, что фрагментация Андроида — это главная проблема этой платформы и главный минус для разработчиков мобильного ПО, я, откровенно говоря, начинаю смеяться. Простите, но это либо чисто маркетинговая намеренная чушь, либо совершеннейшее непонимание ситуации.

Представьте себе, что вы — производитель мебели. Вы работаете на рынке мебельной продукции, вы конкурируете с другими производителями, деля весь рынок на некие части. Ваша задача как предпринимателя — урвать как можно больший радиальный угол на круговой диаграмме с заглавием «Furniture market share». Пиксели этой диаграммы — это люди, которые покупают мебель. Это разные люди и они покупают разную мебель: начиная от неокрашенных брусчатых кроватей из Икеи за 2000 руб, и заканчивая диванами, обтянутыми кожей молодых гребнистых крокодилов c Каролинских островов, каждый из которых стоит как ваша квартира.

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

Что мы имеем на современном рынке мобильного ПО?

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

Есть Андроид. Это не продукт сам по себе, а платформа для создания продуктов. Какие смартфоны есть на Андроиде? Есть такие же мощные топовые агрегаты, флагманы, мечта каждого гика, покупающего всё, что приближает его к идеалам киберпанковского будущего. Они (топовые агрегаты) конкурируют с айфоном и обладают примерно одинаковой схожей конфигурацией. Но, так сложилось, что на Андроиде с самого начала есть и не-флагманы. И именно это обстоятельство с момента старта современного витка смартфонной гонки и не дает уснуть людям, для которых слово «фрагментация» представляется ужасным минусом. Друзья мои, фрагментация рынка устройств — это плюс!

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

image


Это неверно.

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

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

Вот как на самом деле должна выглядеть диаграмма сверху:

image

Круг iPhone превращается в пакмана — там просто нет тех разнообразных конфигураций, отсутствие которых и обеспечивает малую степень фрагментации. Но и нет тех пользователей, которым нравится рот пакмана, но не нравится его тушка.

Отсюда тезис №1: наличие различных вариантов конфигураций, которые позволяют делать бюджетные и просто различающиеся устройства, расширяет рынок, а не дробит его. Больше вариантов — больше людей покупают смартфоны, больше абсолютные значения на круговой диаграмме. Да, взамен на большее количество секторов на ней.

Представим себе идеальный по представлением жалющихся на фрагментацию мир, в котором в андроидном лагере нет разделения на различные кофигурации устройств, и все Андроиды примерно представляют конкурентов айфону, то есть находятся в высшем ценовом сегменте. Тогда, допустим, мы бы имели линейку различных HTC Desire и Samsung Galaxy S примерно со схожей базовой конфигурацией. Была бы красота, почти полное отсутствие фрагментации, существенно меньше секторов на диаграмме. Но не было бы дешевых бюджетных девайсов за 8 тысяч, не было бы слайдеров, не было бы горизонтальных форм-факторов: а значит, абсолютные значения количества пользователей и устройств были бы меньше. Убирая фрагментацию, мы просто вырезаем рот у пакмана, а не размазываем два крупнейших сектора по полному кругу.

Далее. На самом деле, если вам физически неприятно иметь несколько подкаталогов в каталоге /res/, вы можете уничтожить персонально для себя любую фрагментацию. Для этого в Андроид Маркете есть механизмы фильтрации по фичам устройств, которые созданы специально для таких ленивых людей.

Тезис №2: Не хотите бороться с фрагментацией — не боритесь. Не хотите делать интерфейс для ldpi — не делайте. Не хотите поддерживать навигацию без тачскрина — не поддерживайте. Вы вообще можете выпустить приложение исключительно для одного устройства, и это будет стопроцентное отсутствие фрагментации!

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

Знаете, разговоры о минусах фрагментации похожи на то, как если бы производитель мебели начал говорить: «Это ужасно, я не могу так жить дальше, мне приходится думать о том, как делать разные диваны и для бедняков, и для богатых, и что самое страшное — мне приходится делать не только диваны, но еще и кресла и двуспальные кровати! Какой ужасный рынок». Уважаемый, не хочешь делать двуспальные кровати — не делай, причем тут рынок?

Итоговый тезис №3: В Apple приняли решение за вас и избавились от фрагментации, просто не выпуская тот класс устройств, который образует самую незначительную часть диаграммы и нужен самой незначительной части пользователей. Андроид дает вам возможность самостоятельно принимать это решение, персонально для себя выбирая уровень фрагментации. Если бы у айфонов была фрагментация, задействующая неиспользованные на данный момент бюджетные сегменты рынка — прибыль разработчика была бы больше или меньше? Разумеется, больше. Так как тогда опциональная фрагментация как возможность выбрать разные поддерживаемые сегменты, может быть минусом?

Поэтому, друзья, когда вам в следующий раз будут рассказывать про то, как сложно жить во фрагментированном андроидном мире, посоветуйте вырезать себе андроидному пакману рот и просто посмотреть на результаты.
Tags: androidiphoneфрагментация
Hubs: Development for Android
Total votes 210: ↑159 and ↓51 +108
Comments 226
Comments Comments 226

Popular right now

Top of the last 24 hours