API (Application Programming Interface) - Program - Cikkek Directory - progfile projekt
Egy alkalmazás programozási felület (néha Application Programming Interface) (angol Application Programming Interface, API [hé-pisi-ah].) - egy előre definiált osztályok, függvények, struktúrák és állandók az alkalmazás által biztosított (könyvtári szolgáltatás) való felhasználása során a külső szoftverek .
API, mint azt, hogy integrálja alkalmazások
API meghatározza funkcionalitást biztosít egy programot (modul könyvtár), és az API lehetővé teszi a tényről, hogy ez a funkció végrehajtását.
Ha a program (modul könyvtár) tartják, mint egy fekete doboz, az API - egy sor „dudorok” állnak rendelkezésre, hogy a felhasználó a doboz, akkor viszont, és húzza.
Szoftver komponensek egymással kommunikálni az API. Így jellemzően alkotnak hierarchiát alkatrészek - magas szintű alacsony szintű API komponenseket használja komponenst, és azok, viszont használja az alacsony szintű API még komponenseket.
Ezen elv szerint épülnek internetes kommunikációs protokollokat. Szabványos Internet protokoll (OSI hálózati modell) tartalmaz 7 szint (fizikai réteg csomag biteket az alkalmazási réteg protokoll, HTTP és hasonlók IMAP protokollokat). Mindegyik réteg használja a funkcionalitás a korábbi adatok szintjén, és viszont, biztosítja a kívánt funkciót a következő szintre.
Fontos megjegyezni, hogy a koncepció a protokoll közel jelentésű a koncepció API. És akkor, a másik pedig egy absztrakció a funkciót, de az első esetben beszélünk adatátvitel, és a második - az építési számítógépes alkalmazások.
API függvényeket és osztályokat tartalmaz egy leírást az aláírások és a szemantika funkciókat.
Például, a programozási nyelv C ++ függvény egyedülállóan egyszerű fordító azonosítjuk a neve és sorrendje típusú érveit, hogy egy aláírás funkció ezen a nyelven. Ha a függvény egy eljárás egy osztály, az aláírás lesz érintett és az osztály nevét.
A Java programozási nyelv módszer aláírásával az ő neve, és szekvencia paraméter típusokat; írja be az értékeket az aláírás nem vesz részt.
A szemantika funkciók - a leírása, amit a függvény. Szemantika funkciót tartalmaz egy leírást, hogy mi a funkciója miatt, mint az eredmény, amely függ. Általában teljesítmény eredmény attól függ, csak az értékek függvényargumentumok, de egyes egységek van fogalma az állam. Ezután az eredmény egy funkció attól az állapottól függ, és ezen túlmenően, az eredmény lehet egy változás a állapotban. A logika ezen összefüggések és a változtatásokat tesz a szemantika a funkciót. A részletes leírása a szemantika funkciók végrehajtható funkciók vagy matematikai definíciója funkciót.
API operációs rendszerek. A problémák az API sokféleség
Szinte az összes operációs rendszerek (Unix, Windows, Mac OS, és így tovább. D.) Van API, amely révén a fejlesztők alkalmazásokat építhetnek ehhez az operációs rendszerhez. A fő operációs rendszer API - egy sor rendszer hívásokat.
A szoftver teljes iparág szabványos API szabvány alkalmassága azért fontosak, mert biztosítja, hogy az összes program egy közös API, akkor ugyanolyan jól működnek, de legalábbis a tipikus megszokott módon. Abban az esetben, API GUI, ez azt jelenti, hogy a program lesz egy hasonló felhasználói felület, amely elősegíti az új szoftvert.
Másrészt, különbségek operációs rendszerek különböző API jelentősen akadályozná átviteli alkalmazások platformok között. Különböző módszerek vannak megkerülni ezt a nehézséget - írásban „köztes» API (API grafikus felületek Qt, GTK, stb ...), Az írás a könyvtárak, amelyek megjelenítik a rendszer kéri egy operációs rendszer kéri egy másik operációs rendszer (például végrehajtási környezet, mind a bor, cygwin és így tovább. o.), a bevezetése kódolási szabványok programozási nyelvek (például a szabványos C nyelv könyvtár), írásban értelmezett nyelvekhez végre a különböző platformokon (sh, python, perl, php, tcl, Java, és így tovább. d.)
Továbbá meg kell jegyezni, hogy a rendelkezésére álló programozó gyakran több különböző API, amely lehetővé teszi, hogy ugyanazt az eredményt elérni. Ahol minden egyes API jellemzően megvalósítható API szoftver komponensek alacsonyabb absztrakciós szinten.
Így gyakorlatilag minden szinten ténylegesen több lehetséges alternatív API-t. Például: írhatnánk az eredeti dokumentum nem a HTML és a LaTeX, akkor használja a böngésző megjeleníteni. A különböző böngészők általában különböző HTML-könyvtár, és ráadásul mindez lehet (általában) segítségével összegyűjtjük a különböző könyvtárak és primitívek különböző operációs rendszereken.
A fő nehézséget a meglévő API többszintű rendszer, tehát a következők:
A komplexitás a portolási szoftverkód egyik API egy másik rendszerbe (mint például OS változás);
A veszteség a funkcionalitás az átállás során alacsonyabb egy magasabb szintre. Nagyjából elmondható, hogy minden egyes „réteg» API jön létre végrehajtásának elősegítése egy szabványos műveleteket. De ez tényleg nehéz, vagy válik lényegében lehetetlen végezni néhány egyéb műveletek, amely alacsonyabb szintű API-t.
A legismertebb API
API operációs rendszerek
POSIX
windows API
kakaó
Linux Kernel API
OS / 2 API
Amiga ROM Kernel
API GUI
OpenGL
OpenVG
X11
Qt
GTK
Motiff
Tk
GDI
GDI +
Direct3D (részben DirectX)
DirectDraw (részben DirectX)
Zune
SDL
API audio interfészek
DirectSound (részben DirectX)
DirectMusic (részben DirectX)
OpenAL
API hitelesítési rendszerek
BioAPI
PAM