Country not specified
Unknown website Share

Apps4all

Страна: -
Город: -
Был онлайн: -
О себе:
 
08-07-2016, 11:47
Apps4all

Фрагментация Android: особенность платформы, а не ее недостаток

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

Android создавали с нуля и с расчетом на совместимость со множеством разных характеристик железа и экранами разного размера. Именно поэтому теперь каждый может выбрать себе устройство строго под свои нужды. Не важно, предпочитаешь ли ты маленький или большой экран, физическую или сенсорную клавиатуру, четырехъядерный процессор на 1 ГГц+ или одноядерный на 600 МГц, телефон от ведущего производителя или китайскую копию, ты всегда найдешь устройство под свои нужды. Это возможно только благодаря так называемой "фрагментации".

Фрагментация версий

Если бы нам давали по рублю каждый раз, когда кто-либо говорит "Android 4.0 работает лишь на 0.х проценте устройств", мы бы уже были миллионерами. Да, производители не очень-то торопятся наделять новые и уже существующие устройства новыми версиями Android. Но это не является проблемой, равно как и разрозненность оборудования. На данный момент 92% устройств работают на Android 2.2 (Froyo) и выше. Набор функций Froyo очень хорошо обеспечивает работу большинства приложений. В более новых версиях платформы едва ли можно найти функцию, которая бы была действительно необходима для работы приложений общего назначения.

Инструменты разработчиков

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

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

Игры

Есть одно направление, в котором разрозненность экосистемы приводит к некоторым проблемам. Это разработка игр. Из-за различных характеристик железа (в части связки CPU/GPU), разрабатывать игры для Android может быть достаточно проблематично. Например, некоторые шейдеры не поддерживаются железом A, вообще не работают на B и работают неустойчиво на C и D. Но в этом нет ничего нового. Разработчики игр для Windows сталкиваются с этой проблемой уже более 10 лет и как-то справляются.

Учитывая все выше сказанное, если ты не являешься разработчиком игр, фрагментация не должна служить оправданием твоего нежелания писать приложения под Android.

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

 
разработка
Android
статья
0 0 0

Чтобы оставлять комментарии вам необходимо зарегистрироваться