API, определение и список тех, кого нужно знать

Перед началом любого проекта неплохо бы изучить API, доступные в сети.

Наряду с языком программирования, API является основным инструментом программиста и позволяет избежать переписывания существующего кода.

API (интерфейс прикладного программирования) представляет собой набор
- заголовки функций,
- классы и их члены (для объектно-ориентированного языка),
которые предоставляются библиотекой программного обеспечения, веб-службой или операционной системой, чтобы их можно было использовать для программирования программного обеспечения, которое их использует.

Реализация функций и классов, которые могут быть специфичны для конкретного аппаратного обеспечения, отличается от независимого от него API. Однако API существует только при наличии хотя бы одной реализации.

Доступ к оборудованию... твердотельный накопитель Seagate

Вопрос об авторском праве

Мы должны различать API и библиотеку. Один и тот же API может иметь разные реализации, как напоминает нам судебный процесс между Oracle и Google. Последний разработал специфическую реализацию стандартного Java API. Это побудило Oracle, в попытке вернуть роялти на Android, потребовать, чтобы решение было вынесено и в пользу авторских прав на API, что было бы очень вредно. По итогам судебного разбирательства было заявлено, что использование API в США подпадает под справедливое использование, исключение из авторского права. Европа, со своей стороны, постановила, что API не защищены авторским правом.

4 апреля 2021 года Верховный суд США поддержал принцип, согласно которому использование API подпадает под «добросовестное использование» и не нарушает авторские права на код в целом.

Определение такого интерфейса не ограничивается библиотеками; API также может быть определен для конечного приложения, чтобы оно могло взаимодействовать с другими приложениями.

Характеристики АФС

Языковая зависимость

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

Пользовательская лицензия

Он либо находится под свободной лицензией и может быть использован бесплатно любым программистом, либо под проприетарной лицензией и доступен только ограниченному сообществу, как это бывает, например, с API игровых консолей.

Уровень языка

Мы различаем высокоуровневый API, с точки зрения языков программирования, таких как графические API, и ABI (Application Binary Interface), более близкий к системе, такой как Linux Standard Base или аппаратные интерфейсы драйверов.

Список API и библиотек общего назначения

Очевидно, что выбор API зависит от языка программирования (в Java есть полный стандартный API) и характера проекта. Однако некоторые API являются общими для всех проектов для данного типа приложений...
Этот список содержит библиотеки со стандартным API и другие, которые этого не делают. В последнем случае библиотека должна быть включена в приложение во избежание несовместимости в будущем.

OpenGL.
Портативная библиотека 2D и 3D графики.

WebGL.
Это интерфейс к коду OpenGL на браузерах.

SDL.
Графическая библиотека для создания компьютерных игр.

Windows API.
Программирование Windows.

Хром.
Код браузера Chrome стал заменой среды выполнения C или Windows API, с преимуществом портативности. Действительно, код содержит большую часть ресурсов, необходимых для создания бэкенда приложения.

Переносимый проект среды выполнения
Как и Chromium, но разработанный специально для него.

WebAPI от Mozilla.
Набор интерфейсов для мобильных устройств и их частей, в настоящее время разрабатываемый, но уже используемый в Firefox OS.

Google Map API.
Использование географических карт на веб-сайте.

YouTube API.
За использование видео на YouTube.