Interfejs programowania aplikacji - puzzle online

Interfejs programowania aplikacji

Interfejs programowania aplikacji, interfejs programistyczny aplikacji, interfejs programu aplikacyjnego (ang. application programming interface, API) – zbiór reguł ściśle opisujący, w jaki sposób programy lub podprogramy komunikują się ze sobą.

API jest przede wszystkim specyfikacją wytycznych, jak powinna przebiegać interakcja między komponentami programowymi. Implementacja API jest zestawem rutyn, protokołów i rozwiązań informatycznych do budowy aplikacji komputerowych. Dodatkowo API może korzystać z komponentów graficznego interfejsu użytkownika. Dobre API ułatwia budowę oprogramowania, sprowadzając ją do łączenia przez programistę bloków elementów w ustalonej konwencji.

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ą standardową zewnętrzną funkcjonalność (są to m.in. wersja z systemu BSD oraz wersja z systemu GNU).

Co więcej, istnieją API 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ę, używając zwykle języków ich opisu.

Przykładowe API to POSIX (API zdefiniowane w języku C) i Windows API (API zdefiniowane w języku C), a w przypadku grafiki 3D – Vulkan (API zdefiniowane dla języka 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. C, C++, Java, Python).

Jednym z typów API, które przebiły się do szerszej świadomości, są API webowe (zwane też internetowymi). Jest to rodzaj API, w których funkcje są udostępniane jako zasób w sieci. Bieżące wersje systemów API webowych pozwalają w bardzo łatwy sposób integrować informacje z sieci z aplikacjami, poszerzając ich funkcje lub umożliwiając współdziałanie (na przykład z sieciami społecznościowymi).

puzzle 3 puzzle online