Фрагментация платформы

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

Фрагментация платформы — ситуация, когда у какой-то вычислительной платформы становится настолько много моделей аппаратуры и версий ОС, что практически невозможно сделать программу, хорошо работающую под всеми устройствами.[1]

Примеры[править | править исходный текст]

Linux[править | править исходный текст]

В Linux применяется несколько разных форматов пакетов. Так что, даже если бинарные файлы одинаковы, программу приходится упаковывать под разные дистрибутивы Linux.

Sun Java ME[править | править исходный текст]

Фрагментация Java ME была по таким статьям:

  • Размер экрана: от 96×65 до 240×320.
  • Размеры шрифтов.
  • Коды кнопок (за исключением кнопок номеронабирателя — за ними закреплены ASCII-коды символов 1…9, «*» и «#»).
  • Наличие/отсутствие пера.
  • Звуковое API (MMAPI или собственное).
  • Прочие ошибки и недостатки: мало памяти, особенности кэша изображений, ошибки API.

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

Google Android[править | править исходный текст]

Сжатие текстур для трёхмерной графики в Android не стандартизировано и различается от устройства к устройству.[2] Но и без этого у Android есть проблемы: разные размеры экрана и версии ОС. В 2013 году при актуальной версии 4.2 существовали смартфоны с версией 2.1.[1] В 2010 году Балмер и Джобс обвиняли Android во фрагментации, Google отрицала её, но факты говорили сами за себя: Netflix пришлось делать свою версию программы практически для каждого Android-устройства, в то время как на iOS и Windows Phone обошлись одной версией.[3]

Красивую визуализацию фрагментации в 2012 году сделали специалисты из OpenSignal.[1][4] Они получили 3997 разных комбинаций модели устройства и версии Android. В числе необычных устройств — Lemon P1, индийский двух-SIM’очный смартфон, и Concorde Tab, венгерский 10-дюймовый планшет.

В 2012 году фрагментация вынудила Google добавить в пользовательское соглашение к Android Development Kit туманную фразу:[5]

« 3.4. Вы соглашаетесь не принимать никаких мер, которые бы вызвали фрагментацию Android, в том числе разрабатывать, распространять и пропагандировать производные SDK. »

Также в одном из интервью в 2013 году председатель совета директоров Google Эрик Шмидт на вопрос о фрагментации ответил, что уже не видит в этом проблему[6].

Иногда фрагментацию Android считают достоинством: посмотрите, насколько широко применяется ОС, в отличие от десятка устройств Apple.[1]

Примечания[править | править исходный текст]