html текст
All interests
  • All interests
  • Design
  • Food
  • Gadgets
  • Humor
  • News
  • Photo
  • Travel
  • Video
Click to see the next recommended page
Like it
Don't like
Add to Favorites

Разработка под Android*, 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, а фрагментация будет способствовать экосистеме становиться более глобальной и социально-экономической.

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

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

комментарии (38)

  • kAIST, 2 августа 2013 в 12:36
    Про 4.3 в голосовании забыли
  • F1oyd, 2 августа 2013 в 12:38
    Спасибо добавил
  • IRainman, 2 августа 2013 в 15:13
    del
  • mekegi, 2 августа 2013 в 12:43
    Чекбоксы больше бы подошли. Ибо у многих по нескольку устройств с разными версиями андроида.
  • Indexator, 2 августа 2013 в 12:51
    А за что вы человека минусуете? У меня вот несколько устройств с разными версиями и теперь я не знаю как проголосовать…
  • F1oyd, 2 августа 2013 в 12:53
    я не минусовал, щас уже не поправить на чекбоксы
  • NoEscape, 2 августа 2013 в 13:18
    btw на секунду вылез баг хабра (после обновления страницы исчез)
    см 2й вариант ответа

    image

  • gildor, 2 августа 2013 в 13:54
    Графики хорошие, но не согласен с большинством выводов.
    Это не такие большие проблемы для разработчиков (говорю как разработчик), особенно это касается физических размеров экрана и уж тем более фрагментация брендов. Просто разработка под Android подразумевает другой подход, чем под iOS, где в порядке вещей указывать размеры в пикселях или использовать не тянущиеся фоны страниц, которые поехали на iPhone 5 после изменений пропорций экрана. Просто при разработке под Android изначально лейауты делаются тянущимися, что не сильно увеличивает сложность, зато представляет пользоваться приложением без проблем на огромном числе устройств различных форм-факторов.
    В Android никто не пытается до пикселя высчитать размеры например ActionBar, или делать лейауты под каждый размер экрана.
    Даже не уверен что следует использовать тут термин «фрагментация», т.к. это изначальное свойство системы и ее преимущество.
    Кстати очень странно сравнивать физические размеры экрана, намного важнее их разрешение и плотность.

    Не понятно откуда взялся странный тезис про проблему с кастомными оболчками: «Первая, бренды имеют тенденцию производить собственные системные UI (например, Touchwhizz для Samsung и HTC Sense), которые могут поменять вид многих стандартных элементов».
    Максимум на что может повлиять измененный UI это на отображение уведомлений (и то это касается только Android 2.3), но в самом приложение подобные элементы напрямую не используются, а на Android > 4.0 это совсем не проблема, т.к. всегда есть стандартная тема Holo, вне зависимости от производителя и оболочки.

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

    Единственный важный момент может заключаться в фрагментации версии Android, но с учетом множества библиотек (включая Android Support Library, holoeverywhere и т; п;) этот момент далеко не так важен, как пару лет назад и большинство возможных проблем обратной совместимости легко решается.

    По моему вся статья больше похожа на спекуляции на статистике, хотя повторюсь, сама статистика довольно интересна. Большинство якобы серьезных проблем при разработке, на которые упирает статья, вовсе не проблемы, т.к. система изначально архитектурно заточена для разработки приложений под разные устройства и предоставляет инструменты для этого.
  • F1oyd, 2 августа 2013 в 14:03
    Статью я только перевел, это не мои тезисы, а так мне давно было интересно узнать доли версий на рынке, чтобы понять какое API использовать для своего проекта. Спасибо за замечания.
  • gildor, 2 августа 2013 в 14:34
    А что вы подразумеваете под «понять какое API использовать для своего проекта»?
    Всегда используется последняя версия API, просто оставляя обратную совместимость, пусть даже с урезанным функционалом. Например сейчас Android 2.1 можно уже не поддерживать, там всего 1.5% пользователей и он не поддерижвает новый API карт и in-app billing v3, но если вы не используете ни то, ни другое, то оставить для него обратную совместимость не проблема.
  • Divers, 2 августа 2013 в 15:14
    Согласен полностью. На мой взгляд про проблему фрагментации на андроид кричат либо за деньги, либо люди без абсолютного понимания предмета. Что-то я ни разу не слышал про проблему фрагментации на ПК. Все как-то берут и верстают страницы, без разглагольствования как это дико сложно, так как мониторы у всех разные.

    Кстати, скажите, а под IOS есть возможность писать «растягивающиеся» интерфейсы? Если есть, то почему каждые пару лет случается тупняк с приложениями на половина экрана и черными полосами?
  • gildor, 2 августа 2013 в 16:37
    Я лично под iOS не пишу, но насколько я знаю возможность есть, но нет встроенных инструментов для этого, как например 9-patch или ресурсы для разных устройств.
  • Jihar, 2 августа 2013 в 21:10
    То что вы перечислили есть.
  • Jihar, 2 августа 2013 в 21:10
    Вы не делали игры под ПК, вот там фрагментация доставляет дикую головную боль. Уверен что и разработка 3Д под Андроид тоже то еще удовольствие, хотя бы тем небольшим примером, что каждый производитель GPU поддерживает какой-то свой формат сжатых текстур.

    Про растягивающиеся интерфейсы — такое есть в iOS конечно. Просто это еще совсем недавно не было нужно, т.к. по сути был только один вариант для телефона, и один для планшета. Это позволяло интерфейс создавать с идеальной по-пиксельной точностью. Сейчас у телефонов два варианта разрешения, что не добавило сложности, но интерфейс даже древних приложений обычно растягивается нормально без изменений.
  • MrShoor, 3 августа 2013 в 03:56
    Не могу с вами согласиться. Головная боль от производителей GPU не больше, чем от фрагментации ОС. Я бы даже сказал что производители GPU гораздо жестче придерживаются спецификации API, нежели производители ОС. Здесь основные проблемы — интелы, потому что много чего не поддерживают, а то что поддерживают — делают это так медленно, что по неволе думаешь «лучше бы не поддерживали». ATI раньше часто имели проблемы с драйверами, в особенности для новых видеокарт, но на сегодняшний день этой проблемы уже практически нет. И наконец Matrox-ы — вот эти звери брыкаются очень сильно, но для разработчика игр данной картой можно пренебречь.
  • VolCh, 3 августа 2013 в 03:35
    Просто при разработке под Android изначально лейауты делаются тянущимися

    Тянущийся лэйаут это примитивная адаптация под разные размеры. Хочется видеть действительно адаптивные дизайны. Скажем на 3" экране видеть несколько табов с настройками, а на 10" — все на одном экране.

    Кстати очень странно сравнивать физические размеры экрана, намного важнее их разрешение и плотность.
    При плотности больше 100 dpi лично для меня, как для пользователя, важны прежде всего физические размеры контролов (чтобы не промахиваться пальцем) и шрифтов. По крайней мере в случае ручных девайсов, которыми пользуюсь на плюс-минус постоянном расстоянии от глаз, в то время как монитор десктопа может быть и в нескольких метров от них.
  • amarao, 2 августа 2013 в 14:00
    Требую такую же картинку для «фрагментации» платформы PC. Включая соотношения сторон и разрешения мониторов.
  • rozhik, 2 августа 2013 в 15:01
    Она всётаки не дотянет до картинки фрагментации пользователей. Включая уровень intelекта и размер бюста.
  • amarao, 2 августа 2013 в 15:39
    Мне кажется, что вариация размера бюста меньшая, чем разрешений. По крайней мере я с трудом себе представляю эквивалентное соотношению 640(x480) к 5120 x 1440 (соотношение 1:8, для бюста это экивалент (при минимуме в 40см) 3.2 метра).
  • SerDIDG, 3 августа 2013 в 06:37
    Можно глянь статистику Steam, но думаю будет ожидаемый перевес в сторону «играющих», и явно офисные машинки в неё не входят.
    store.steampowered.com/hwsurvey?l=russian
  • F1oyd, 2 августа 2013 в 14:03
  • gildor, 2 августа 2013 в 14:51
    Заметил довольно сильное расхождение в статистике версий Android по сравнению с нашей собственной статистикой и официальной статистикой — developer.android.com/about/dashboards/index.html
    Наши данные близки к официальным, и расходятся с теми, что указаны в статье. Очень инетересно узнать откда данные и их структура.
  • MuLLtiQ, 2 августа 2013 в 15:07
    Надо было сделать «чекбоксовую» голосовалку — у меня Nexus на 4.3 и LG на 2.3.3.
  • cyberorg, 2 августа 2013 в 17:53
    Выше автор написал, что уже не изменишь голосовалку на чекбоксы habrahabr.ru/post/188738/#comment_6555836
  • StopDesign, 3 августа 2013 в 05:17
    Простое правило: нужно всегда ставить чекбоксы. Не помню, чтобы кто-то писал «я хотел проголосовать всего за один пункт, а голосовалка позволяет отметить три».
  • VolCh, 3 августа 2013 в 15:05
    Не всегда. Некоторые вопросы прямо подразумевают один ответ. Хотя это не тот случай.
  • pushist1y, 2 августа 2013 в 15:10
    Мне непонятен график фрагментации версий ОС, точнее, принцип построения белой линии на нём (которая показывает рыночную долю топовой версии ОС). В моём понимании с выходом очередной версии андроида этот график должен резко падать в ноль, после чего постепенно расти вплоть до выхода очередной версии.
  • avolkov, 2 августа 2013 в 15:21
    Тоже непонятно.
    В оригинале там «The white line shows the market share of the leading API level at any time», то есть доля рынка самой популярной(?) версии API, а не самой свежей.
  • zagayevskiy, 2 августа 2013 в 15:33
    Из этого графика в принципе можно понять, что «топовый» тут — по популярности. Например вышел 2.3.3-2.3.7, топовый в то время 2.2 начал падать, потом 2.2 и 2.3.3-2.3.7 сровнялись, затем 2.3.3-2.3.7 растет до какого-то момента, пока у него не начинает отбирать долю рынка 4.х. Как-то так.
  • valexey, 2 августа 2013 в 15:50
    Это график доли самой популярной версии ОС в каждый момент времени, а не самой последней версии ОС.
  • F1oyd, 2 августа 2013 в 22:16
    Трудности перевода
  • vertus, 2 августа 2013 в 20:18
    ФРАГМЕНТАЦИЯ БРЕНДОВ
    Второй блок SEMO или SEMC — это что значит?
    Спасибо.
  • F1oyd, 2 августа 2013 в 22:14
    Sony Ericsson Mobile Communications
  • DmitrySokolov, 3 августа 2013 в 00:52
    Хорошая статья!
    Добавили бы еще версию API (хотя бы в опрос), а то почти два десятка версий сложно в уме соотносить.
  • bodqhrohro, 3 августа 2013 в 02:47
    Почему в опросе нет варианта «У меня нет устройств на Android»?
  • VolCh, 3 августа 2013 в 03:46
    Воздержаться
  • bodqhrohro, 3 августа 2013 в 14:19
    Кнопка «Воздержаться» — для тех, кто не хочет высказывать своё мнение вообще. Это нарушает статистику.
  • VolCh, 3 августа 2013 в 15:09
    В данном опросе статистику использования версий Андроида нарушит ответ «У меня нет устройств на Android».
