API: Skirtumas tarp puslapio versijų

Iš Žinynas.
Jump to navigation Jump to search
S
 
(Jokio skirtumo)

Dabartinė 04:59, 20 birželio 2006 versija

Aplikacijų programavimo sąsaja (angl. Application Programming Interface, API) - tai sąsaja, kurią suteikia kompiuterinė sistema, biblioteka ar programa tam, kad programuotojas per kitą programą galėtų pasiekti jos funkcionalumą ar apsikeistų su ja duomenimis.

Viena iš pagrindinių API funkcijų, tai viešai pasiekiamų funkcijų, klasių, metodų apibrėžimas, kuriomis programuotojas gali pasiekti tam tikrą funkcionalumą, pavyzdžiui, nupiešti langą ekrane, naudojant tam skirtą biblioteką. Kaip ir dauguma sąsajų, API yra abstrakcija. Tiek žemo lygio, tiek aukšto lygio sąsają API apibrėžia per aukšto lygio sąsają.

Pavyzdžiui, beveik visos operacinės sistemos turi savo API, todėl programuotojas gali parašyti jai programinę įrangą. Kompiuterinė programa gali, o dažniausiai ir turi naudoti jos API (ar kitą API, aprėpiančią šią) tam, kad galėtų valdyti atmintį, failinę sistemą kitas operacinės sistemos dalis. Dauguma programų ir sistemų tipų, kaip grafinės sistemos, web servisai ir netgi kai kurie žaidimai realizuoja savo aplikacijų programavimo sąsają. Vieningos API naudojimas dažnai reiškia panašią vartotoją sąsają, taigi naudotojui lengviau prisitaikyti prie naujų programų.

Egzistuoja ir kita medalio pusė. Skirtingos operacinių sistemų API apsunkina programų pernešamumą tarp skirtingų OS. Šiai problemai išspręsti naudojami įvairūs metodai: nuo "tarpinių" API sukūrimo (pvz.: GTK, QT), programavimo kalbų API standartizavimo (standartinė C biblioteka, Java), iki įvairių interpretatorių (PHP, python).

Paprastai programuotojas susiduria bent su keliomis skirtingomis API, atliekančiomis tą pačią funkciją. Jas galima atvaizduoti kaip medį, kur žemiausias lygis yra pats sudėtingiausias, bet funkcionaliausias ir atvirkščiai, aukščiausias yra parašytas žemesnio pagrindu, supaprastintas ir lengviau išmokstamas, tačiau jis praranda ir dalį funkcionalumo, kurį galėtum pasiekti žemesniu lygiu.