For faster navigation, this Iframe is preloading the Wikiwand page for Lietojumprogrammas saskarne.

Lietojumprogrammas saskarne

Šajā rakstā ir pārāk maz vikisaišu. Lūdzu, palīdzi uzlabot šo rakstu, saliekot tajā saites uz citiem rakstiem. Diskusijā var parādīties dažādi ieteikumi. Vairāk lasi lietošanas pamācībā.
Šim rakstam ir nepieciešamas papildu atsauces uz ārējiem avotiem. Lūdzu, palīdzi uzlabot šo rakstu, pievienojot vismaz dažas atsauces. Diskusijā var parādīties dažādi ieteikumi. Vairāk lasi lietošanas pamācībā.Meklēt atsauces: "Lietojumprogrammas saskarne"ziņas · grāmatas · scholar · brīvi attēli

Lietojumprogrammas saskarne[1] (angļu: application programming interface, API) ir iepriekš definētu klašu, procedūru, funkciju, struktūru un konstanšu kopums, kas tiek pasniegts kā pielikums (bibliotēkas, servisi), kuru iespējams izmantot ārējiem programmatūras produktiem. Izmanto programmētāji, lai rakstītu dažādus programmu pielikumus.

API kā pielikumu integrācijas līdzeklis

API nosaka funkcionalitāti, kuru nodrošina programma (modulis, bibliotēka).

Ja programmu (moduli, bibliotēku) uztvert kā „melno kasti”, tad API – tā ir "svira", kas ir pieejama lietotājiem un ar kuru tie var šo kasti pārvaldīt.

Programmatūras komponentes mijiedarbojas cita ar citu izmantojot API. Pie tam komponentes parasti veido hierarhiju - augsta līmeņa komponentes izmanto zema līmeņa komponenšu API, un tās, savukārt, izmanto zemāka līmeņa komponenšu API.

Pēc šāda principa darbojas datu pārraides protokoli caur internetu. Standarta protokolu steks (tīkla modelis OSI) satur 7 līmeņus (sākot ar fizisko slāni bitu līmenī un beidzot ar protokolu pielikumu līmeni). Katrs slānis izmanto iepriekšējā līmeņa funkcionalitāti un nodrošina vēlamo funkcionalitāti nākamajam līmenim.

Jāatzīmē, ka protokolu koncepcija ir tuva pēc nozīmes jēdzienam API. Abi ir funkcionalitātes abstrakcija, tikai pirmajā gadījumā runa ir par datu pārraidi, bet otrajā par pielikumu mijiedarbību.

API funkciju un klašu bibliotēkas ietver iezīmju aprakstus un funkciju semantiku.

Funkciju iezīmes

Funkcijas iezīme - daļa no vispārējās funkcijas deklarācijas, kura ļauj pārraidīšanas rīkiem identificēt funkciju starp citām funkcijām. Dažādās programmēšanas valodās ir dažāda izpratne par funkciju iezīmēm, kas ir cieši saistīta ar iespējamo funkciju pārslodzi šajās valodās.

Dažreiz tiek izdalītas izsaukšanas iezīmes un realizēšanas iezīmes. Izsaukšanas iezīme parasti tiek veidota pēc izsaukuma funkcijas sintakses, ņemot vērā dotās funkcijas redzamības apgabalus, funkcijas nosaukums, faktisko argumentu secība un rezultāta tipu. Piemēram, C++ programmēšanas valodā vienkārša funkcija tiek atpazīta kompilatorā pēc tās vārda un tam sekojošajiem argumentiem, kas sastāda šīs funkcijas iezīmi šajā valodā.

Java programmēšanas valodā funkcijas iezīmi sastāda tās nosaukums un parametru tipu secība.

Funkcijas semantika

Funkcijas semantika - tas ir apraksts par to, ko šī funkcija dara. Funkcijas semantika ietver sevī aprakstu par to, kas tiek uzskatīts par funkcijas izpildes rezultātu, kā un no kā šis rezultāts ir atkarīgs. Parasti rezultāts ir atkarīgs tikai no funkcijas argumentu vērtībām, bet atsevišķos moduļos ir stāvokļa jēdziens - tad funkcijas rezultāts var būt atkarīgs no šī stāvokļa, un, turklāt, par rezultātu var kļūt šī stāvokļa izmaiņa. Šo atkarību un izmaiņu loģika attiecas uz funkciju semantiku. Pilnīgs funkcijas semantikas apraksts ir izpildāmās funkcijas kods vai funkcijas matemātiskā definīcija.

Operētājsistēmu API. Problēmas, kas saistītas ar API daudzveidību

Gandrīz visām operētājsistēmām (Unix, Windows, Mac OS uc) ir API, ar kura palīdzību programmētāji var izveidot pielikumus attiecīgajai operētājsistēmai. Galvenais operētājsistēmu API – tas ir daudzie sistēmas pieprasījumi.

Programmēšanas industrijā API standartam ir svarīga loma kopīgas funkcionalitātes nodrošināšanai, jo tie garantē, ka visas programmas, kuras izmanto kopējo API, strādās tikpat labi. Attiecībā uz API GUI, tas nozīmē, ka programmām būs līdzīgas lietotāju saskarnes, kas atvieglo jaunu programmatūras produktu apguvi.

