Menü Kapat

Proqramlaşdırmada bir proqram interfeysi (APİ)-proqramları yaratmaq üçün lazım olan  proqram anlayışıları,kommunikasiya protokolları və vasitələrindən ibarətdir. Ümumiyyətlə müxtəlif komponentlər arasında aydın şəkildə müəyyən edilmiş kommunikasiya methodlarıdır. Yaxşı bir APİ daha sonra proqramçı tərəfindən bir araya gətirilərək bütün bina bloklarını təmin edərək kompüter proqramını inkşaf etdirməyi asanlaşdırır.APİ bir veb əsaslı (web-based) sistem,əməliyyat sistemi (Operating System),verilənlər bazası sistemi (database system) kompüterin hardware və ya software (proqram təminatı) kitabxanası ola bilər. APİ spesifikasiyası bir çox forma ala bilər,lakin o tez-tez rutinlər,məlumat strukturları,obyekt sinifləri,dəyişənlər və ya uzaq zənglər üçün olan spesifikasiyaya daxil ola bilir. POSİX,Windows APİ və  ASPİ fərqli APİ formalara daxil ola bilir.

Bir APİ ümumiyyətlə bir proqram kitabxanası ilə bağlıdır. Tək bir APİ eyni proqramlaşdırma interfeysini bölüşən müxtəlif kitabxanalar şəklində bir çox tətbiqə malikdir. API-nin bir dildən ayrılması- bir dildə yazılmış proqramlar digərində yazılmış kitabxanadan istifadə etmyə imkan verə bilər. Məsələn, Scala ve Java uyğun bytecode tərtib etmək üçün,Scala developers hər hansı bir Java APİ istifadə edə bilər.

APİ istifadəsi tətbiq olunan proqramlaşdırma dilinin növündən asılı olaraq dəyişə bilər.Lua kimi prosessual bir dil üçün APİ ilk növbədə kodu icra etmək,məlumatların idarə edilməsi və ya səhvlərin idarə edilməsi üçün əsas rutinlərdən ibarət ola bilər. Java kimi obyekt yönümlü bir dil üçün  APİ isə siniflərin və onların sinif methodlarının dəqiqləşdirilməsini təmin edəcəkdir.

API tətbiqi və əməliyyat sistemi arasındakı interfeysi müəyyən edə bilər. Məsələn bir POSIX uyğun işləyən sistem üçün yazılmış bir tətbiqin digər POSIX uyğun əməliyyat sistemi üçün tərtib edilməsini təmin etmək məqsədi ilə bir sıra ümumi API’lər müəyyən edir. Linux və Berkeley Software Distribution,POSIX API’lərini tətbiq edən əməliyyat sistemlərinin nümunələridir.

Uzaq API’lər (Remote APIs)

Uzaq API-lər developerlərə uzaqdan resusrları protokollarla,fərqli texnologiyaların dil və ya platformadan asılı olmayaraq birlikdə çalışmasına imkan verən ünsiyyət üçün müəyyən standartlar vasitəsilə manupulyasiya etməyə imkan verir. Java verilənlər bağlantısl API, developerlərə bir çox müxtəlif növ verilənlər bazası sorğulamaqlarına imkan verir,eyni zamanda Java remote method invocation API uzaqdan fəaliyyət göstərən funksiyaların çağırılmasına imkan verən Java Remote Method Protocol istifadə edir.Buna görə də uzaq API-lər obyekt yönümlü proqramlaşdırmada obyektin soyudulmasını təmin etməkdə faydalıdır.

Web API-ləri (Web APIs)

Web API- ləri bir müəssisə və onu istifadə edən proqramçılar arasında olan qarşılıqlı əlaqələrdir,bu da funksional təminatçının göstərilməsi və onun API istifadəçiləri üçün xidmət yolunu və URL-lərini göstərmək üçün bir Service Level Agreement (SLA) müxtəlif istelakçılara xidmət edən müxtəlif proqramlara bir sira proqram interfeysi təmin etmək ətrafında dönən bir memarliq anlayışıdır. Veb inkşaf konteksində istiifadə edildikdə,bir API adətən Hypertext Transfer Protocol(HTTP) sorğu mesajları kimi bir sıra xüsusiyyətləri müəyyənləşdirir.

API-lər texnologiya şirkətlərinin bir-biri ilə inteqrasiya etdiyi ən ümumi üsullardan biridir. API təmin edən və istifadə edənlər iş ekosisteminin üzvü hesab edilirlər.

API azadlığının əsas siyasətləri aşağıdakılardır:

Şəxsi: API yanliz daxili sirkətlərin istifadəsi üçün nəzərdə tutulub

Partner: Yanliz xüsusi iş ortaqları API istifadə edə bilər. Məsələn,Uber və Lyft kimi avtomobil xidmət şirkətləri təstiqlənmiş üçüncü tərəfin hazırladıqları proqramları birbaşa sifariş etməyə icazə verirlər.

İctimai:API istifadə üçün istifadə edilə bilər. Məsələn,Microsoft şirkəti  Microsoft Windows API-ni ictimaiyyətə  təqdim edir və Apple onun platformaları üçün yazılı şəkildə yazılmaq üçün APİ-lərin Carbon və Cocoa-ni buraxır.

Application Programming İnterface (API)-lər aşağıdakılardır:

•SCSI cihaz interfeysi üçün AsPI

•Macintosh üçün Cocoa və Carbon

•Microsoft Windows üçün DirectX

•EHLLAPI

•Java APIs

•Microsoft Windows üçün ODBC

•OpenAL cross-platform sounnd API

•CPU və GPU-lar üçün ümumi məqsədli hesablama üçün OpenCL cross-platform API

•OpenGL cross-platform qrafik API

•Unix və Microsoft platformaları daxil olmaqla bir çox memarlıqda C,C++ və Fortran-da multi-platform paylaşılan yaddaş multiprocessing proqramlaşdırmağı dəstəkləyən OpenMP API.

•Sadə DirectMedia Layer(SDL)