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

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

Примеры

Linux

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

Для ограничения фрагментации в своих нишах поставщики дистрибутивов ограничивают (средствами менеджера пакетов) возможности пользователей по установке поставляемых пакетов в нештатной конфигурации. FSF целенаправленно противодействует фрагментации пакетом Autotools , в числе прочего нивелирующим различия в функциональности разных версий системных библиотек. Стандарт POSIX , поддерживаемый The Open Group, также служит цели давать гарантии разработчикам. Для координации ряда других API, не входящих в POSIX, были созданы независимые группы — например, freedesktop.org для API графических сред.

Sun Java ME

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

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

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

Google Android

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

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

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

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

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

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

Примечания

  1. . Дата обращения: 7 октября 2013. 3 октября 2013 года.
  2. . Дата обращения: 30 октября 2013. 24 февраля 2019 года.
  3. . Дата обращения: 8 октября 2013. 19 августа 2011 года.
  4. . Дата обращения: 8 октября 2013. 14 апреля 2014 года.
  5. . Mail.Ru . Дата обращения: 9 октября 2013. 11 октября 2013 года.
Источник —

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