(Interfață de programare a aplicațiilor) Api - Program - Articole Director - proiect progfile

O interfață de programare a aplicațiilor (uneori Application Programming Interface) (engl Application Programming Interface, API [hei-Pee-ah].) - un set de clase predefinite, funcții, structuri și constante furnizate de aplicație (serviciu de bibliotecă) pentru utilizarea sa în produsele software externe .

API-ul ca un mijloc de a integra aplicații

API definește funcționalitatea care oferă un program (bibliotecă de modul), iar API-ul vă permite să ignorați faptul, că este această funcționalitate este implementată.

Dacă programul (bibliotecă modul) este considerată ca o cutie neagră, API - un set de „butoane de“ care sunt disponibile pentru utilizator a casetei, se poate transforma și trage.

Componentele software comunica unele cu altele prin intermediul API. Astfel formează în mod tipic o ierarhie componente - componente API de nivel scăzut nivel înalt folosesc componente, iar cele care, la rândul său, utilizați low-level API chiar mai multe componente.

Conform acestui principiu sunt construite pe protocoale de comunicare pe Internet. Standard Protocol Internet (model de rețea OSI) conține 7 nivele (pachete de biți strat fizic la protocolul de aplicare strat, HTTP și protocoalele IMAP, cum ar fi). Fiecare strat utilizează funcționalitatea nivelului de date anterior și, la rândul său, asigură funcționalitatea dorită a nivelului următor.

Este important de remarcat faptul că noțiunea de protocolul este aproape în sensul conceptului de API. Și apoi, iar altul este o abstractizare a funcționalității, dar în primul caz este vorba despre transferul de date, iar al doilea - la construirea de aplicații informatice.

funcții de bibliotecă API și clase include o descriere a semnăturilor și a funcțiilor semantica.

De exemplu, în limbajul de programare C ++ funcție este unic compilator simplu este identificat prin nume și secvență a tipurilor sale de argumentele sale, care este o caracteristică semnătură în această limbă. Dacă funcția este o metodă de o clasă, semnătura va fi implicată și numele clasei.

În Java metoda de limbaj de programare semnătura este numele lui, și tipurile de parametri de secvență; Valorile de tip în semnătură nu este implicat.

Semantica funcțiilor - o descriere a ceea ce face funcția. Funcția Semantica include o descriere a ceea ce este rezultatul funcției ca rezultat al care depinde. De obicei, rezultatul de performanță depinde numai de valorile argumentelor funcției, dar în unele unități există conceptul de stat. Apoi, rezultatul unei funcții poate depinde de starea, și, în plus, rezultatul poate fi o schimbare în starea. Logica acestor relații și schimbările legate de semantica unei funcții. O descriere completă a semanticii funcții este funcții executabile sau definirea matematică a funcției.

sisteme de operare API. Problemele asociate cu diversitatea API

Aproape toate sistemele de operare (Unix, Windows, Mac OS, și așa mai departe. D.) Au API, prin care dezvoltatorii pot construi aplicatii pentru acest sistem de operare. Principalul sistem de operare API - un set de apeluri de sistem.

În industria de software global API standard pentru funcționalitate standard, sunt importante, deoarece acestea asigură că toate programele care utilizează un API comun, va funcționa la fel de bine, sau cel puțin tipic mod obișnuit. În cazul API GUIs, acest lucru înseamnă că programul va avea o interfață de utilizator similar care facilitează dezvoltarea de noi produse software.

Pe de altă parte, diferențele dintre sistemele de operare de diferite API împiedică în mod semnificativ cererile de transfer între platforme. Există mai multe metode evită anumite această dificultate - scriere „intermediar» API (API de interfete grafice Qt, GTK, etc ...), Scrierea bibliotecilor pe care sistemul de afișare solicită un sistem de operare apelează un alt sistem de operare (de exemplu mediu de execuție, atât de vin, Cygwin și așa mai departe. p.), introducerea standardelor de codificare în limbaje de programare (de exemplu, standardul C biblioteca limba), scriere interpretate de limbi puse în aplicare pe diferite platforme (sh, Python, Perl, PHP, Tcl, Java, și așa mai departe. d.)

De asemenea, trebuie remarcat faptul că dispoziția programator este de multe ori un număr de diferite API, care permite pentru a obține același rezultat. În care fiecare API este pus în aplicare în mod obișnuit cu ajutorul componentelor software API ale unui nivel mai scăzut de abstractizare.

Astfel, practic, la fiecare nivel de fapt, există mai multe posibile API alternative. De exemplu: am putea scrie documentul original nu este în HTML, și LaTeX, ar folosi orice browser pentru a afișa. Diferite browsere utilizează în general diferite HTML-bibliotecă, și, în plus, toate acestea pot fi (în general) sunt colectate folosind o varietate de biblioteci și primitivelor pe diferite sisteme de operare.

Principalele dificultăți ale sistemelor pe mai multe niveluri API existente, prin urmare, sunt:
Complexitatea codului software-ului de portare de la un API la un alt sistem (de exemplu, schimbarea sistemului de operare);
Pierderea funcționalității în timpul tranziției de la inferior la un nivel superior. Aproximativ vorbind, fiecare „strat» API-ul este creat pentru a facilita punerea în aplicare a unui set standard de operațiuni. Dar într-adevăr este dificil sau devine în mod esențial imposibilă efectuarea unor alte operații, care oferă un nivel mai scăzut API.

Cel mai bine-cunoscut API


Sisteme de operare API
POSIX
API Windows
cacao
Linux Kernel API
OS / 2 API
Amiga ROM Kernel

API-ul GUI
OpenGL
OpenVG
X11
Qt
GTK
Motiff
tk
GDI
GDI +
Direct3D (o parte din DirectX)
DirectDraw (o parte din DirectX)
Zune
SDL

interfețe API-ul audio
DirectSound (o parte din DirectX)
DirectMusic (o parte din DirectX)
OpenAL

Sisteme de autentificare API
BioAPI
PAM

articole similare