Versija 11 nuo 2014-11-16 19:16:52

Išvalyti žinutę
Locked History Actions

Application Programing Interface

Žodis angliškai

Application Programming Interface

Santrumpa

API

Žodis Lietuviškai

Aplikacijų programavimo sąsaja


Apibrėžimas

API- sąsaja, kurią suteikia operacinė sistema, biblioteka ar programa naujų taikomųjų programų ar objektų kurimui.


Paaiškinimai

  • Viena iš pagrindinių API savybių, tai atvirai pasiekiamų funkcijų, klasių, metodų pibrėžimas, kuriomis programuotojas gali atlikti tam tikrą veiksmą, pavyzdžiui, nupiešti langą, ekraną, naudojant tam skirtą biblioteką. Programiniai komponentai bendrauja tarpusavyje API pagalba sudarydami tam tikrą hierarchinį ryšį- aukštojo lygmens komponentai audoja žemesiniojo lygmens komponentų API, o pastarieji naudoja dar žemesnio lygmens komponentu API. 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 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ž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.

Kas yra API?

Programų kūrimo 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. Ši technologija nėra tokia jau ir nauja. Paimkim kaip pavyzdį stacionarų kompiuterį su Windows operacine sistema. Juk API dėka yra įmanoma programoms keistis informacija tarpusavyje. Pavyzdžiui kuomet kokia nors teksto ar lentelės dalis iš „Word“ programos yra nukopijuojama į „Excel programą“. Sistemos lygio API leidžia programos kaip „Word“ ir „Excel“ veikti virš operacinės sistemos. Juk iš pradžių užkraunama yra operacinė sistema, o paskui jau jungiamos visos kitos programos. Tačiau kalbant apie web-aplikacijas, programinės įrangos kompanija išleidžia savo API tam, kad programinės įrangos kūrėjai galėtų projektuoti savo programas ar aplikacijas remiantis jų paslauga.

Pavyzdžiui Amazon.com išleido savo API tam, kad interneto tinklapių ar mobiliųjų aplikacijų kūrėjai galėtų lengviau pasiekti informaciją apie Amazon.com tinklapyje esančius produktus. Naudodama Amazon API trečios partijos (third party) tinklapis ar aplikacija gali skelbti tiesiogines nuorodas su Amazon produktų atnaujintom kainom ir galimybę pirkti produktą.

Aplikacijų programavimo sąsaja (API) yra programinės įrangos su programinės įrangos sąsaja (software-to-software), o ne vartotojo sąsaja. Su API programos ar aplikacijos bendrauja tarpusavyje be jokios vartotojo žinios ar įsikišimo. Kuomet jūs perkate krepšinio rungtynių bilietus internete ir įvedate savo kreditinės kortelės informaciją, bilieto pardavimo tinklapis ar aplikacija naudoja API, kad išsiųstų jūsų kreditinės kortelės informaciją į nuotolinį tinklapį ar aplikaciją, kurie patvirtina ar įvesti duomenys yra teisingi. Kuomet apmokėjimas yra patvirtintas nuotolinė aplikacija ar tinklapis siunčia patvirtinimą atgal į bilieto pardavimo tinklapį ar aplikaciją sakydama, jog bilietus galima išduoti.

Kaip vartotojai mes matome tik tinklapio ar aplikacijos grafinę sąsają, kitaip tariant „interfeic‘ą“. Tačiau mums to nematant aplikacijos dirba tarpusavyje naudodamos API. Tokio tipo integravimas yra vadinimas vientisu, kadangi vartotojas niekada nemato kaip programinės įrangos funkcijos yra perduodamos iš vienos aplikacijos į kitą.

API primena programinę įrangą kaip paslaugą (angl. Software as a Service, SaaS), nes programinės įrangos kūrėjams nereikia kiekvieną kartą pradėti rašyti kodą nuo nulio. Vietoj to, kad parašyti vieną programą, kuri bandytų daryti viską – el. paštą, atsiskaitymas pinigais, sekimas ir t.t., aplikacija gali naudotis nuotolinėmis paslaugomis, kurios užtikrina kokybišką aptarnavimą, iš kurių kiekvieną atliks tik vieną funkciją, tą, kurią išmano geriausiai.

Paimkime dar vieną pavyzdį su tinklo konferencijomis. Tinklo konferencijos yra SaaS, kadangi ji gali būti pasiekta pagal pareikalavimą naudojant tiktai interneto puslapį. Su konferencijų API ta pati užsakomoji paslauga gali būti integruota į kitą tinklų paremtą aplikaciją, kaip tinklo kalendorius. Vartotojas gali nustatyti tinklo konferenciją savo tinklo kalendoriuje ir paskui paspausti ant nuorodos toje pačioje programoje, kad įjungtų konferenciją. Pati kalendoriaus programa nepriima ir nevykdo konferencijos. Ji naudoja konferencijų API, kad bendrautų su nuotoline tinklo konferencijos paslauga ir vientisai pristato tą funkcionalumą vartotojui.

Kaip dirba API?

Programų kūrimo sąsaja (API) leidžia programinės įrangos aplikacijoms komunikuoti su nuotolinėmis aplikacijomis internetu siunčiant užklausas. API iš esmės sąsaja, kuri apibrėžia kokiu būdu tarpusavyje gali bendrauti dvi aplikacijos. 1 paveiksliuke parodyta paprasta API veikimo schema.

[PRIDĖTI]

1 pav. API veikimo schema

Naudota literatūra

http://ru.wikipedia.org/wiki/API

http://en.wikipedia.org/wiki/API