Interfața de programare a aplicației

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
Interfața de programare a aplicației
Interfața de programare a aplicației

Într-un program de calculator , interfața de programare a aplicației [1] ( API ) indică un set de proceduri (în general grupate după instrumente specifice) adecvate pentru îndeplinirea unei sarcini date; deseori acest termen desemnează bibliotecile software ale unui limbaj de programare [2] .

Caracteristici

Există diverse modele de design pentru API-uri. Interfețele destinate vitezei maxime de execuție constau adesea dintr-o serie de funcții , proceduri , variabile și structuri de date . Există, de asemenea, alte modele, cum ar fi interpreții utilizați pentru a evalua expresii, cum ar fi cu ECMAScript / JavaScript . Un API bun oferă o „cutie neagră”, care este un nivel de abstractizare care permite programatorului să evite să știe cum funcționează API la un nivel inferior. Acest lucru vă permite să reproiectați sau să îmbunătățiți funcțiile din API fără a modifica codul care se bazează pe acesta.

Există două linii directoare privind publicarea API:

  1. Unele companii își păstrează gelos API-urile. De exemplu, Microsoft oferă API-uri oficiale numai dezvoltatorilor Xbox înregistrați. Acest lucru se datorează faptului că intenționează să restricționeze numărul de persoane care pot scrie jocuri pentru consolă pentru a limita pirateria.
  2. Alte companii distribuie API-urile în mod public. De exemplu, Microsoft însuși oferă publicului informații despre API-ul său Windows , inclusiv Microsoft Foundation Classes (MFC), pentru a scrie software pentru platforma Windows .

Unele API-uri, cum ar fi cele standard ale unui sistem de operare , sunt implementate ca o bibliotecă separată și distribuite cu sistemul de operare. Alte API cer editorilor de software să integreze API-ul direct în aplicație. Aceasta face o distincție suplimentară în exemplul anterior.

API-urile Microsoft Windows sunt furnizate împreună cu sistemul de operare și oricine le poate folosi. Software-ul pentru sistemele încorporate, cum ar fi consolele de jocuri, se încadrează în general în categoria în care API-urile sunt integrate cu aplicația. În timp ce documentația oficială Playstation API poate fi o lectură interesantă, este aproape inutilă fără implementarea corespunzătoare sub forma unei biblioteci separate sau a unui kit pentru dezvoltatori.

Un API care nu necesită plata taxelor pentru acces și utilizare este denumit „deschis”. API-urile furnizate de software-ul gratuit , cum ar fi software-ul distribuit sub licența GPL , sunt deschise prin definiție, deoarece puteți accesa sursa software-ului și puteți înțelege cum funcționează. Chiar dacă există o „ implementare de referință ” pentru un API (cum ar fi Microsoft Windows pentru API-ul Windows ), nu există nimic care să împiedice crearea unei implementări alternative. De exemplu, majoritatea API-ului Windows poate fi furnizat pe un sistem Unix prin software-ul numit Wine .

În general, analiza implementării unui API pentru a produce unul compatibil este o încălcare a legii. Această tehnică se numește inginerie inversă . Situația juridică în aceste cazuri este ambiguă, deci este mai bine să abordăm problema înainte de a începe activitatea de inginerie inversă. De exemplu, un API poate conține el însuși un brevet .

Scop

Scopul este de a obține o abstracție de nivel superior, de obicei între hardware și programator sau între software de nivel scăzut și înalt , simplificând astfel munca de programare . De fapt, API permite programatorilor să evite rescrierea tuturor funcțiilor necesare programului de fiecare dată de la zero, adică de la un nivel scăzut, încadrându-se astfel în conceptul mai larg de reutilizare a codului . Prin urmare, API-urile în sine reprezintă un nivel intermediar de abstractizare: software-ul care furnizează un anumit API se numește implementare API.

Posix

Deoarece există multe variante de API, un proiect a fost creat în 1985 pentru a crea un standard. Familia care cuprinde aceste standarde ia numele de Posix (acronim pentru "Portable Operating System Interface for Unix"), al cărui nume a fost creat de Richard Stallman după solicitarea IEEE pentru un nume ușor de memorat.

Exemplu de utilizare

Vă puteți gândi la o aplicație care scrie cuvintele „ Hello world ” pe un ecran cu diferite niveluri de abstractizare:

  1. Scrieți totul singur:
    1. Desenați formele literelor H, e, l, l, o, W, o, r, l, d pe o foaie de hârtie.
    2. Pregătiți o matrice de pătrate alb-negru având forma fiecărei litere
    3. Vino cu o modalitate de a programa CPU - ul pentru a plasa această matrice în memoria tampon a plăcii video .
    4. Pregătiți placa video pentru a genera semnalul corect din conținutul bufferului de cadre .
  2. Utilizați un sistem de operare pentru a efectua o parte a sarcinii:
    1. Încărcați în memorie o structură de date numită „font” furnizată de sistemul de operare.
    2. Faceți ca sistemul de operare să afișeze o fereastră goală.
    3. Solicitați sistemului de operare să deseneze textul „Hello World” pe fereastră folosind fontul încărcat.
  3. Utilizați o aplicație (care la rândul său folosește sistemul de operare) pentru toate lucrările:
    1. Scrieți un document HTML care să conțină cuvintele „Hello World”.
    2. Deschideți documentul cu un browser web .

Evident, abordarea de la primul nivel necesită mulți pași și fiecare dintre aceștia este mult mai complex decât cei ai nivelurilor ulterioare. Un alt dezavantaj al primei abordări este că nu este practic să o utilizați dacă trebuie să afișați o anumită cantitate de informații pe ecran; cu a doua abordare operația este mult mai simplă, iar în a treia este suficient să scrieți „Hello World”. De obicei, utilizarea API-urilor de nivel superior implică o anumită pierdere de flexibilitate; de exemplu, poate fi foarte dificil la nivelul browserului web să rotiți textul cu margini intermitente în jurul unui punct, în timp ce această sarcină ar putea fi realizată cu ușurință la un nivel inferior. Această diferență este un exemplu tipic de compromis care poate fi întâlnit folosind un API.

Exemple API

Notă

  1. ^ În italiană „interfață de programare a aplicației”.
  2. ^ (EN) Tutorial: Apelarea API-urilor Windows (Visual Basic) , pe Docs.Microsoft.com, 20 iulie 2015. Accesat la 13 februarie 2019.

Elemente conexe

linkuri externe

Controlul autorității LCCN (EN) sh98004527 · GND (DE) 4430243-5 · BNF (FR) cb13337425v (data)