Api nedir
Api nedir (application programming interface) tətbiqi proqramlaşdırma interfeysi, proqramların bir-biri ilə qarşılıqlı əlaqəsini təmin edən metodlar, siniflər, kitabxanalar, funksiyalar toplusudur.
Bu inkişaf proqramçıların işini sadələşdirmək üçün yaradılmışdır. Əgər onu sadə sözlərlə müəyyən etməyə çalışsaq, API tətbiqlərin bir-biri ilə effektiv şəkildə qarşılıqlı əlaqədə olmasına imkan verən siniflər, funksiyalar, prosedurlar və standartlar toplusundan ibarət rahat bir vasitədir. Proqramçılar bu mexanizmdən müxtəlif sistemlər yaratmaq üçün istifadə edirlər.
API texnologiyaları harada istifadə olunur?
Sosial şəbəkələrdəki hesablar vasitəsilə tətbiqlərdə sürətli qeydiyyat. Facebook, VKontakte sosial şəbəkələrində və digər platformalarda xüsusi API protokolundan istifadə edərək istifadəçi öz hesabının avtorizasiyası vasitəsilə saytda tez qeydiyyatdan keçərək şirkətin məhsullarına sadələşdirilmiş girişdən istifadə etmək imkanı əldə edir.
Google. Bu sistem müxtəlif proqramların tərtibatçılarına giriş və məlumatları müxtəlif xidmətlər arasında inteqrasiya etmək imkanı vermək üçün proqramlaşdırma interfeysindən istifadə edir. Məsələn, YouTube platformasından bir videonu birbaşa tətbiqdə tapa və izləyə bilərsiniz.
Bitmiş məhsul kimi API təqdim etmək. Tərtibatçılar dünyanın istənilən yerində meteoroloji hesabatlar üzrə operativ məlumat əldə etmək üçün öz proqramlarına çıxış təklif edir və s.
Əsas API funksionallığı
API-nin populyarlığı onun istifadəsi asanlığı və funksionallığı ilə bağlıdır. Proqramçıya bu proqramlaşdırma interfeysinin daxili mexanizmlərini öyrənməyə ehtiyac yoxdur, sadəcə olaraq tətbiqləri vahid sistemdə birləşdirmək üçün ondan istifadə etmək kifayətdir.
API mexanizminin iş prinsipi eyni strukturla tabe komponentlərin yaradıldığı çoxsəviyyəli iyerarxiyanı təşkil etməkdir. Standart OSI şəbəkə modeli müəyyən sayda mərhələlərlə (ən azı 7) qurulur. Daxili səviyyələr HTTP, IMAP proqramları, fiziki tərcümə səviyyələri və s. olaraq təsnif edilir. Bu struktur interfeysə yuxarıları idarə etmək üçün aşağı API-lərin funksionallığından istifadə etməyə imkan verir.
İşin səmərəli təşkili üçün imzaların və semantikanın təsviri ilə funksiyalar və siniflər kitabxanaları yaradılır. Bu halda imza elementi müəyyən edən funksiya bəyannaməsinin bir hissəsidir. Müxtəlif proqramlaşdırma dillərindən istifadə etməklə təmsil oluna bilər və yenidən yükləmə imkanları müəyyən edilə bilər. Çağırış dillərini təsvir edərkən mütəxəssislər zəng imzalarını və müəyyən edilmiş funksiyaların həyata keçirilməsini ayırırlar. İmza faktiki arqument növlərinin əhatə dairəsi və ardıcıllığı nəzərə alınmaqla müəyyən edilir. Belə komponentlər kompilyatora C++ dili ilə işləyərkən funksiyaları tanımağa imkan verir. Bu, müəyyən bir sinfin üsuludursa, imza bu sinfin adına daxil edilir.
Funksiyanın semantikası onun hərəkətini və fəaliyyət prinsiplərini təsvir edir. Hesablamaların nəticəsini və onun alınmasının asılı olduğu xüsusiyyətləri təsvir edir. Yəni belə modellərdə nəticə təkcə arqumentlərdən deyil, həm də real vəziyyətdən asılıdır. Eyni zamanda, API bağlantısının məlumat qəbul etməyə imkan verməsi o qədər də vacib deyil.
Kitabxanalar proqramlar və proqramlar yazarkən, müştəri xidmətləri yaratarkən və s. istifadə olunur.
API növləri
API və ya digər məhsullara malik vebsayt hazırlanarkən müəyyən problemlərin həlli üçün uyğun olan interfeys növləri seçilir. Proqram interfeysləri funksiyalar, məqsəd, yerinə yetirilən tapşırıqlar və imkanların siyahısına görə təsnif edilir. Digər üsullardan istifadə etməklə eyni problemləri həll edə bilən standart məhsullar və alternativ həllər var.
Yerli problemləri həll etmək üçün hazırlanmış ayrı proqramlaşdırma dilləri olan qlobal məhsullar var. Proqram modullarının (wxWidgets, Qt, GTK və s.), əməliyyat sistemlərinin (Amiga ROM Kernel, POSIX, Linux Kernel API, Cocoa, OS/2 API, Windows API), səsin (DirectMusic) müxtəlif qrafik komponentlərini idarə etmək üçün məhsullar da mövcuddur. /DirectSound, OpenAL), pəncərə interfeysləri və s. Qrafik API-lər yüksək keyfiyyətli vizuallaşdırma ilə kompüter oyunlarında və müxtəlif proqramlarda təsvirlərin parlaqlığını və aydınlığını yaxşılaşdırmaq üçün nəzərdə tutulmuşdur. İnterfeys sistemi nə qədər mürəkkəb olsa, proqramla işləyərkən texniki çətinliklərin yaranma ehtimalı bir o qədər çox olar. Hansı problemlər yarana bilər:
- sistemdə API dəyişdirilərkən proqram kodlarının daşınmasında çətinliklər. Modulları başqa bir OS-yə köçürərkən belə çətinliklər yarana bilər;
- başqa bir tətbiqdə istifadə edildikdə (məsələn, daha yüksək idarəetmə səviyyəsinə malik sistemə keçərkən) məhsul funksiyalarının siyahısını daraltmaq. Müəyyən bir sinfin tipik tapşırıqları sadələşdirilir, lakin bəzi imkanlar itirilir (digər tənzimləyicilərə nəzarət etmək imkanı və s.). Yəni, əsas elementləri idarə etmək daha rahat və asan olur, lakin bəzi variantlar əlçatmaz olaraq qalır.
Bundan əlavə, texnologiyanın müxtəlif istifadəçilər üçün əlçatan olma dərəcəsini müəyyən edən API buraxılış siyasəti mövcuddur. Beləliklə, siyasətçilər fərqləndirirlər:
- Şəxsi - API yalnız daxili istifadə üçün nəzərdə tutulub;
- “Tərəfdaş” texnologiyaya girişin yalnız fərdi biznes tərəfdaşlarına təqdim edildiyini bildirir;
- İctimai - API açıqdır və hamı üçün açıqdır.
Axtarış motorlarının və veb mütəxəssislərinin API
Veb saytların proqramlaşdırılması və dizaynı ilə məşğul olan, eləcə də onların təşviqi ilə məşğul olan mütəxəssislər xüsusi Web API-dən istifadə edirlər. Bunlar bir sıra xüsusi HTTP sorğularını ehtiva edən interfeyslərdir. Belə sorğuları qəbul edərkən modul müəyyən strukturun HTTP cavablarını yaradır. Məlumat ötürmək üçün onların arasında XML və ya JSON formatlarından istifadə olunur. Bu proqramda Web API müvafiq interfeysləri olan proqramlar tərəfindən müəyyən edilən veb xidmətləri ilə sinonimdir. Bu modullara daxil olmaq üçün onlayn ünvanda onlayn identifikasiya prosedurundan keçməlisiniz. Yəni, məlumatı serverə ötürmək lazımdırsa, API ilə qarşılıqlı əlaqə üçün server modulundan istifadə etməlisiniz.
Tərtibatçılar xidmət yönümlü struktura əsaslanan proqram sistemləri qurduqda, veb xidməti modulların formalaşdığı təbəqədir. Bunlar hər bir istifadəçiyə tanış olan onlayn xidmətlərdir - e-poçt, fayl paylaşımı, sosial şəbəkə əlfəcinləri və s. Proqramın effektivliyini yoxlamaq üçün tərtibatçılar test interfeysi mexanizmini təqdim edirlər. Bu cür proqram sistemləri iş masası və ya mobil cihaz və ya brauzer növündən asılı olmayaraq öz məqsədlərini yerinə yetirə bilər.
Onlayn reklamda bir API nümunəsi Yandex.Direct istifadə edən bir tətbiqdir. Reklam kampaniyalarını qurmaq və daha effektiv idarə etmək üçün informasiyanın qarşılıqlı əlaqəsi vasitəsilə axtarış sisteminin optimallaşdırılması (SEO) parametrlərini təkmilləşdirməyə imkan verən xüsusi modullar yaradılır.
İnterfeys seçimini sadələşdirmək üçün tərtibatçılar onun məqsədini və əsas funksionallığını adına daxil etməyə çalışırlar (məsələn, bir istifadəçi üçün syngestureapisampleapp tətbiqi adlı API yaradılıb).
Optimal tətbiqi seçərkən veb ustaları Web 2.0 standartlarının geniş şəkildə qəbulundan sonra müşahidə olunan dəyişiklikləri nəzərə almalıdırlar. Yeniliklər SOAP-da strukturlaşdırılmış məlumatların mübadiləsi üçün protokollara aiddir (obyektlərə girişlə bağlı hesablama mühitində paylama). Bu protokollar sadələşdirilmiş memarlıq üslubuna endirildi. Böyük miqdarda məlumatı olan onlayn mağazalar və digər onlayn resurslar üçün bu, müəyyən hərəkətlərin yerinə yetirilməsi proseslərini sürətləndirməyə imkan verdi. Beləliklə, proqram seçərkən, tərtibatçı bütün əsas prosesləri avtomatlaşdırmaq üçün hansı interfeysdən istifadə etmək lazım olduğunu müəyyənləşdirir.
Sistemin ayrı-ayrı komponentləri bir-biri ilə serverlər və İnternet istifadəçiləri arasındakı əlaqələrə bənzər şəkildə qarşılıqlı əlaqədə olur. Vahid standartların olmamasına baxmayaraq, REST arxitekturasına əsaslanan sistemlər klassik HTTP, URL, JSON və XML modellərindən istifadə etməklə həyata keçirilir. Bu yanaşma tətbiqlərin funksionallığını əlavə etməyə və genişləndirməyə imkan verir.
Yorumlar
Yorum Gönder