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ą ekraną, 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ą vartotojo 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.
Egzistuoja įvairūs API dizaino modeliai. Sąsajos, kurios skirtos greitam vykdymui paprastai sudarytos iš funkcijų, procedūrų, kintamųjų ir duomenų struktūrų. Egzistuoja ir kiti modeliai, pavyzdžiui, interpretatorius, kuris įvertina reiškinių reikšmes JavaScript kalboje ar abstrakcijos lygyje, kas palengvina programuotojo darbą, leidžiant jam nesigilinti į žemesnio lygio abstrakcijas. Tai įgalina ir pačios API paprastesnį tobulinimą, nesulaužant suderinamumo su kodu, kuris buvo parašytas ja remiantis.
Egzistuoja dvi pagrindinės API publikavimo politikos:
API, kurios nereikalauja autorių honoraro, vadinamos "atvirosiomis". API, kurią suteikia atviro kodo programos (pavyzdžiui, išleistos pagal GNU_GPL licenciją), yra atviros pagal apibrėžimą, nes kiekvienas gali pažiūrėt į programos kodą ir perprasti ją.
Tačiau net šalyse, kur programinės įrangos patentai negalioja, API gali būti apsaugotos paprastomis autorių teisėmis. Todėl prieš kuriant alternatyvą, aiškinamasi, kokias sąlygas kelia autoriai ir ar apskritai jie su tuo sutinka. Pavyzdžiui, Sun Microsystems java alternatyva turi būti sukurta be nukrypimų (negalima nei dėti papildomų funkcijų, nei šalinti atrodančių nereikalingomis). Užbaigta alternatyvi API turi būti patikrinta pačios Sun parengtais testais (TCK), ir tik tada ją galima oficialiai platinti kaip užbaigtą sistemą.
API | API | API | API | Programmierschnittstelle | Application programming interface | Application Programming Interface | API | Ohjelmointirajapinta | Interface de programmation | API | Application Programming Interface | Alkalmazásprogramozási felület | API | Application programming interface | Application Programming Interface | API | Application Programming Interface | API | API (informatyka) | API | Интерфейс программирования приложений | Application Programming Interface | API | API | Giao diện lập trình ứng dụng | 应用程序编程接口
This article is licensed under the GNU Free Documentation License.
It uses material from the
"Aplikacijų programavimo sąsaja".
Home Page • arts • business • computers • games • health • hospitals • home • kids & teens • news • physicians • recreation• reference • regional • science • shopping • society • sports • world