No otras puses dažādu operētājsistēmu API atšķirības būtiski sarežģī pielikumu pārnešanu starp dažādām platformām. Eksistē dažāda veida risinājumi, kā risināt šo problēmu - uzrakstīt „starpposma” API (Qt, gtk, uc), bibliotēku uzrakstīšana, kuras pārveido vienas OS sistēma izsaukumus otras OS sistēmas izsaukumos (piemēram,Wine, cygwin uc), ieviešot kodēšanas standartus programmēšanas valodām (piem., standarta C valodas bibliotēka).

Jāatzīmē arī tas, ka programmētāja rīcībā bieži vien ir vairākas atšķirīgas API, kas ļauj sasniegt to pašu rezultātu. Turklāt katra API parasti tiek īstenota, izmantojot programmatūras zemāka līmeņa API komponenšu abstrakcijas.

Piemēram, lai pārlūkprogrammā ieraudzītu «Sveika, pasaule!» rindiņu, pietiek ar HTML dokumenta izveidi ar minimālu galveni un ķermeni, kas satur konkrēto teikumu. Kas notiek, kad pārlūkprogramma atver šo dokumentu? Pārlūkprogramma nodod šī faila nosaukumu bibliotēkai, kas apstrādā HTML dokumentus, kura, savukārt, ar operētājsistēmas API izlasa šo failu un pēc tam secīgi caur API izsauc standarta grafisko primitīvu operāciju bibliotēku, kas izpilda „ekrāna attīrīšanu” un teksta uzrakstīšanu izvēlētajā formātā (« Sveika, pasaule! »). Šo operāciju laikā standarta grafisko primitīvu operāciju bibliotēka vēršas pie loga saskarnes bibliotēkas ar attiecīgo pieprasījumu, šī bibliotēka jau ir vēršas pie operētājsistēmas API, lai ierakstītu datus video kartes buferī.

Tajā pašā laikā gandrīz katrā līmenī patiesībā eksistē vairākas iespējamās API alternatīvas. Piemēram, dokumentu var rakstīt nevis HTML, bet LaTeX valodā, teksta attēlošanai var izmantot jebkuru pārlūkprogrammu. Dažādas pārlūkprogrammas parasti izmanto dažādas HTML bibliotēkas, un, turklāt, to visu var apkopot, izmantojot dažādu primitīvu bibliotēkas un dažādas operētājsistēmas.

Galvenās problēmas, kas saistītas ar API daudzveidību ir:

  • Sarežģīta koda pārnešana no vienas API sistēmas uz citu (piemēram, mainot operētājsistēmas);
  • Funkcionalitātes zudums, pārejot no zemāka uz augstāku līmeni.

Izplatītākās API

Operētājsistēmu API

  • POSIX
  • Windows API
  • Cocoa
  • Linux Kernel API
  • OS/2 API
  • Amiga ROM Kernel

Grafisko saskarņu API

  • OpenGL
  • OpenVG
  • X11
  • Qt
  • GTK
  • Motiff
  • Tk
  • GDI
  • GDI+
  • Direct3D (daļa no DirectX)
  • DirectDraw (daļa no DirectX)
  • Zune
  • SDL

Skaņu pārvaldības saskarņu API

  • DirectSound (daļa no DirectX)
  • DirectMusic (daļa no DirectX)
  • OpenAL

Autentificēšanas sistēmu API

  • BioAPI
  • PAM

Web API

Tiek izmantots tīmekļa lapu izstrādē, un parasti tas ir HTTP pieprasījumu kopums, un HTTP atbilžu struktūras noteikšanas kopums, kas izmanto XML vai JSON formātus. «Web API» praktiski ir sinonīms Tīmekļa pakalpēm. Tīmekļa saskarnes, kas nodrošina vairāku servisu kombināciju jaunajos lietojumos tiek kvalificētas kā hibrīdi.

Atsauces

  1. «Lietojumprogrammas interfeiss». Termini.lza.lv. Skatīts: 2013. gada 7. maijā.
{{bottomLinkPreText}} {{bottomLinkText}}
Lietojumprogrammas saskarne
Listen to this article

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order to provide you with the best reading experience.
Please download and use one of the following browsers:

This article was just edited, click to reload
This article has been deleted on Wikipedia (Why?)

Back to homepage

Please click Add in the dialog above
Please click Allow in the top-left corner,
then click Install Now in the dialog
Please click Open in the download dialog,
then click Install
Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install
{{::$root.activation.text}}

Install Wikiwand

Install on Chrome Install on Firefox
Don't forget to rate us

Tell your friends about Wikiwand!

Gmail Facebook Twitter Link

Enjoying Wikiwand?

Tell your friends and spread the love:
Share on Gmail Share on Facebook Share on Twitter Share on Buffer

Our magic isn't perfect

You can help our automatic cover photo selection by reporting an unsuitable photo.

This photo is visually disturbing This photo is not a good choice

Thank you for helping!


Your input will affect cover photo selection, along with input from other users.

X

Get ready for Wikiwand 2.0 🎉! the new version arrives on September 1st! Don't want to wait?