Interfejs programowania aplikacji
Interfejs programowania aplikacji, interfejs programistyczny aplikacji, API (od ang. application programming interface) – sposób, rozumiany jako ściśle określony zestaw reguł i ich opisów, w jaki programy komputerowe komunikują się między sobą[1].
Definiuje się go na poziomie kodu źródłowego dla składników oprogramowania, na przykład aplikacji, bibliotek, systemu operacyjnego. Zadaniem interfejsu programowania aplikacji jest dostarczenie odpowiednich specyfikacji podprogramów, struktur danych, klas obiektów i wymaganych protokołów komunikacyjnych.
Definicja API może być niezależna od jego implementacji. Przykładowo, istnieje wiele realizacji API biblioteki standardowej języka C, które współdzielą interfejs programistyczny aplikacji (API).
Co więcej, istnieją interfejsy API, które zostały zdefiniowane w sposób niezależny od danej platformy (systemu operacyjnego, języka programowania), dla których istnieje możliwość wygenerowania API dla specyficznej platformy. Takie interfejsy definiuje się zwykle używając języków opisu interfejsów (ang. interface description language, IDL).
Przykładowe interfejsy API to POSIX (API zdefiniowane w jęz. C) i Windows API (API zdefiniowane w jęz. C), a w przypadku grafiki 3D – Vulkan (API zdefiniowane dla jęz. C, z wieloma tzw. bindingami m.in. dla jęz. C++, jęz. Rust i innych) oraz OpenGL (API zdefiniowane dla wielu języków, m.in. jęz. C, jęz. C++, jęz. Java, jęz. Python).
Przykłady
W języku C definicja interfejsu programistycznego aplikacji to składa się przede wszystkim z listy dostępnych funkcji (w formie prototypów funkcji), wraz z towarzyszącymi im przeważnie definicjami stałych, zmiennych oraz struktur danych, które mogą być użyte jako ich parametry. Przykładowa lista prototypów funkcji z API biblioteki standardowej języka C (plik nagłówkowy <stdio.h>) to:
int printf(const char *format, ...);
int fprintf(FILE *stream, const char *format, ...);
int sprintf(char *str, const char *format, ...);
int snprintf(char *str, size_t size, const char *format, ...);
W prototypach funkcji (printf
, fprintf
, sprintf
, snprintf
) użyte są identyfikatory struktur i typów (FILE
i size_t
), które są również częścią definicji API (ich definicja nie została zamieszczona w przykładzie).
Przykład użycia jednej z powyższych funkcji z API jest następujący:
return printf("Hello world");
Zobacz też
Przypisy
- ↑ Vangie Beal: What is Application Program Interface (API)?. Webopedia.com. [dostęp 2015-06-16]. [zarchiwizowane z tego adresu (2015-06-16)]. (ang.).