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

Поделись знанием:
Перейти к: навигация, поиск

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





Примеры

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 не стандартизировано и различается от устройства к устройству.[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]

Напишите отзыв о статье "Фрагментация платформы"

Примечания

  1. 1 2 3 4 [habrahabr.ru/post/188738/ Фрагментация Android / Хабрахабр]
  2. [developer.android.com/guide/topics/graphics/opengl.html#textures OpenGL ES | Android Developers]
  3. [www.sotovik.ru/news/google-otricaet-fragmentaciyu-android.html Google отрицает фрагментацию Android - Сотовик]
  4. [opensignal.com/reports/fragmentation.php Android Fragmentation Visualized - OpenSignal - OpenSignal]
  5. [www.techhive.com/article/2014089/google-targets-android-fragmentation-with-updated-terms-for-sdk.html Google targets Android fragmentation with updated terms for SDK | TechHive]
  6. [hi-tech.mail.ru/news/misc/android-more-secure.html Глава Google Эрик Шмидт считает, что «Android безопаснее iPhone»]. Mail.Ru. Проверено 9 октября 2013.

Отрывок, характеризующий Фрагментация платформы

– Ma bonne amie, je crains que le fruschtique (comme dit Фока – повар) de ce matin ne m'aie pas fait du mal. [Дружочек, боюсь, чтоб от нынешнего фриштика (как называет его повар Фока) мне не было дурно.]
– А что с тобой, моя душа? Ты бледна. Ах, ты очень бледна, – испуганно сказала княжна Марья, своими тяжелыми, мягкими шагами подбегая к невестке.
– Ваше сиятельство, не послать ли за Марьей Богдановной? – сказала одна из бывших тут горничных. (Марья Богдановна была акушерка из уездного города, жившая в Лысых Горах уже другую неделю.)
– И в самом деле, – подхватила княжна Марья, – может быть, точно. Я пойду. Courage, mon ange! [Не бойся, мой ангел.] Она поцеловала Лизу и хотела выйти из комнаты.
– Ах, нет, нет! – И кроме бледности, на лице маленькой княгини выразился детский страх неотвратимого физического страдания.
– Non, c'est l'estomac… dites que c'est l'estomac, dites, Marie, dites…, [Нет это желудок… скажи, Маша, что это желудок…] – и княгиня заплакала детски страдальчески, капризно и даже несколько притворно, ломая свои маленькие ручки. Княжна выбежала из комнаты за Марьей Богдановной.
– Mon Dieu! Mon Dieu! [Боже мой! Боже мой!] Oh! – слышала она сзади себя.
Потирая полные, небольшие, белые руки, ей навстречу, с значительно спокойным лицом, уже шла акушерка.
– Марья Богдановна! Кажется началось, – сказала княжна Марья, испуганно раскрытыми глазами глядя на бабушку.
– Ну и слава Богу, княжна, – не прибавляя шага, сказала Марья Богдановна. – Вам девицам про это знать не следует.
– Но как же из Москвы доктор еще не приехал? – сказала княжна. (По желанию Лизы и князя Андрея к сроку было послано в Москву за акушером, и его ждали каждую минуту.)
– Ничего, княжна, не беспокойтесь, – сказала Марья Богдановна, – и без доктора всё хорошо будет.
Через пять минут княжна из своей комнаты услыхала, что несут что то тяжелое. Она выглянула – официанты несли для чего то в спальню кожаный диван, стоявший в кабинете князя Андрея. На лицах несших людей было что то торжественное и тихое.
Княжна Марья сидела одна в своей комнате, прислушиваясь к звукам дома, изредка отворяя дверь, когда проходили мимо, и приглядываясь к тому, что происходило в коридоре. Несколько женщин тихими шагами проходили туда и оттуда, оглядывались на княжну и отворачивались от нее. Она не смела спрашивать, затворяла дверь, возвращалась к себе, и то садилась в свое кресло, то бралась за молитвенник, то становилась на колена пред киотом. К несчастию и удивлению своему, она чувствовала, что молитва не утишала ее волнения. Вдруг дверь ее комнаты тихо отворилась и на пороге ее показалась повязанная платком ее старая няня Прасковья Савишна, почти никогда, вследствие запрещения князя,не входившая к ней в комнату.
– С тобой, Машенька, пришла посидеть, – сказала няня, – да вот княжовы свечи венчальные перед угодником зажечь принесла, мой ангел, – сказала она вздохнув.
– Ах как я рада, няня.
– Бог милостив, голубка. – Няня зажгла перед киотом обвитые золотом свечи и с чулком села у двери. Княжна Марья взяла книгу и стала читать. Только когда слышались шаги или голоса, княжна испуганно, вопросительно, а няня успокоительно смотрели друг на друга. Во всех концах дома было разлито и владело всеми то же чувство, которое испытывала княжна Марья, сидя в своей комнате. По поверью, что чем меньше людей знает о страданиях родильницы, тем меньше она страдает, все старались притвориться незнающими; никто не говорил об этом, но во всех людях, кроме обычной степенности и почтительности хороших манер, царствовавших в доме князя, видна была одна какая то общая забота, смягченность сердца и сознание чего то великого, непостижимого, совершающегося в эту минуту.
В большой девичьей не слышно было смеха. В официантской все люди сидели и молчали, на готове чего то. На дворне жгли лучины и свечи и не спали. Старый князь, ступая на пятку, ходил по кабинету и послал Тихона к Марье Богдановне спросить: что? – Только скажи: князь приказал спросить что? и приди скажи, что она скажет.