Interfejs programowania aplikacji: Różnice pomiędzy wersjami

m
(usunięcie przypisu do gołego repozytorium kodu – nie ułatwia czytelnikom zweryfikowania informacji przy których się znajduje, a takie jest przeznaczenie przypisów (WP:WER))
'''Interfejs programowania aplikacji''', '''interfejs programistyczny aplikacji''', lub po prostu '''API''' (od{{W [[język angielskijęzyku|en|ang.]] ''application programming interface''}}) – sposób, rozumiany jako ściśle określony zestaw reguł i ich opisów, w jaki [[program komputerowy|programy komputerowe]] komunikują się między sobą<ref>{{Cytuj stronę |url = http://www.webopedia.com/TERM/A/API.html |tytuł = What is Application Program Interface (API)? |nazwisko = Beal |imię = Vangie |opublikowany = Webopedia.com |język = en |archiwum = http://web.archive.org/web/20150616135419/http://www.webopedia.com/TERM/A/API.html |zarchiwizowano = 2015-06-16 |data dostępu = 2015-06-16}}</ref>.
 
Definiuje się go na poziomie [[kod źródłowy|kodu źródłowego]] dla składników oprogramowania, na przykład [[oprogramowanie użytkowe|aplikacji]], [[biblioteka programistyczna|bibliotek]], [[system operacyjny|systemu operacyjnego]]. Zadaniem interfejsu programowania aplikacji jest dostarczenie odpowiednich specyfikacji [[podprogram]]ów, [[struktura danych|struktur danych]], [[klasa (programowanie obiektowe)|klas obiektów]] i wymaganych [[protokół komunikacyjny|protokołów komunikacyjnych]].
 
Definicja API może być niezależna od jego implementacji. Przykładowo, istnieje wiele realizacji API [[Biblioteka standardowa języka C|biblioteki standardowej języka C]], które współdzielą standardową zewnętrzną funkcjonalność (są to m.in. wersja z systemu [[Berkeley Software Distribution|BSD]] oraz wersja z systemu [[GNU]]<ref>[https://www.gnu.org/software/libc/ Biblioteka standardowa jęz. C w wersji GNU] {{lang|en}}.</ref>).
 
Co więcej, istnieją 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 [[Interface Description Language|języków opisu interfejsów]] (ang. ''interface description language,'' IDL'').''<ref>Przykładem znanego języka IDL jest [https://www.corba.org/omg_idl.htm OMG IDL] dla systemu [[Common Object Request Broker Architecture|CORBA]] {{lang|en}}.</ref>
 
Przykładowe API to [[POSIX]] (API zdefiniowane w [[C (język programowania)|jęz. C]]) i [[Windows API]] (API zdefiniowane w [[C (język programowania)|jęz. C]])<ref name="petzold_windows">Charles Petzold, ''Programowanie Windows. Kompletny podręcznik Win32 API do Windows 95/98/NT.
Wydanie II'', Wydawnictwo RM.</ref>, a w przypadku [[Grafika 3D|grafiki 3D]] – [[Vulkan (API)|Vulkan]] (API zdefiniowane dla [[C (język programowania)|jęz. C]], z wieloma tzw. bindingami m.in. dla [[C++|jęz. C++]], [[Rust (język programowania)|jęz. Rust]] i innych) oraz [[OpenGL]]<ref>[http://www.opengl.org/ OpenGL - The Industry'sIndustry’s Foundation for High Performance Graphics] {{lang|en}}.</ref> (API zdefiniowane dla wielu języków, m.in. jęz. C, jęz. C++, [[Java|jęz. Java]], [[Python|jęz. Python]]).
</ref> (API zdefiniowane dla wielu języków, m.in. [[C (język programowania)|jęz. C]], [[C++|jęz. C++]], [[Java|jęz. Java]], [[Python|jęz. Python]]).
 
== API Webowe ==
{{Osobny artykuł|WebAPI}}
Jednym z typów interfejsów API, które przebiły się do szerszej świadomości są API Webowe (ang.{{W ''języku|en|Web APIs''}}). Jest to rodzaj interfejsów API, w których funkcje są udostępniane jako zasób w sieci. Bieżące wersje systemy API Webowych pozwalają w bardzo łatwy sposób integrować informacje z sieci z aplikacjami, poszerzając ich funkcje lub umożliwiając współdziałać (np. z sieciami społecznościowymi)<ref name="jacobson_et_al">Daniel Jacobson, Dan Woods, Greg Brail, ''Interfejs API: Strategia programisty'', Helion, Gliwice, 2015.</ref>.
 
== Przykłady ==
1097

edycji