Что такое API?

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

Предоставляя лишний код в программный интерфейс создаются дополнительные проблемы использования, что за код, куда его девать и как с ним быть? Какой код вычленить для использования?

В данной статье рассмотрим что такое API (программный интерфейс/интерфейс программирования) и его значимость.

API (программный интерфейс приложения — application programming interface) — это совокупность классов, структур, функций констант и иного кода предоставляемых приложением/библиотекой для использования его функционала.

Из этого понятия следует что это самое API определяет функционал приложения. То есть приложение может на самом деле выполнять больше функций чем предоставлено в программным интерфейсом. Но никак не наоборот))

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

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

Хороший программный интерфейс грамотно и структурно продуман, и суть его выполняемых действий ясна из самого кода.

Программный интерфейс нужен чтобы предоставить пользователю только тот функционал, который ему необходим для использования возможностей библиотеки, и ничего лишнего. То есть, его использование ограждает пользователя от необходимости вникать в реализацию кода, вычленять из него именно тот код который он будет использовать в качестве программного интерфейса. Как следствие, грамотно и рационально составленное и выделенное API ускорят разработку пользователем своих приложений при помощи него, а уж если оно еще и продокументировано …

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

API не является готовым решением, оно предоставляет некий инструментарий для разработки, облегчая сам процесс. Порой проще использовать уже готовый фреймворк, у которого есть свой программный интерфейс и парой строк заменить весь тот внутренний код, который может быть с 10, 100 а может и больше строк кода.

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

Самое главное при построении API это четкое представление о его предназначения, и ясное видение его использования.

Поделиться:

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*