Apple собирается убрать поддержку OpenGL в macOS, iOS и tvOS

OpenGLНа конференции WWDC 2018 корпорация Apple вновь затронула тему отказа от кроссплатформенного графического API OpenGL в своих операционных системах. Причиной тому, что компания захотела разъяснить свою позицию, стало массовое недовольство разработчиков, не без оснований заподозривших, что таким образом Apple просто продвигает свой API Metal.

Open Graphics Library стала большой вехой на пути создания независимых от платформы и языка программирования приложений с поддержкой двумерной и трёхмерной компьютерной графики. Смысл появления данного API заключался в том, чтобы избавить разработчиков приложений от необходимости адаптировать ПО под разные графические адаптеры, иными словами, повысить уровень абстракции. По сути OpenGL это спецификация, то есть документ, стандартизирующий то, как производители графического оборудования создают библиотеки функций под различные операционные системы. В числе этих ОС есть и Windows, и macOS, и Unix-подобные операционные системы, и различные мобильные ОС, а также ОС прочих устройств (например, игровых приставок). Самым известным конкурентом в Windows является собственный API компании Microsoft под названием DirectX.

Apple собирается убрать поддержку OpenGL в macOS, iOS и tvOS
Схема, описывающая взаимодействия аппаратных и программных компонентов для вывода графики.

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

Весомость аргумента сокращения экосистемы приложений не стоит недооценивать. Даже той же Microsoft при всех возможностях этой корпорации не удалось обеспечить успех Windows Phone именно из-за отсутствия нормальной экосистемы приложений для ОС. Проект пришлось свернуть. Linux за многие годы с огромным трудом пробивается на компьютеры пользователей отчасти и из-за скудного списка поддерживаемых игр.

Поэтому попытку Apple объяснить свою позицию можно понять. Корпорация утверждает, что спецификация OpenGL, разработанная 25 лет назад в период начального развития 3D-графики, является морально устаревшей. Как и любой длительно используемый продукт, OpenGL оброс расширениями, позволяющими API задействовать возможности современных графических процессоров. Тем не менее, принципы 3D-рендеринга изменились. Появились многопоточные операции и асинхронная обработка. Нельзя сказать, что разработчики OpenGL этого не понимали. По этим причинам они и анонсировали в 2014 году проект нового графического API, получившего название Vulkan. Версия 1.0 была опубликована в публичном доступе 16 февраля 2016 года.

Apple начала разработку своей замены OpenGL несколько раньше. Рабочая версия Metal была представлена в июне 2014 для iOS и в июне 2015 для macOS.

Apple собирается убрать поддержку OpenGL в macOS, iOS и tvOS
Анонс Metal 2 на WWDC 2017.

Понятно, что, потратив силы на собственный графический API, корпорация не откажется просто так от планов по расширению его использования. Фактически, мы имеем дело с шантажом с двух сторон. Крупная корпорация требует от сторонних разработчиков использовать её API, чтобы не лишиться пользователей macOS, iOS и tvOS, а разработчики заявляют, что сокращение числа запускаемых на устройствах Apple приложений ударит по компании сильнее, чем по ним ударит потеря части клиентов. Точная дата удаления OpenGL из ОС Apple пока не названа.

Добавить комментарий

Ваш адрес email не будет опубликован.