Interfejs programowania aplikacji
- l`rby@
- Asturianu
- Az@rbaycanca
- baaNlaa
- Belaruskaia
- B'lgarski
- Boarisch
- Bosanski
- Catala
- Cestina
- Dansk
- Deutsch
- Eesti
- Ellenika
- English
- Espanol
- Esperanto
- Euskara
- frsy
- Francais
- Gaeilge
- Galego
- hangugeo
- Hausa
- Hayeren
- hindii
- Hrvatski
- Ido
- Igbo
- Bahasa Indonesia
- Italiano
- `bryt
- k`art`uli
- K'azak'sha
- Kiswahili
- Latviesu
- Lietuviu
- Magyar
- mlyaallN
- margaluri
- Bahasa Melayu
- Mongol
- Nederlands
- Ri Ben Yu
- Nordfriisk
- Norsk bokmal
- Norsk nynorsk
- O`zbekcha / uzbekcha
- Piemonteis
- Portugues
- Romana
- Runa Simi
- Russkii
- Shqip
- Simple English
- Slovencina
- Slovenscina
- khwrdy
- Srpski / srpski
- Srpskohrvatski / srpskokhrvatski
- Suomi
- Svenska
- Tagalog
- tmilll
- aithy
- Turkce
- Ukrayins'ka
- rdw
- Tieng Viet
- Wu Yu
- Yue Yu
- Zhong Wen
Interfejs programowania aplikacji[1][2][3][4][5], interfejs programistyczny aplikacji[1][6][7][8], interfejs programu aplikacyjnego[2](ang. application programming interface, API) - zbior regul scisle opisujacy, w jaki sposob programy lub podprogramy komunikuja sie ze soba[9].
API jest przede wszystkim specyfikacja wytycznych, jak powinna przebiegac interakcja miedzy komponentami programowymi. Implementacja API jest zestawem schematow, protokolow i rozwiazan informatycznych do budowy aplikacji komputerowych. Dodatkowo API moze korzystac z komponentow graficznego interfejsu uzytkownika. Dobre API ulatwia budowe oprogramowania, sprowadzajac ja do laczenia przez programiste blokow elementow w ustalonej konwencji[10].
Definiuje sie go na poziomie kodu zrodlowego dla skladnikow oprogramowania, na przyklad aplikacji, bibliotek, systemu operacyjnego. Zadaniem interfejsu programowania aplikacji jest dostarczenie odpowiednich specyfikacji podprogramow, struktur danych, klas obiektow i wymaganych protokolow komunikacyjnych.
Definicja API moze byc niezalezna od jego implementacji. Przykladowo, istnieje wiele realizacji API biblioteki standardowej jezyka C, ktore wspoldziela standardowa zewnetrzna funkcjonalnosc (sa to m.in. wersja z systemu BSD oraz wersja z systemu GNU[11]).
Co wiecej, istnieja API zdefiniowane w sposob niezalezny od danej platformy (systemu operacyjnego, jezyka programowania), dla ktorych istnieje mozliwosc wygenerowania API dla specyficznej platformy. Takie interfejsy definiuje sie, uzywajac zwykle jezykow ich opisu.
Przykladowe API to POSIX (API zdefiniowane w jezyku C) i Windows API (API zdefiniowane w jezyku C)[12], a w przypadku grafiki 3D - Vulkan (API zdefiniowane dla jezyka C, z wieloma tzw. bindingami, m.in. dla jez. C++, jez. Rust i innych) oraz OpenGL[13] (API zdefiniowane dla wielu jezykow, m.in. C, C++, Java, Python).
Jednym z typow API, ktore przebily sie do szerszej swiadomosci, sa API webowe (zwane tez internetowymi). Jest to rodzaj API, w ktorych funkcje sa udostepniane jako zasob w sieci. Biezace wersje systemow API webowych pozwalaja w bardzo latwy sposob integrowac informacje z sieci z aplikacjami, poszerzajac ich funkcje lub umozliwiajac wspoldzialanie (na przyklad z sieciami spolecznosciowymi)[14].
Przyklady
[edytuj | edytuj kod]W jezyku C definicja interfejsu programowania aplikacji sklada sie przede wszystkim z listy dostepnych funkcji (w formie prototypow funkcji), wraz z towarzyszacymi im przewaznie definicjami stalych, zmiennych oraz struktur danych, ktore moga byc uzyte jako ich parametry. Przykladowa lista prototypow funkcji z API biblioteki standardowej jezyka C (plik naglowkowy
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) uzyte sa identyfikatory struktur i typow (FILE i size_t), ktore sa rowniez czescia definicji API (ich definicja nie zostala zamieszczona w przykladzie).
Przyklad uzycia jednej z powyzszych funkcji z API jest nastepujacy:
Zobacz tez
[edytuj | edytuj kod]| Zobacz haslo API w Wikislowniku |
Przypisy
[edytuj | edytuj kod]- | a b Standard API dla udostepniania danych. [dostep 2020-03-11].
- | a b Dyrektywa Parlamentu Europejskiego i Rady (UE) 2018/1972 z dnia 11 grudnia 2018 r. ustanawiajaca Europejski kodeks lacznosci elektronicznej (CELEX: 32018L1972).
- | Slowniczek pojec. PCLab. [dostep 2020-04-19].
- | Slownik Politechniki Wroclawskiej. itcmp.pwr.wroc. [dostep 2020-04-19]. [zarchiwizowane z tego adresu (2020-02-17)].
- | Slowniczek. Interfejs API. google.com. [dostep 2020-04-19].
- | Ekspertyzy dotyczace standardow otwartosci danych publicznych. Ministerstwo Cyfryzacji. [dostep 2020-04-19].
- | Slownik terminow testowych ISTQB, Wersja 3.4 (2020), s. 33.
- | Ustawa z dnia 12 lipca 2024 r. Prawo komunikacji elektronicznej (Dz.U. z 2024 r. poz. 1221).
- | Standard API (interfejsu programistycznego aplikacji). s. 3. [dostep 2020-03-11].
- | OD.API standardy interfejsu programistycznego aplikacji. s. 3. [dostep 2020-03-11].
- | Biblioteka standardowa jez. C w wersji GNU (ang.).
- | Charles Petzold, Programowanie Windows. Kompletny podrecznik Win32 API do Windows 95/98/NT. Wydanie II, Wydawnictwo RM.
- | OpenGL - The Industry's Foundation for High Performance Graphics. opengl.org. [zarchiwizowane z tego adresu (2011-02-26)]. (ang.).
- | Daniel Jacobson, Dan Woods, Greg Brail, Interfejs API: Strategia programisty, Helion, Gliwice, 2015.