TAJPORTAL.SITE

API чист ва он чӣ гуна кор мекунад

API чист

API (англ. Application Programming Interface интерфейси барномавии барнома) ин маҷмӯи усулҳо ва қоидаҳоест, ки барномаҳои гуногун байни худ муошират мекунанд ва маълумотро мубодила мекунанд.

Ҳамаи ин ҳамкориҳо тавассути функсияҳо, синфҳо, усулҳо, сохторҳо ва баъзан доимии як барнома, ки дигарон ба он муроҷиат мекунанд, ба амал меоянд. Ин принсипи асосии КОРИ API мебошад.

Биеед бигӯем, ки шумо бо корти бонкӣ чиптаи филм мехаред. Ҳангоми харид, терминал БА api-и бонк, ки корти шуморо баровардааст, муроҷиат мекунад ва дархости пардохтро мефиристад. Ва агар шумо тавассути барнома таксӣ фармоиш диҳед, он ба системаи пардохт тавассути API низ муроҷиат мекунад.

Интерфейси нармафзор ба шартномаи байни муштарӣ ва фурӯшанда монанд аст. Танҳо муштарӣ барномаест, ки ба маълумот ниез дорад ва фурӯшанда сервер е захираест, ки мо ин маълумотро аз он мегирем. Чунин шартнома шартҳои он, ки муштарӣ чӣ гуна ва кадом маълумотро гирифта метавонад, муқаррар мекунад.

API қариб дар ҳама ҷо пайдо мешавад:

  • Дар забонҳои барномасозӣ, он ба функсияҳо барои муоширати дуруст бо ҳамдигар кӯмак мекунад. Функсияи даъваткунанда бояд намуди маълумот ва пайдарпаии параметрҳои функсияи даъватшударо риоя кунад.
  • Дар системаи оператсионӣ, он ба барномаҳо барои гирифтани маълумот аз хотира е тағир додани танзимоти OS кӯмак мекунад. Аз ин рӯ, барои таҳияи барномаҳо барои системаи амалиетии мушаххас, ШУМО БОЯД API-и ОНРО донед.
  • Дар веб, хидматҳо бо ҳамдигар тавассути интерфейси нармафзор муошират мекунанд. АГАР API кушода бошад, пас ҳуҷҷатҳои расмии кор бо ОН аз ҷониби эҷодкунандагони хидмат-манбаъ нашр карда мешаванд. Масалан, ҳуҷҷатҳои Telegram чунин ба назар мерасанд.

Гарчанде ки ин истилоҳ хеле васеъ аст, аксар вақт дар ҷойҳои холӣ сухан дар бораи варианти сеюм меравад.

Чаро API-ро интерфейс меноманд

Интерфейс сарҳади байни ду системаи функсионалӣ мебошад, ки дар он ҳамкорӣ ва мубодилаи иттилоот сурат мегирад. Дар ин ҳолат равандҳои дохили ҳар як система аз ҳамдигар пинҳон карда мешаванд.

Бо истифода аз интерфейс, имкониятҳои системаҳои гуногунро бидуни андеша дар бораи он, ки онҳо дархостҳои моро чӣ гуна коркард мекунанд ва “дар зери капот”чӣ доранд, истифода бурдан мумкин аст. Масалан, барои занг задан ба шумо лозим нест, ки бидонед, ки смартфон чӣ гуна кликҳои экрани сенсориро идора мекунад. Танҳо муҳим аст, ки дар гаҷет “тугма” мавҷуд аст, ки ҳамеша натиҷаи якхеларо дар посух ба амалҳои муайян бармегардонад.

Ба ҳамин монанд, бо ИСТИФОДА аз ЗАНГҲОИ API, вазифаҳои муайяни барномаро бидуни донистани он ки чӣ гуна кор мекунад, иҷро кардан мумкин аст. АЗ ИН РӮ, API интерфейси номида мешавад.

ЧӢ ГУНА API ба навиштани барномаҳои боэътимод кӯмак мекунад

