Aplikacijų programavimo sąsaja angl application programming interface API tai sąsaja kurią suteikia kompiuterinė sistema
Aplikacijų programavimo sąsaja

Aplikacijų programavimo sąsaja (angl. application programming interface, API) – tai sąsaja, kurią suteikia kompiuterinė sistema, ar programa tam, kad programuotojas per kitą programą galėtų pasiekti jos funkcionalumą ar apsikeistų su ja duomenimis.
Aprašymas
Viena iš pagrindinių API funkcijų – tai viešai pasiekiamų , klasių, apibrėžimas, kuriomis programuotojas gali pasiekti tam tikrą funkcionalumą, pavyzdžiui, nupiešti langą ekraną, naudojant tam skirtą . 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.
API modeliai
Egzistuoja įvairūs API dizaino modeliai. Sąsajos, kurios skirtos greitam vykdymui, paprastai sudarytos iš , , 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žia jam nesigilinti į žemesnio lygio abstrakcijas. Taip pačios API tobulinimas tampa paprastesnis, nesulaužant suderinamumo su kodu, kuris buvo parašytas remiantis šia API.
API publikavimo politika
Egzistuoja dvi pagrindinės API publikavimo politikos:
- Kai kurios kompanijos karštai gina savo API nuo viešo publikavimo. Pavyzdžiui, oficialų Sony PlayStation 2 API gali pamatyti tik licencijuoti programuotojai. Tai padaryta tam, kad Sony galėtų kontroliuoti žaidimų kūrėjus ir jų skaičių bei pasipelnyti iš licencijų pardavimo.
- Kitos kompanijos platina savo API laisvai. Pavyzdžiui, didžioji dalis Microsoft, Sun Microsystems sistemų API yra viešai prieinama.
- Jei API platinama laisvai, autoriai gali leisti arba drausti alternatyvių tos pačios API išpildymų kūrimą. Jei tai leidžiama, autoriai gali kelti įvairias papildomas sąlygas.
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ą.
Alternatyvios API
Nors dažniausiai egzistuoja tik viena konkrečios API realizacija, visada yra galimybė sukurti jai alternatyvią. Pavyzdžiu„i, GNU Classpath kuria Sun Microsystems alternatyvią atviro kodo java API. Pati Sun siūlo tos pačios java API išpildymą įvairioms operacinėms sistemoms (Windows, Linux). Didelė dalis Win32 API gali būti pasiekta UNIX sistemose, naudojant Wine programą.
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 (), ir tik tada ją galima oficialiai platinti kaip užbaigtą sistemą.
Keletas API pavyzdžių
Operacinių sistemų API
- Windows API
- POSIX
Grafinių sąsajų API
- GTK
- X11
- Swing
Nuorodos
- How to design a good API and why it matters (skaidrės anglų kalba)-PDF Archyvuota kopija 2011-09-03 iš Wayback Machine projekto.
Autorius: www.NiNa.Az
Išleidimo data:
vikipedija, wiki, lietuvos, knyga, knygos, biblioteka, straipsnis, skaityti, atsisiųsti, nemokamai atsisiųsti, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, pictu, mobilusis, porn, telefonas, android, iOS, apple, mobile telefl, samsung, iPhone, xiomi, xiaomi, redmi, pornografija, honor, oppo, Nokia, Sonya, mi, pc, web, kompiuteris, Informacija apie Aplikacijų programavimo sąsaja, Kas yra Aplikacijų programavimo sąsaja? Ką reiškia Aplikacijų programavimo sąsaja?
Aplikaciju programavimo sasaja angl application programming interface API tai sasaja kuria suteikia kompiuterine sistema ar programa tam kad programuotojas per kita programa galetu pasiekti jos funkcionaluma ar apsikeistu su ja duomenimis AprasymasViena is pagrindiniu API funkciju tai viesai pasiekiamu klasiu apibrezimas kuriomis programuotojas gali pasiekti tam tikra funkcionaluma pavyzdziui nupiesti langa ekrana naudojant tam skirta Kaip ir dauguma sasaju API yra abstrakcija Tiek zemo lygio tiek auksto lygio sasaja API apibrezia per auksto lygio sasaja Pavyzdziui beveik visos operacines sistemos turi savo API todel programuotojas gali parasyti jai programine įranga Kompiuterine programa gali o dazniausiai ir turi naudoti jos API ar kita API aprepiancia sia tam kad galetu valdyti atmintį failine sistema kitas operacines sistemos dalis Dauguma programu ir sistemu tipu kaip grafines sistemos web servisai ir netgi kai kurie zaidimai realizuoja savo aplikaciju programavimo sasaja Vieningos API naudojimas daznai reiskia panasia vartotojo sasaja taigi naudotojui lengviau prisitaikyti prie nauju programu Egzistuoja ir kita medalio puse Skirtingos operaciniu sistemu API apsunkina programu pernesamuma tarp skirtingu OS Siai problemai isspresti naudojami įvairus metodai nuo tarpiniu API sukurimo pvz GTK QT programavimo kalbu API standartizavimo standartine C biblioteka Java iki įvairiu interpretatoriu PHP python Paprastai programuotojas susiduria bent su keliomis skirtingomis API atliekanciomis ta pacia funkcija Jas galima atvaizduoti kaip medį kur zemiausias lygis yra pats sudetingiausias bet funkcionaliausias ir atvirksciai auksciausias yra parasytas zemesnio pagrindu supaprastintas ir lengviau ismokstamas taciau jis praranda ir dalį funkcionalumo kurį galetum pasiekti zemesniu lygiu API modeliaiEgzistuoja įvairus API dizaino modeliai Sasajos kurios skirtos greitam vykdymui paprastai sudarytos is ir duomenu strukturu Egzistuoja ir kiti modeliai pavyzdziui interpretatorius kuris įvertina reiskiniu reiksmes JavaScript kalboje ar abstrakcijos lygyje kas palengvina programuotojo darba leidzia jam nesigilinti į zemesnio lygio abstrakcijas Taip pacios API tobulinimas tampa paprastesnis nesulauzant suderinamumo su kodu kuris buvo parasytas remiantis sia API API publikavimo politikaEgzistuoja dvi pagrindines API publikavimo politikos Kai kurios kompanijos karstai gina savo API nuo vieso publikavimo Pavyzdziui oficialu Sony PlayStation 2 API gali pamatyti tik licencijuoti programuotojai Tai padaryta tam kad Sony galetu kontroliuoti zaidimu kurejus ir ju skaiciu bei pasipelnyti is licenciju pardavimo Kitos kompanijos platina savo API laisvai Pavyzdziui didzioji dalis Microsoft Sun Microsystems sistemu API yra viesai prieinama Jei API platinama laisvai autoriai gali leisti arba drausti alternatyviu tos pacios API ispildymu kurima Jei tai leidziama autoriai gali kelti įvairias papildomas salygas API kurios nereikalauja autoriu honoraro vadinamos atvirosiomis API kuria suteikia atviro kodo programos pavyzdziui isleistos pagal GNU GPL licencija yra atviros pagal apibrezima nes kiekvienas gali paziuret į programos koda ir perprasti ja Alternatyvios APINors dazniausiai egzistuoja tik viena konkrecios API realizacija visada yra galimybe sukurti jai alternatyvia Pavyzdziu i GNU Classpath kuria Sun Microsystems alternatyvia atviro kodo java API Pati Sun siulo tos pacios java API ispildyma įvairioms operacinems sistemoms Windows Linux Didele dalis Win32 API gali buti pasiekta UNIX sistemose naudojant Wine programa Taciau net salyse kur programines įrangos patentai negalioja API gali buti apsaugotos paprastomis autoriu teisemis Todel pries kuriant alternatyva aiskinamasi kokias salygas kelia autoriai ir ar apskritai jie su tuo sutinka Pavyzdziui Sun Microsystems Java alternatyva turi buti sukurta be nukrypimu negalima nei deti papildomu funkciju nei salinti atrodanciu nereikalingomis Uzbaigta alternatyvi API turi buti patikrinta pacios Sun parengtais testais ir tik tada ja galima oficialiai platinti kaip uzbaigta sistema Keletas API pavyzdziuOperaciniu sistemu API Windows API POSIXGrafiniu sasaju API GTK X11 SwingNuorodosHow to design a good API and why it matters skaidres anglu kalba PDF Archyvuota kopija 2011 09 03 is Wayback Machine projekto