Interfejs programowania aplikacji

Z Wikipedii, wolnej encyklopedii
Przejdź do nawigacji Przejdź do wyszukiwania

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ą.

Biblioteka standardowa języka C (libc) to biblioteka zawierająca podstawowe procedury języka C. W Uniksach jest używana, bezpośrednio lub pośrednio, przez praktycznie każdy program, niezależnie od języka w jakim jest napisany.BSD (ang. Berkeley Software Distribution, czasami nazywany Berkeley Unix) – odmiana systemu operacyjnego Unix wywodząca się ze stworzonych na Uniwersytecie Kalifornijskim Berkeley rozszerzeń dla systemu rozwijanego przez firmę AT&T. Także potoczna nazwa licencji BSD, na której te systemy są wydawane oraz pokrewnych licencji tego typu (np. licencja MIT).

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.

Prawo telekomunikacyjne – polskie prawo zawarte w ustawie z dnia 16 lipca 2004 r. Prawo telekomunikacyjne (Dz. U. z 2004 r. Nr 171, poz. 1800) z późniejszymi zmianami oraz w innych ustawach.Program komputerowy (ang. computer program) - sekwencja symboli opisująca obliczenia zgodnie z pewnymi regułami zwanymi językiem programowania. Program jest zazwyczaj wykonywany przez komputer (np. wyświetlenie strony internetowej), czasami bezpośrednio – jeśli wyrażony jest w języku zrozumiałym dla danej maszyny lub pośrednio – gdy jest interpretowany przez inny program (interpreter). Program może być ciągiem instrukcji opisujących modyfikacje stanu maszyny ale może również opisywać obliczenia w inny sposób (np. rachunek lambda).

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.

Library of Congress Control Number (LCCN) – numer nadawany elementom skatalogowanym przez Bibliotekę Kongresu wykorzystywany przez amerykańskie biblioteki do wyszukiwania rekordów bibliograficznych w bazach danych i zamawiania kart katalogowych w Bibliotece Kongresu lub u innych komercyjnych dostawców. Definicja intuicyjna: Kod źródłowy to zapis programu komputerowego w formie czytelnej dla człowieka umożliwiający jego modyfikację i rozwój.

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.

System operacyjny (ang. Operating System, skrót OS) – oprogramowanie zarządzające systemem komputerowym, tworzące środowisko do uruchamiania i kontroli zadań użytkownika.OpenGL (ang. Open Graphics Library) – specyfikacja uniwersalnego API do generowania grafiki. Zestaw funkcji składa się z 250 podstawowych wywołań, umożliwiających budowanie złożonych trójwymiarowych scen z podstawowych figur geometrycznych.

Przykładowe API to POSIX (API zdefiniowane w języku C) i Windows API (API zdefiniowane w języku C), a w przypadku grafiki 3DVulkan (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).

W programowaniu obiektowym klasa jest częściową lub całkowitą definicją dla obiektów. Definicja obejmuje dopuszczalny stan obiektów oraz ich zachowania. Obiekt, który został stworzony na podstawie danej klasy nazywany jest jej instancją. Klasy mogą być typami języka programowania - przykładowo, instancja klasy Owoc będzie mieć typ Owoc. Klasy posiadają zarówno interfejs, jak i strukturę. Interfejs opisuje, jak komunikować się z jej instancjami za pośrednictwem metod, zaś struktura definiuje sposób mapowania stanu obiektu na elementarne atrybuty.Grafika 3D (grafika trójwymiarowa) – nazwa jednej z dziedzin grafiki komputerowej, zajmującej się głównie wizualizacją obiektów trójwymiarowych. Nazwa pochodzi od angielskiego sformułowania Three-Dimensional Graphics.

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).

Protokół komunikacyjny to zbiór ścisłych reguł i kroków postępowania, które są automatycznie wykonywane przez urządzenia komunikacyjne w celu nawiązania łączności i wymiany danych.Biblioteka Narodowa Francji (fr. Bibliothèque nationale de France, BnF) – francuska biblioteka narodowa, znajdująca się w Paryżu. Przewidziana jest jako repozytorium dla wszystkich materiałów bibliotecznych, wydawanych we Francji. Obecnym dyrektorem Biblioteki jest Bruno Racine.

Przykłady[ | edytuj kod]

W języku C definicja interfejsu programowania aplikacji 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:

Store Norske leksikon (Wielka encyklopedia norweska) - norweska encyklopedia w języku bokmål. Powstała po fuzji dwóch dużych, tworzących encyklopedie i słowniki wydawnictw norweskich Aschehoug i Gyldendal w 1978 roku, które utworzyły wydawnictwo Kunnskapsforlaget. Były cztery wydania papierowe: pierwsza w latach 1978-1981 w 12 tomach, druga w latach 1986-1989 w 15 tomach, trzecia w latach 1995-1999 w 16 tomach i czwarta w latach 2005-2007 w 16 tomach. Ostatnie wydanie zawierało 150 tys. haseł i 16 tys. ilustracji i zostało opublikowana przy wsparciu finansowym stowarzyszenia Fritt Ord. W 2010 roku ogłoszono, że nie będzie już wydań papierowych encyklopedii. Encyklopedia dostępna jest on-line od 2000 roku, a od 2009 roku może być edytowane przez użytkowników. Kunnskapsforlaget korzysta jednak z pomocy ekspertów przy sprawdzaniu treści zamieszczonych przez czytelników.Python – język programowania wysokiego poziomu ogólnego przeznaczenia i rozbudowanym pakiecie bibliotek standardowych, którego ideą przewodnią jest czytelność i klarowność kodu źródłowego. Jego składnia cechuje się przejrzystością i zwięzłością.
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).