Читать дальше
Twitter
Одноклассники
Мой Мир

материал с habrahabr.ru

10

      Add

      You can create thematic collections and keep, for instance, all recipes in one place so you will never lose them.

      No images found
      Previous Next 0 / 0
      500
      • Advertisement
      • Animals
      • Architecture
      • Art
      • Auto
      • Aviation
      • Books
      • Cartoons
      • Celebrities
      • Children
      • Culture
      • Design
      • Economics
      • Education
      • Entertainment
      • Fashion
      • Fitness
      • Food
      • Gadgets
      • Games
      • Health
      • History
      • Hobby
      • Humor
      • Interior
      • Moto
      • Movies
      • Music
      • Nature
      • News
      • Photo
      • Pictures
      • Politics
      • Psychology
      • Science
      • Society
      • Sport
      • Technology
      • Travel
      • Video
      • Weapons
      • Web
      • Work
        Submit
        Valid formats are JPG, PNG, GIF.
        Not more than 5 Мb, please.
        30
        surfingbird.ru/site/
        RSS format guidelines
        500
        • Advertisement
        • Animals
        • Architecture
        • Art
        • Auto
        • Aviation
        • Books
        • Cartoons
        • Celebrities
        • Children
        • Culture
        • Design
        • Economics
        • Education
        • Entertainment
        • Fashion
        • Fitness
        • Food
        • Gadgets
        • Games
        • Health
        • History
        • Hobby
        • Humor
        • Interior
        • Moto
        • Movies
        • Music
        • Nature
        • News
        • Photo
        • Pictures
        • Politics
        • Psychology
        • Science
        • Society
        • Sport
        • Technology
        • Travel
        • Video
        • Weapons
        • Web
        • Work

          Submit

          Thank you! Wait for moderation.

          Тебе это не нравится?

          You can block the domain, tag, user or channel, and we'll stop recommend it to you. You can always unblock them in your settings.

          • skan92
          • домен m.habrahabr.ru
          • домен habrahabr.ru

          Get a link

          Спасибо, твоя жалоба принята.

          Log on to Surfingbird

          Recover
          Sign up

          or

          Welcome to Surfingbird.com!

          You'll find thousands of interesting pages, photos, and videos inside.
          Join!

          • Personal
            recommendations

          • Stash
            interesting and useful stuff

          • Anywhere,
            anytime

          Do we already know you? Login or restore the password.

          Close

          Add to collection

             

            Facebook

            Ваш профиль на рассмотрении, обновите страницу через несколько секунд

            Facebook

            К сожалению, вы не попадаете под условия акции