Мо одатан намедонем, ки барномаҳо дар дохили он чӣ гуна сохта шудаанд. Аммо, мо баъзан ба он аҳамият намедиҳем, ки онҳо чӣ гуна кор мекунанд. Аз ин рӯ, татбиқи барномавӣ “қуттии сиеҳ” номида мешавад ва дар паси якчанд сатҳҳои абстраксия пинҳон карда мешавад, то корбарон онҳоро бароҳат истифода баранд.

Сатҳи абстраксия раванди рушдро хеле метезонад, зеро барномасоз метавонад функсияҳои API-и тайерро дар барномаҳои дигар истифода барад. Ин як таҷрибаи маъмул аст. Масалан, аксари системаҳои оператсионӣ API-ҲОИ худро ба барномаҳои дигар пешниҳод мекунанд, то онҳо имконият пайдо кунанд:

  • бо системаи файлӣ кор кунед;
  • графикаро кашед;
  • маълумотро нигоҳ доред;
  • имкониятҳои шабакаро истифода баред;
  • навозиши аудио ва ғайра.

Windows, Linux е macOS худашон муайян мекунанд, ки кадом функсияҳоро даъват кардан лозим аст ва барои иҷрои ин е он амал кадом параметрҳоро интиқол додан лозим аст. Ҳамаи ин дар ҳуҷҷатҳои API, ки таҳиягарони барномаҳои дигар бо ОН кор мекунанд, тавсиф карда мешавад.

Агар баъзе API барои роёниши абрӣ ҳангоми истихроҷи решаҳои квадратӣ тезтар шавад, пас ҳамаи барномаҳое, ки онро истифода мебаранд – аз ҳисобкунакҳои онлайн то шабакаҳои нейронӣ – низ зудтар кор мекунанд.

Чаро APIҳо дар байни барномасозон ин қадар маъмуланд?

Интерфейси барномавии хидматҳо ва китобхонаҳо ба таҳиягарон имкон медиҳад, ки чархро аз нав ихтироъ накунанд. Чаро код нависед, вақте ки шумо метавонед як коди тайёрро истифода баред?

Инҳоянд қобилиятҳое, ки API пешниҳод мекунад:

  • Дастрасиро ба асбобҳои тайёр таъмин менамояд. Масалан, функсияҳои китобхонаи омӯзиши мошинҳои TensorFlow – онҳо ба шумо кӯмак мекунанд, ки шабакаи нейронро зуд эҷод кунед, бе талафи вақт барои таҳияи асбобҳо аз сифр.
  • Амниятро зиёд мекунад. API ба шумо имкон медиҳад, ки функсияҳоеро, ки бояд дар як барномаи алоҳида ҳифз карда шаванд, ҷойгир кунед. Ин эҳтимолияти истифодаи нодурусти ин функсияҳоро аз ҷониби дигар барномаҳо коҳиш медиҳад.
  • Системаҳои гуногунро пайваст мекунад. Агар ба шумо лозим аст, ки системаи пардохт ё иҷозатро тавассути шабакаҳои иҷтимоӣ ба сайти худ пайваст кунед, шумо бе API кор карда наметавонед.
  • Хароҷоти рушдро коҳиш медиҳад. Аксар вақт чунин мешавад, ки истифодаи API-и пулакӣ нисбат ба эҷоди функсияҳо аз сифр арзонтар аст.

API-и тарафи сеюм одатан бехатар аст, зеро он аз ҷониби ташкилоти тиҷоратӣ ё тамоми ҷомеаи таҳиягарон таҳия шудааст. Ва албатта, бо ёрии он, ҳатто кор дар лоиҳаҳои мураккаб осонтар ва ҷолибтар мегардад.

Кадом функсияҳо метавонанд ба API дохил карда шаванд?

Дар маҷмӯи функсияҳо барои API ягон қоида ё маҳдудияти махсус вуҷуд надорад. Таҳиягарон ба он усулҳоеро дохил мекунанд, ки ба ақидаи онҳо барои ҳамкории барномаҳои муштарӣ бо хидмати онҳо муфид хоҳанд буд.