Biblioteka (w informatyce) – zbiór klas, funkcji (i ew. innych konstrukcji programistycznych), z których korzystają różne programy.Windows API, lub krócej: WinAPI – interfejs programistyczny systemu Microsoft Windows – jest to zbiór niezbędnych funkcji, stałych i zmiennych umożliwiających działanie programu w systemie operacyjnym Microsoft Windows.

Przykład użycia jednej z powyższych funkcji z API jest następujący:

return printf("Hello world");

Zobacz też[ | edytuj kod]

  • interfejs binarny aplikacji (ABI)
  • Single UNIX Specification
  • Przypisy[ | edytuj kod]

    1. Standard API dla udostępniania danych. [dostęp 2020-03-11].
    2. Dyrektywa Parlamentu Europejskiego i Rady (UE) 2018/1972 z dnia 11 grudnia 2018 r. ustanawiająca Europejski kodeks łączności elektronicznej (CELEX: 32018L1972).
    3. Interfejs programowania aplikacji (API). MonitorfFX. [dostęp 2020-04-19].
    4. Słowniczek pojęć. PCLab. [dostęp 2020-04-19].
    5. Słownik Politechniki Wrocławskiej. itcmp.pwr.wroc. [dostęp 2020-04-19]. [zarchiwizowane z tego adresu (2020-02-17)].
    6. Słowniczek. Interfejs API. google.com. [dostęp 2020-04-19].
    7. Ekspertyzy dotyczące standardów otwartości danych publicznych. Ministerstwo Cyfryzacji. [dostęp 2020-04-19].
    8. Słownik terminów testowych ISTQB, Wersja 3.4 (2020), s. 33.
    9. Ustawa z dnia 16 lipca 2004 – Prawo telekomunikacyjne (Dz.U. z 2021 r. poz. 576).
    10. Standard API (interfejsu programistycznego aplikacji). s. 3. [dostęp 2020-03-11].
    11. OD.API standardy interfejsu programistycznego aplikacji. s. 3. [dostęp 2020-03-11].
    12. Biblioteka standardowa jęz. C w wersji GNU (ang.).
    13. Charles Petzold, Programowanie Windows. Kompletny podręcznik Win32 API do Windows 95/98/NT. Wydanie II, Wydawnictwo RM.
    14. OpenGL – The Industry’s Foundation for High Performance Graphics (ang.).
    15. Daniel Jacobson, Dan Woods, Greg Brail, Interfejs API: Strategia programisty, Helion, Gliwice, 2015.
    C – imperatywny, strukturalny język programowania wysokiego poziomu stworzony na początku lat siedemdziesiątych XX w. przez Dennisa Ritchiego do programowania systemów operacyjnych i innych zadań niskiego poziomu.Oprogramowanie użytkowe lub oprogramowanie aplikacyjne – oprogramowanie oferujące bezpośredni kontakt z człowiekiem, czyli interakcję z użytkownikiem komputera. Oprogramowanie użytkowe przeznaczone jest do wykonywania czynności poleconych przez użytkownika oraz rozwiązywania problemów zadanych przez użytkownika.




    Warto wiedzieć że... beta

    Definicja intuicyjna: Java (wym. „dżawa”) to język programowania. Programy napisane w Javie można uruchamiać na wielu urządzeniach, takich jak telefony komórkowe lub komputery oraz pod różnymi systemami operacyjnymi, przy użyciu Wirtualnej maszyny Javy, która musi być w danym środowisku zainstalowana.
    Kontrola autorytatywna – w terminologii bibliotekoznawczej określenie procedur zapewniających utrzymanie w sposób konsekwentny haseł (nazw, ujednoliconych tytułów, tytułów serii i haseł przedmiotowych) w katalogach bibliotecznych przez zastosowanie wykazu autorytatywnego zwanego kartoteką wzorcową.
    WebAPI to interfejs komunikacyjny korzystający z protokołu HTTP i języka XML. Pozwala on na komunikację pomiędzy użytkownikami a systemem zlokalizowanym na serwerze.
    Single UNIX Specification - dokument publikowany przez The Open Group, definiujący jak powinien zachowywać się system klasy UNIX.
    Gemeinsame Normdatei (GND) – kartoteka wzorcowa, stanowiąca element centralnego katalogu Niemieckiej Biblioteki Narodowej (DNB), utrzymywanego wspólnie przez niemieckie i austriackie sieci biblioteczne.
    Interfejs binarny aplikacji, ABI (od ang. application binary interface) – zespół reguł i ustaleń, które decydują o współpracy między programami i bibliotekami a systemem operacyjnym lub między różnymi komponentami danej aplikacji. ABI różni się od API tym, że dotyczy oprogramowania w wersji skompilowanej, a więc binarnej (zwanej również wykonywalną), a nie w formie kodu źródłowego.
    Rust to kompilowalny język ogólnego przeznaczenia rozwijany przez Mozilla Research. Zaprojektowany z myślą aby był "bezpieczny współbieżny i praktyczny". Został zaprojektowany przez Graydon Hoare w 2006 roku, w 2009 projekt został przyjęty pod skrzydła Fundacji Mozilla. W 2010 Mozilla upubliczniła informację o języku. W 2011 roku kompilator języka, znany jako rustc, został z powodzeniem skompilowany przez samego siebie. Pierwsza numerowana wersja alfa została wydana w 2012.

    Reklama