Интерфейс прикладного программирования (API) позволяет программистам получать доступ к функциональности опубликованных программных модулей и сервисов в Интернете . API играют важную роль в разработке приложений и сетевом программировании. Узнайте больше о том, что такое API и почему разработчики его используют.
Что такое API?
API определяет структуры данных и вызовы подпрограмм, которые расширяют существующие приложения новыми функциями. Они также используются для создания новых приложений поверх других программных компонентов. В Интернете API-интерфейсы позволяют интегрировать приложения с такими сервисами, как Google Maps и Facebook.
Некоторые API специально поддерживают сетевое программирование. Сетевое программирование — это тип разработки программного обеспечения для приложений, которые подключаются и взаимодействуют через компьютерные сети, включая Интернет. Сетевые API предоставляют точки входа в протоколы и библиотеки программного обеспечения многократного использования. Сетевые API поддерживают веб-браузеры, веб-базы данных и многие мобильные приложения. Они широко поддерживаются во многих языках программирования и операционных системах.
API и Socket Программирование
Традиционное сетевое программирование следовало модели клиент-сервер . Основные API, используемые для клиент-серверных сетей, были реализованы в библиотеках сокетов, встроенных в операционные системы. Например, сокеты Berkeley и API Windows Sockets (Winsock) долгие годы были двумя основными стандартами программирования сокетов.
Удаленные вызовы процедур
API-интерфейсы RPC расширяют базовые методы сетевого программирования, добавляя возможность для приложений вызывать функции на удаленных устройствах, а не просто отправлять им сообщения. С ростом популярности в Интернете XML-RPC стал популярным механизмом для RPC.
Простой протокол доступа к объектам (SOAP)
SOAP был разработан в конце 1990-х годов как сетевой протокол с использованием XML в качестве формата сообщений и протокола передачи гипертекста (HTTP) в качестве транспорта. SOAP создал лояльных последователей программистов веб-сервисов и стал широко использоваться для корпоративных приложений.
Представительный государственный трансферт (REST)
REST — это еще одна модель программирования, которая также поддерживает веб-сервисы. Как и SOAP, API-интерфейсы REST используют HTTP, но вместо XML приложения REST часто вместо этого используют объектную нотацию Javascript (JSON). REST и SOAP сильно различаются в подходах к управлению состоянием и безопасности, что является ключевым фактором для сетевых программистов. Мобильные приложения могут использовать или не использовать сетевые API, но те, которые часто используют REST.
Будущее API
И SOAP, и REST продолжают активно использоваться для разработки новых веб-сервисов. Будучи гораздо более новой технологией, чем SOAP, REST с большей вероятностью будет развиваться и создавать другие результаты разработки API.
Операционные системы также эволюционировали для поддержки многих новых технологий сетевого API. Например, в современных операционных системах, таких как Windows 10, сокеты продолжают оставаться основным API, а HTTP и другая дополнительная поддержка находятся на верхнем уровне для сетевого программирования в стиле RESTful.
Как это часто бывает в компьютерных областях, новые технологии, как правило, внедряются гораздо быстрее, чем устаревшие. Ищите интересные новые разработки API, особенно в облачных вычислениях и Интернете вещей (IoT), где характеристики устройств и модели их использования отличаются от традиционных сред сетевого программирования.