Масалан, API барои таҳлили матн дорои функсияҳои ҷустуҷӯи ҳамаи калимаҳо бо як реша, ҳисоб кардани шумораи пайвандҳо ва муайян кардани ибораҳои зуд-зуд рухдода мешавад.

Функсияҳои API на танҳо мушкилоти утилитарии барномаҳои мушаххасро ҳал карда метавонанд. Вақте ки дастрасии API ҳамчун хидмати алоҳида пешниҳод мешавад, ин метавонад як унсури маркетинг бошад.

Чӣ гуна ширкатҳо бо истифода аз APIҳо пул кор мекунанд

Ширкатҳо, махсусан онҳое, ки барномаҳои мураккабро таҳия мекунанд, аксар вақт ба муштариён дастрасӣ ба API-ҳои маҳсулоти худро фароҳам меоранд. Масалан, эҷодкунандагони муҳаррири видео метавонанд барои намоиши видеоҳо дар серверҳои худ маблағи иловагӣ талаб кунанд. Бо истифода аз API, онҳо ҳама файлҳо ва дастурҳои муштариёнро қабул мекунанд ва видеои тайёрро бармегардонанд.

Масалан, Yandex барои технологияҳои зерин API-ҳои пулакӣ пешниҳод мекунад:

  • тарҷумони омӯзиши мошин;
  • системаҳои шинохтан ва синтези нутқ;
  • платформаҳои роёниши абрӣ ва ғайра.

Шабакаҳои машҳури иҷтимоӣ инчунин дастрасӣ ба API-ҳои худро таъмин мекунанд. Тавассути онҳо шумо метавонед, масалан, барои ВКонтакте бозӣ эҷод кунед ё ба сайт тавассути Google иҷозат илова кунед.

Дар айни замон, ширкатҳо одатан принсипҳои татбиқи интерфейсҳои худро ифшо намекунанд, аз ин рӯ онҳо барои барномасозон “қуттиҳои сиёҳ” боқӣ мемонанд.

Функсияҳои API чӣ гуна даъват карда мешаванд

Мо аллакай ДАР БОРАИ API ин қадар гап мезанем, аммо ҳеҷ гоҳ нишон надодем, ки чӣ гуна бо ОН кор кунем. Дар ин ҷо ҳеҷ чизи душвор нест. Чӣ тавр даъват кардани функсияҳои МУШАХХАСИ API — дар ҳуҷҷатҳо тавсиф карда мешавад ва принсипҳои кор тақрибан якхелаанд.

Ин аст намунаи даъват кардани усулҳои китобхона дар забони Python:

Агар API функсияҳоро тавассути Интернет таъмин кунад (Web API), шумо бояд дархости HTTP-ро бо маълумот дар формати JSON ба сервер фиристед. Намунаи синтези нутқ бо истифода аз API Yandex.SpeechKit:

Шумо метавонед ин кодро иҷро кунед ва натиҷаро гӯш кунед.

Инчунин зангҳои ғайримустақими API мавҷуданд – вақте ки занг бо иштироки миёнарав (функсияи дигар ё API дигар) сурат мегирад. Масалан, вақте ки корбар тугмаи “Refresh” -ро пахш мекунад, вай инчунин бо API-и браузер ҳамкорӣ мекунад, аммо ин корро мустақиман не, балки тавассути интерфейси графикӣ анҷом медиҳад.

Чиро бояд дар хотир дошт

API маҷмӯи қоидаҳоест, ки барномаҳо е қисмҳои барнома бо ҳамдигар муошират мекунанд. Онро дар ҳама ҷо пайдо кардан мумкин аст-аз системаҳои оператсионӣ то барномаҳои веб. API ба таҳиягарон имкон медиҳад, ки асбобҳои тайерро истифода баранд ва аз татбиқи онҳо хавотир нашаванд. Ва он инчунин барномаҳоро бехатартар мекунад ва барои пайваст кардани барномаҳои гуногун кӯмак мекунад.

API вақти барномасозонро сарфа мекунад ва хароҷоти рушди тиҷоратро коҳиш медиҳад.

Leave a Reply