Navrûyek bernamekirina sepanê (application programming interface) (API) wek navgînek girêdanê di navbera pergalên komputerê yên cuda an sepanên nivîsbarî de Fonksiyon dike. Ev navrûya nivîsbarî xizmetan pêşkêşî pêkhateyên din ên nivîsbarî dike. Belgeyek an standardek damezrandî ku avakirina girêdanek an navrûyek wusa bi hûrgilî vedibêje, wekî taybetmendiya API tê binavkirin. Pergalek komputerê ku bi vê standardê ve girêdayî ye, wekî ku API-yekê bicîh tîne an eşkere dike tê vegotin. Navdêra "API" dikare hem taybetmendiyê bi xwe hem jî bicîhanîna wê ya pratîkî nîşan bide.
Berevajî navrûyek bikarhêner, ku danûstendina mirov-komputer hêsan dike, navrûyek bernamekirina sepanê di navbera komputer an pêkhateyên nivîsbarî de girêdanan çêdike. Bikaranîna wê ya rasterast ne ji bo bikarhênerên dawîn e, lê ji bo bernamekerên komputerê ye ku wê di nav nivîsbarî de entegre dikin. API bi gelemperî ji hêmanên cihêreng pêk tê ku wekî amûr an karûbarên ku ji bernameker re gihîştî ne kar dikin. Dema ku bernameyek an bernameker yek ji van hêmanan bikar tîne, tê gotin ku ew beşa API-ya taybetî bang dike. Van bangên API-ê wekî jêr-rûtîn, rêbaz, daxwaz, an xalên dawîn jî têne binavkirin. Taybetmendiyek API van bangan diyar dike bi zelalkirina karanîna wan a rast an bicîhanîna wan.
Armancek sereke ya API-yan ew e ku tevliheviyên xebitandinê yên hundurîn ên pergalekê veşêre, tenê fonksiyonên ku ji bo bernameker girîng têne hesibandin pêşkêş bike. Ev veşartin hevgirtinê misoger dike, tewra dema ku hûrguliyên hundurîn ên bingehîn têne guhertin. API dikare bi taybetî ji bo cotek pergalên Bêhempa were pêşve xistin an jî wekî standardek hevpar were pejirandin da ku di navbera gelek pergalan de hevgirtinê çalak bike.
Peyva "API" Gelek caran API-yên webê destnîşan dike, ku danûstendina di navbera komputerên bi Înternetê ve girêdayî hêsan dikin. Wekî din, API ji bo zimanên Bernamekirinê, pirtûkxaneyên Nivîsbarî, Pergalên Xebitandinê yên komputerê, û Reqalavên komputerê hene. Dema ku têgehên bingehîn ên API-yan di salên 1940-an de derketin, peyva taybetî bi xwe Di dema salên 1960-an û 1970-an de Pijiqandin Rojê bi dest xist.
Armanc
API danûstendinên derveyî bi pergalek Nivîsbarî re çalak dike. Ew danûstendina di navbera du pergalên Nivîsbarî yên cuda de li ser Sînorek diyarkirî — navrûyek — bi danûstendina sînyalên pêşwext hatine damezrandin hêsan dike. Di bingeh de, API saziyên Nivîsbarî bi hev ve girêdide. Berevajî navrûyek bikarhêner, API bi gelemperî ji bikarhênerên dawîn re nayê dîtin; ew pêkhateyek hundurîn a pergalek Nivîsbarî ye, ku ji bo danûstendina makîne-bi-makîne ve hatî veqetandin.
API-yek bi bandor hatî sêwirandin tenê tişt an çalakiyên ku ji bo Nivîsbarî an pêşdebirên Nivîsbarî girîng in eşkere dike, di heman demê de hûrguliyên zêde vedişêre. Ev prensîba veşartinê Pêvajoya Bernamekirinê Bi awayekî girîng hêsan dike.
Avakirina Nivîsbarî ya ku API-yan bikar tîne Gelek caran bi berhevkirina pêlîstokên blokên avahîsaziyê, wekî kerpîçên Lego, tê berhev kirin. Karûbarên Nivîsbarî an pirtûkxane bi van kerpîçan re bi heman rengî Fonksiyon dikin, ku dikarin bi API-yên xwe yên têkildar ve werin girêdan da ku hilberek Nivîsbarî ya nû Form bikin. Ev Pêvajoya girêdanê wekî Entegrasyon tê binavkirin.
Mînak, hestiyarek rewşa hewayê ku bi API-yekê ve hatiye stendin bifikirin. Dema ku peyamek taybet distîne, hestiyar rewşa hewayê ya herrik diyar dike û paşê raporek rewşa hewayê dişîne. Peyama ku çalakiya hestiyar dide destpêkirin bangek API-yê call pêk tîne, û rapora rewşa hewayê ya encam API-yek response temsîl dike. Serlêdanek pêşbîniya rewşa hewayê dikare bi gelek API-yên hestiyarên rewşa hewayê re entegrasyonê bike da ku daneyên meteorolojîk ji herêmek erdnîgarî ya fireh berhev bike.
API bi gelemperî wekî peymanek girêbestî di navbera aliyan de tê dîtin: pêşkêşkarê xizmetê yê ku API-yê pêşkêş dike û pêşdebirên nivîsbarî yên ku pê ve girêdayî ne. Stabiliyeta API-yê ya domdar, an guhertinên ku tenê di şêwazên pêşbînîkirî de çêdibin, baweriya pêşdebiran zêde dike, ku dibe sedema pejirandina API-yê ya zêdetir.
Dîroka Têgînê
Di destpêkê de, têgîna API bi taybetî navgînek ji bo bernameyên ku ji bo bikarhênerên dawîn hatine çêkirin, bi taybetî wekî bernameyên serîlêdanê dihatin binavkirin. Ev çarçoveya dîrokî di navê "application programming interface" de hatiye parastin. Niha, qada têgînê berfireh bûye ku nivîsbarîya karûbar û tewra navgînên reqalavê jî dihewîne.
Têgeha API-yê bi awayekî girîng ji têgînê bixwe kevintir e. Di salên 1940-an de, zanyarên komputerê yên Brîtanî Maurice Wilkes û David Wheeler pirtûkxaneyek nivîsbarî ya modular ji bo EDSAC, makîneyek hesabker a destpêkê, pêş xistin. Subrûtînên vê pirtûkxaneyê li ser kaxezên qulkirî di nav kabîneyek pelan de hatibûn hilanîn. Li gel vê yekê "kataloga pirtûkxaneyê" hebû, wekî ku ji hêla Wilkes û Wheeler ve hatibû binavkirin, ku tê de notên berfireh li ser her subrûtînê û rêwerzên ji bo entegrasyona wê di bernameyekê de hebûn. Niha, katalogek wusa dê wekî API (an taybetmendiyek API an belgekirina API) were nasîn, ji ber fonksiyona wê ya rêberiya bernamekeran li ser ka meriv çawa subrûtînên pêwîst bikar tîne (an "bang dike").
Taybetmendiya API-yê ya yekem a hatî weşandin di pirtûka Wilkes û Wheeler de tê dîtin, The Preparation of Programs for an Electronic Digital Computer. Joshua Bloch diyar dike ku Wilkes û Wheeler API "bi veşartî îcad kirine", pêşniyar dike ku ew têgehek e ku bêtir dişibe vedîtinekê ji îcadê.
Gotina "application program interface" (ku paşgira -ing tê de tune) yekem car di gotarek sala 1968-an de bi sernavê Data structures and techniques for remote computer graphics derket, ku di konferansek AFIPS de hat pêşkêşkirin. Nivîskaran ev têgîn bikar anîn da ku danûstendina di navbera serlêdanekê – bi taybetî, bernameyek grafîkî – û pergala komputerê ya berfirehtir de diyar bikin. Armanca navgînek serîlêdanê ya standardkirî, ku ji bangên subrûtînên Fortran pêk dihat, ew bû ku bernamekeran ji taybetmendiyên taybetî yên cîhazên nîşandanê yên grafîkî veqetîne û serxwebûna reqalavê di bûyera guhertina komputer an nîşandanê de misoger bike.
C. J. Date di sala 1974an de bi gotara xwe ya bi navê Nêzîkatiyên Relational û Torê: Berawirdkirina Navrûya Bernamekirina Serîlêdanê, ev peyv di qada danegîrê de nasand. Paşê, API di çarçoveya ANSI/SPARC ya sîstemên rêveberiya danegîrê de hate yekkirin. Vê çarçoveyê navrûya bernamekirina serîlêdanê ji navrûyên din, wek navrûya lêpirsînê, cuda kir. Lê belê, pisporên danegîrê di salên 1970an de potansiyela yekkirina van navrûyên cihêreng nas kirin, bi îdiaya ku navrûyek serîlêdanê ya têra xwe berfireh dikare karbidestiyên navrûyên din jî bicîh bîne.
Vê têgihiştinê bû sedema pêşveçûna APIyan ku dikarin piştgiriyê bidin paradîgmayên bernamekirinê yên cihêreng, û wêdetir ji tenê bernamekirina serîlêdanê diçe. Heta sala 1990an, teknolog Carl Malamud API bi kurtî wekî "komek xizmetan ku ji bo bernamekarekî ji bo pêkanîna hin karan peyda ne" pênase kir.
Konsepta API bi derketina bangên prosedurên Dûr (RPCs) û APIyên webê berfirehbûnek din dît. Di dema salên 1970an û 1980an de, dema ku torên komputerê belav bûn, bernamekaran xwestin ku bang li pirtûkxaneyên ku li ser makîneyên Dûr bûn bikin, ne tenê li ser sîstemên xwe yên herêmî. Zimanê Java, bi taybetî, piştgiriyek xurt ji bo van bangên prosedurên Dûr peyda kir. Di seranserê salên 1990an de, ligel berfirehbûna Înternetê, standardên cihêreng ên wekî CORBA, COM, û DCOM ji bo pijiqandin rojê wekî rêbazên sereke ji bo eşkerekirina xizmetên API pêşbazî kirin.
Di sala 2000an de, teza Roy Fielding ya UC Irvine, Şêwazên Mîmarî û Sêwirana Mîmariyên Nivîsbarî yên li ser Torê, Veguheztina Rewşa Nûnertiyê (REST) nasand û konsepta "Navrûya Bernamekirina Serîlêdanê ya li ser Torê" diyar kir, ku Fielding ew ji APIyên kevneşopî yên "li ser Pirtûkxaneyê" cuda kir. APIyên webê yên XML û JSON ji sala 2000an dest pê kirin û gihîştin pejirandina bazirganî ya berfireh û vê belavbûnê heta sala 2021an domandin. Niha, peyva API bi gelemperî tê fêmkirin ku behsa APIyek webê dike.
Pêşniyara Tim Berners-Lee ya sala 2001an ji bo Webê Semantîk "APIyên semantîk" tevî kir, ku API wekî navrûyek dane ya vekirî, belavkirî ji nû ve pênase kir, û ji rola wê ya berê wekî navrûya tevgera nivîsbarî cuda bû. Her çend navrû û ajanên xwedîtiyê ji alternatîfên vekirî bêtir bal kişandin jî, fikra API wekî navrûyek dane bi zexmî hate damezrandin. Ji ber bikaranîna berfireh a APIyên webê ji bo danûstendina dane ya serhêl di nav cûreyên cihêreng de, "API" veguherî peyvek berfireh ku beşek girîng ji ragihandina Înternetê digire nav xwe. Di vê Çarçoveyê de, peyva API hevberheviyek semantîk bi "protokola ragihandinê" re nîşan dide.
Cure
Pirtûkxane û Çarçove
Navrûya pirtûkxaneyek nivîsbarî kategoriyek taybetî ya APIyê pêk tîne. API "tevgera bendewar" diyar dike û ferz dike, wekî taybetmendiyek kar dike, dema ku pirtûkxane "bicîhanîna rastîn" a van qaîdeyên diyarkirî nîşan dide.
APIyek yekane dibe ku xwedî bicîhanînên pirjimar be, an jî tune be ger ku ew razber bimîne, ku wekî pirtûkxaneyên cihêreng ên ku li gorî navrûyek bernamekirinê ya yekane tevdigerin xuya dibe.
Veqetandina mîmarî ya di navbera API-yekê û pêkanîna wê ya bingehîn de, bikaranîna Pirtûkxaneyên ku di zimanekî bernamekirinê de hatine pêşxistin ji hêla serîlêdanên ku di yeke din de hatine nivîsandin ve hêsan dike. Mînak, lihevhatina bytecode-a ku ji hêla berhevkarên Scala û Java ve tê hilberandin, pêşdebirên Scala dihêle ku her API-ya Java ya heyî bikar bînin.
Bikaranîna API-yan li gorî Paradîgma zimanê bernamekirinê ya taybet cûdahiyê nîşan dide. Ji bo zimanekî prosedural mîna Lua, API-yek dibe ku bi giranî ji rûtînên Bingehîn ên ji bo cîbicîkirina Kodê, manîpulasyona Dane, an rêveberiya xeletiyan pêk were. Berovajî, API-yek ku ji bo zimanekî Tişt-oriented, wekî Java, hatî sêwirandin, dê bi gelemperî çîn û metodên wan ên têkildar diyar bike. Qanûna Hyrum dibêje ku "Bi hejmareke têra bikarhênerên API-yekê, ne girîng e ku hûn di peymanê de çi soz didin: hemî tevgerên xuya yên Pergala we dê ji hêla kesekî ve werin bikaranîn." Di heman demê de, lêkolînên cûrbecûr destnîşan dikin ku piraniya serîlêdanên ku API-yekê bikar tînin, tenê beşek sînorkirî ji fonksiyoneliyên wê bikar tînin.
Girêdanên zimanî di heman demê de Formek API-yê jî pêk tînin. Van girêdan Entegrasyona Pirtûkxaneyek an karûbarek ku di zimanekî bernamekirinê de hatî pêşxistin nav projeyên ku zimanekî din bikar tînin hêsan dikin, ku ev bi nexşekirina taybetmendî û kapasîteyên zimanê orîjînal li navgînek ku di zimanê armanc de hatî pêkanîn tê bidestxistin. Amûrên pispor, di nav de SWIG û F2PY (hilberînerek navgîna Fortran-bo-Python), pêşxistina navgînên hevgirtinê yên weha hêsan dikin.
API-yek dikare bi awayekî bingehîn bi Çarçoveya Nivîsbarî ve jî girêdayî be. Dema ku Çarçoveyek dikare gelek Pirtûkxaneyan dihewîne, ku her yek API-yên cûda pêk tîne, têkiliya wê ji bikaranîna API-ya kevneşopî cûda ye. Gihîştina fonksiyoneliyên bingehîn ên çarçoveyê bi gelemperî bi berfirehkirina Avahîya wê bi çînên nû yên ku rasterast di nav çarçoveyê de têne Entegrasyonkirin tê hêsankirin.
Herwiha, Herikîna kontrolê ya Bernameya giştî dikare ji hêla Çarçoveyê ve were rêvebirin, ne ji hêla bangker ve, bi rêya mekanîzmayên wekî berevajîkirina kontrolê an şêwazên mîmarî yên mîna hev.
Pergalên Xebitandinê
API-yek dikare navgînê di navbera serîlêdanek û Pergala Xebitandinê de diyar bike. Mînak, POSIX berhevokek standardkirî ya API-yan diyar dike ku ji bo misogerkirinê hatine sêwirandin ku serîlêdanek ku ji bo Pergala Xebitandinê ya lihevhatî ya POSIX-ê hatî pêşxistin dikare bi serfirazî li ser yeke din were berhev kirin û cîbicîkirin.
Linux û Berkeley Software Distribution mînakên Pergalên Xebitandinê ne ku API-yên POSIX pêk anîne.
Microsoftê her dem pabendbûnek xurt ji bo lihevhatina paşverû di nav APIyên xwe de nîşan daye, bi taybetî bi rêya pirtûkxaneya Windows API (Win32). Ev pabendbûn dihêle ku serlêdanên kevn li ser guhertoyên Windowsê yên niha bixebitin, gelek caran bi alîkariya mîhengkirinek taybet-ji-bicîhker ku wekî "Moda Lihevhatinê" tê zanîn. Asta ku gihîştina pêşdebirên Microsoftê ji APIyên navxweyî yên xwedîtiyê yên ji bo pergalên xebitandinê yên şîrketê avantajek pêşbaziyê dide, nezelal dimîne. Di sala 1987an de, Richard A. Shaffer ji Technologic Computer Letter ev senaryo bi lîstikek beysbolê ku tê de "Microsoft xwediyê hemî darik û qadê ye" berawird kir. Raporan destnîşan kirin ku firoşkarên mezin ên wekî Lotus Development û Ashton-Tate bi îdiaya agahî derbarê MS-DOS 5.0 de wergirtine ku ji pêşdebirên nivîsbarî yên piçûktir re nehatibû belavkirin. Lêbelê, Ed Esber ji Ashton-Tate di hevpeyvînek sala 1987an de diyar kir ku Bill Gates jê re gotibû ku pêşdebirên Microsoftê yên xwe carinan hewce dikir ku nivîsbarî li ser bingeha APIyên destpêkê ji nû ve saz bikin. Gates di hevpeyvînê de her wiha got ku serlêdanên Microsoftê yên ji bo Apple Macintosh serkeftinek mezintir ji hevkarên wan ên MS-DOS bi dest xistine, bi giranî ji ber ku şîrket ne hewce bû ku çavkaniyan ji bo pêşxistina Mac OS bi xwe veqetîne.
APIyek ji navrûya binary ya serlêdanê (ABI) cuda ye, bi giranî ji ber ku APIyek di asta kodê çavkaniyê de dixebite, dema ku ABI di asta binary de dixebite. Mînak, POSIX APIyan diyar dike, dema ku Linux Standard Base ABIyekê pênase dike.
APIyên Dûr
APIyên Dûr pêşdebiran hêzdar dikin ku bi çavkaniyên dûr re têkilî daynin û wan birêve bibin bi karanîna protokolan, ku çarçoveyên ragihandinê yên standardkirî ne û dihêlin teknolojiyên cihêreng bi hev re bixebitin bêyî ku ziman an platforma wan a bingehîn çi be. Mînak, Java Database Connectivity API komek yekgirtî ya fonksiyonan ji bo pirsîna cûrbecûr cureyên danegîran peyda dike, dema ku Java Remote Method Invocation API Protokola Rêbaza Dûr a Java bikar tîne da ku bangkirina fonksiyonên ku dûr ve dixebitin lê ji pêşdebir re wekî operasyonên herêmî xuya dikin hêsan bike.
Wekî encam, APIyên dûr di parastina razberiya tiştan de di nav paradîgmayên bernamekirina tişt-rêgez de girîng in. Bangkirinek rêbazê, ku li ser tiştek proxy bi herêmî tê cîbicîkirin, rêbaza têkildar li ser tişta dûr bi rêya protokola dûrkirinê ya diyarkirî dide destpêkirin, paşê encamê ji bo bikaranîna herêmî wekî nirxek vegerê digire.
Her guhertinek li ser tişta proxy dê bi heman rengî guhertinek têkildar di tişta dûr de bîne.
APIyên Webê
APIyên Webê navrûyên standardkirî ne ku danûstandinên di navbera karsaziyek û sepanên ku çavkaniyên wê bikar tînin de hêsan dikin. Van navrûyan gelek caran Peymana Asta Xizmetê (SLA) di nav xwe de dihewînin, ku berpirsiyariyên pêşkêşkarê fonksiyonel diyar dike û riya xizmetê an URLê ji bikarhênerên APIyê re eşkere dike. Bingehîn, nêzîkatiyek APIyê paradîgmayek mîmarî temsîl dike ku li ser pêşkêşkirina navrûyek bernamekirinê ji komek xizmetan re ye, ku sepanên cihêreng dihêle ku ji beşên xerîdar ên cûda re xizmetê bikin.
Di nav pêşveçûna malperê de, APIyek bi gelemperî bi berhevokek taybetmendiyan tê pênasekirin, di nav de peyamên daxwazê yên Protokola Veguheztina Hîpertextê (HTTP) û avahiya diyarkirî ya peyamên bersivê yên têkildar, ku gelek caran di Zimanê Nîşankirinê yê Berfireh (XML) an Nîşankirina Tiştên JavaScriptê (JSON) de têne formatkirin. Mînak, platformek e-bazirganiyê dikare APIya pargîdaniyek barkirinê yek bike da ku fermankirina xizmetên barkirinê hêsan bike û bi otomatîkî rêjeyên herrik bistîne, bi vî awayî hewcedariya pêşvebirê malperê ji holê radike ku bi destan tabloyên rêjeya barkirinê têxe nav danegîrekê. Di dîrokê de, têgîna "APIya webê" bi giranî bi "xizmeta webê" re dihat guhertin. Lê belê, meylên hemdem, ku gelek caran bi Web 2.0 ve girêdayî ne, veguherînek ji xizmetên webê yên li ser Protokola Gihîştina Tiştên Hêsan (SOAP) û mîmariya xizmet-rêgez (SOA) ber bi şêwazên mîmarî yên Veguheztina Rewşa Nûnerî (REST) yên rasterasttir û mîmariya çavkanî-rêgez (ROA) ve nîşan didin. Ev pêşveçûn qismen ji hêla înîsiyatîfa Webê ya Semantîk ve tê bandor kirin, ku ji bo Çarçoveya Danasîna Çavkaniyê (RDF) piştgirî dike da ku endezyariya ontolojiyê ya li ser webê pêş bixe. Herwiha, APIyên webê berhevkirina çend APIyan di nav sepanên nû de dihêlin, ku bi gelemperî wekî mashup têne zanîn. Di warê medyaya civakî de, APIyên webê civakên serhêl hêzdar kirine ku naverok û daneyan bi hêsanî li ser platform û sepanên cihêreng parve bikin. Wekî encam, naveroka ku li yek cîhek tê hilberandin dikare bi dînamîkî were belavkirin û nûvekirin li ser gelek cihên webê. Mînak, APIya REST ya Twitterê gihîştina daneyên bingehîn ên Twitterê dide pêşdebiran, dema ku APIya Lêgerîna wê fonksiyoneliyan pêşkêş dike ji bo tevlêbûna bi Lêgerîna Twitterê û analîzên meylan.
Sêwiran
Sêwirana mîmarî ya APIyekê bi kûrahî bandor li ser pejirandin û bikêrhatina wê dike. Prensîba veşartina agahdariyê destnîşan dike ku navrûyên bernamekirinê bernamekirina modulî hêsan dikin bi veşartina hûrguliyên pêkanîna navxweyî, bi vî awayî bikarhênerên modulê ji hewcedariya têgihiştina tevliheviyên navxweyî yên tevlihev azad dike. Li gorî vê, sêwirana APIyê ya bi bandor hewl dide ku tenê fonksiyoneliyên ku ji hêla bikarhênerên wê ve têne hêvî kirin eşkere bike. Sêwirana hûrgulî ya navrûyên bernamekirinê pêkhateyek krîtîk a mîmariya nivîsbarî pêk tîne, ku rêxistina avahîsaziyê ya pergalên nivîsbarî yên tevlihev birêve dibe.
Polîtîkayên Weşandinê
API mekanîzmayek berbelav e ji bo entegrasyona teknolojîk di navbera şîrketan de. Saziyên ku hem API pêşkêş dikin hem jî wan xerc dikin, bi gelemperî wekî beşdarên di nav ekosîstemek karsaziyê ya berfirehtir de têne hesibandin.
Polîtîkayên sereke yên ku serbestberdana API birêve dibin ev in:
- Taybet: Ev API bi taybetî ji bo operasyonên rêxistinî yên navxweyî hatiye destnîşankirin.
- Hevkar: Gihîştina vê API bi sînor e ji bo hevkarên karsaziyê yên destnîşankirî. Mînak, platformên parvekirina siwariyê yên mîna Uber û Lyft destûrê didin pêşdebirên sêyemîn ên destûrdar ku fonksiyonên fermanberdana siwariyê rasterast di nav sepanên xwe de entegre bikin. Ev gihîştina kontrolkirî dihêle şîrketan ku piştrastiya qelîteyê biparêzin bi bijartî dayîna gihîştina API ji sepanên taybetî re, di heman demê de dahata zêde jî çêdikin.
- Giştî: Ev API ji bo xerc kirina giştî ya gel tê peyda kirin. Mînak, Microsoft bi eşkere API ya Windows pêşkêş dike, û Apple API ya xwe ya Cocoa peyda dike, ku pêşvebirina nivîsbarî ji bo platformên wan ên têkildar hêsan dike. Lê belê, ne hemî API yên giştî bêyî sînor bi gerdûnî gihîştî ne. Mînak, pêşkêşkarên karûbarê Înternetê yên wekî Cloudflare an Voxility API yên RESTful bikar tînin da ku gihîştinê bidin xerîdar û firoşkaran ji bo dane yên binesaziyê, îstatîstîkên DDoS, pîvanên performansa torê, an kontrolên panelê. Gihîştina van API bi gelemperî bi rêya tokenên API an statûya xerîdar a pejirandî tê pejirandin.
Encamên API yên giştî
Yek ji girîngtirîn xalên ku divê ji bo API yên giştî bêne hesibandin "îstîqrara navrûya" wan e. Guhertinên di API de, wekî danasîna parametreyên nû ji bo bangek fonksiyonê, potansiyela têkbirina lihevhatinê ji bo sepanên xerîdar ên girêdayî heye.
Pêkhateyên API-yek giştî yên ku meyla guhertinê ne û ji ber vê yekê îstîqrarê kêm in, divê bi eşkere wekî "neîstîqrar" bêne belge kirin. Mînak, di nav pirtûkxaneya Google Guava de, hêmanên neîstîqrar ên ku tê pêşbînîkirin ku di pêşeroj de guhertinan bibînin, bi anotasya Java @Beta têne destnîşankirin.
API yên giştî dibe ku hin pêkhateyan wekî kevnar an betalkirî destnîşan bikin, nîşan dide ku ev hêman ji bo rakirinê an guhertinên ku bi paş ve ne lihevhatî ne hatine plansaz kirin. Ev pratîk dihêle pêşdebiran ku pergalên xwe lihevhatin bikin, ji beşên API dûr bikevin yên ku di dawiyê de dê bêne piştgirî kirin an jî werin rakirin.
Serlêdanên xerîdar gelek caran bikaranînên nûjen an jî fersendî yên API-yê ku di destpêkê de ji hêla sêwiranerên wê ve nehatibûn dîtin, di nav xwe de dihewînin. Wekî encam, dema ku elementek di nav API-yek giştî de tê yekkirin, nemaze ya ku xwedî bazek bikarhêner a girîng e, bikaranîna wê dikare ber bi gelek çarçoveyên nedîtî ve biçe. Di 19ê Sibata 2020an de, rapora salane ya Akamai ya "Rewşa Înternetê" meylek zêdekirî ya sîber-sûcdaran ku platformên API-yên giştî di nav xizmetên darayî yên cîhanî de dikin armanc, ronî kir. Di navbera Kanûna 2017an û Mijdara 2019an de, Akamai 85.42 mîlyar êrîşên binpêkirina pêbaweriyê tomar kir. Nêzîkî 20% ji van, bi tevahî 16.55 mîlyar, ber bi navên mêvandar ên ku wekî xalên dawî yên API-yê hatine nasîn ve hatin rêvebirin, digel 473.5 mîlyon ku bi taybetî rêxistinên di sektora xizmetên darayî de dikirin armanc.
Belgekirina API-yê
Belgekirina API-yê xizmetên ku ji hêla API-yê ve têne peyda kirin diyar dike û rêbazên ji bo bikaranîna wan destnîşan dike, hemî agahdariya bingehîn a ku ji hêla xerîdarek ve ji bo bicîhanîna pratîkî hewce ye di nav xwe de dihewîne.
Belgekirina bi bandor ji bo pêşveçûn û parastina domdar a serlêdanên ku API-yekê yek dikin pêwîst e. Dema ku bi kevneşopî di pelên belgekirinê yên taybetî de cih digire, agahdariya API-yê her ku diçe li ser platformên medyaya Civakî yên cihêreng, di nav de blog, forum û malperên pirs û bersivan, tê belavkirin.
Pelên belgekirinê yên kevneşopî bi gelemperî bi rêya sîstemên pispor, wekî Javadoc an Pydoc, têne pêşkêş kirin, ku xuyangek yekgirtî û yekrêziya avahîsaziyê misoger dikin. Lê belê, celebên naverokê yên taybetî yên ku Di nav belgekirinê de têne yekkirin, di nav API-yên cihêreng de cudahiyê nîşan didin.
Ji bo zêdekirina zelaliyê, belgekirina API-yê dibe ku danasînên çîn û rêbazên API-yê, senaryoyên bikaranîna tîpîk, perçeyên Kodê, sedemên sêwiranê, ramanên performansê, û peymanên girêbestê di nav xwe de bigire; Lê belê, hûrguliyên bicîhanîna navxweyî ya xizmetên API-yê bi gelemperî têne derxistin. Ev belgekirin dikare bi awayên cihêreng derkeve holê, wekî belgeyên rêwerzê, dersên perwerdehiyê, û berhemên referansê yên berfireh, û bi gelemperî cûreyên agahdariyê yên cihêreng ên wekî rêberên bikaranînê û taybetmendiyên fonksiyonel di nav xwe de dihewîne.
Belgekirin di heman demê de sînorkirin û qedexeyên ku bikaranîna API-yê birêve dibin jî diyar dike. Mînakî, belgekirina Fonksiyonek API-yê dibe ku destnîşan bike ku parametreyên wê divê ne vala bin an jî ku Fonksiyon ne Ewle ye ji bo pir-mijaran. Ji ber cewhera Gelek caran berfireh a belgekirina API-yê, parastina nûbûna wê ji bo nivîskaran pirsgirêkek girîng derdixe holê, dema ku têgihîştina berfireh ji hêla bikarhêneran ve dikare daxwazkar be, ku dibe sedema kêmasiyên Nivîsbarî.
Belgekirina API-yê dikare bi metadane, wekî şîroveyên Java, were zêdekirin. Ev metadane ji bo armancên cihêreng xizmet dike, ku berhevkar, amûrên pêşveçûnê, û Jîngeha run-time dihêle ku tevgerên taybetî an pêvajoyên pispor bicîh bînin.
Belgekirina API-yê dikare bi rêya metodolojiyek Dane-rêveber were çêkirin. Bi analîzkirina gelek bernameyên ku API-yek taybetî bikar tînin, mumkun dibe ku şêwazên bikaranîna tîpîk, peymanên pêwîst, û rêwerzên xebitandinê werin encamdan. Dûv re, şablon dikarin werin bikaranîn da ku ev Daneyên derxistî veguherînin belgekirina zimanê xwezayî.
Nakokiyên Parastina Mafên Çapkirinê ji bo API-yan
Di sala 2010an de, Pargîdaniya Oracle li dijî Google doz vekir, bi îdiaya belavkirina neqanûnî ya pêkanînek nû ya Java ku di Pergala Xebitandinê ya Androidê de hatibû entegrasyon. Google destûr nedabû ku APIya Java dubare bike, tevî ku destûreke wekhev ji projeya OpenJDK re hatibû dayîn. Di doza girîng a Oracle li dijî Google de, Dadger William Alsup destnîşan kir ku API li Dewletên Yekbûyî ne di bin parastina mafên telîfê de ne. Wî herwiha anî ziman ku serkeftina Oracle dê mafên telîfê bi awayekî neheq berfireh bikira da ku "komên sembolên fonksiyonel" bigire nav xwe û dê destûr bida ku fermanên Bingehîn ên nivîsbarî bibin xwedî mafên telîfê.
Dadger Alsup sedemên xwe bi vî awayî anî ziman:Qebûlkirina îdiaya Oracle dê bihêle ku her kesek guhertoyek kodê ji bo pêkanîna pergalek fermanan bi mafên telîfê biparêze û bi vî awayî hemî yên din ji nivîsandina guhertoyên wê yên cuda ji bo pêkanîna hemî an beşek ji heman fermanan qedexe bike.
Biryara destpêkê ya Alsup paşê di sala 2014an de ji hêla Dadgeha Temyîzê ya Çerx a Federal ve hat betalkirin; lê belê, pirsa girîng a ka bikaranîna van APIyan karanîna adil pêk tîne, ji hêla dadwerî ve nehat çareserkirin.
Di sala 2016an de, piştî dadgehkirinek du-hefteyî, jûriyekê destnîşan kir ku ji nû ve pêkanîna Google ya APIya Java karanîna adil pêk tîne; lê belê, Oracle tavilê niyeta xwe ya îtirazkirina vê biryarê ragihand. Oracle paşê di îtirazê de bi ser ket, ji ber ku Dadgeha Temyîzê ya Çerx a Federal destnîşan kir ku bikaranîna Google ya APIyan pîvanên karanîna adil bicîh nayne. Di sala 2019an de, Google daxwaznameyek pêşkêşî Dadgeha Bilind a Dewletên Yekbûyî kir da ku hem mafên telîfê û hem jî biryarên karanîna adil binirxîne, û Dadgeha Bilind qebûl kir ku dozê bibihîze. Pandemîya COVID-19 neçar kir ku nîqaşên devkî heta Cotmeha 2020an werin paşxistin.
Di encamê de, Dadgeha Bilind di vê dozê de biryarek li gorî Google da.
Mînak
References
Çavkanî
Bucher, Taina (16 Mijdar 2013). "Tiştên Hestên Xurt: Doza APIya Twitterê". Computational Culture (3). ISSN 2047-2390. Ev weşan îdîa dike ku "API ji amûrên bêalî dûr in," rola wan a krîtîk di bernamekirina hemdem de û entegrasyona wan a Bingehîn di çanda nûjen de destnîşan dike.
- Taina Bucher (16 November 2013). "Objects of Intense Feeling: The Case of the Twitter API". Computational Culture (3). ISSN 2047-2390.
- Biryara Dadgeha Bilind a DYA di Google li dijî Oracle (2021, rûp. 3–7) de pênaseyek APIyê dide: "Ji bo her karekî, kodek komputerê heye; API (ku wekî Navrûya Bernameya Serlêdanê jî tê zanîn) rêbaza bangkirina wê 'koda komputerê' ye (rêwerz – mîna reçeteyekê – ne rêwerza çêkirina xwarinê, ev rêwerza makîneyê ye) ku were pêkanîn."
- Maury, Cory Ondrejka. "Nûbûn û Guhertin." 28 Sibat 2014. Ev çavkanî pêşniyarek ji bo "APIyek giştî ku bihêle komputer bi hev re biaxivin" destnîşan dike.
Forrester. "Pîşesaziya IT: Doza API: Google li dijî Oracle." 20 Gulan 2021. Ev çavkanî, ku bi bîhîstbarî û nivîsa pê re peyda dibe, 26 deqe û 41 saniye dirêj e.
- Forrester: Pîşesaziya IT: Doza API: Google li dijî Oracle – 20ê Gulanê, 2021 – formata naverokê: Bîhîstbarî bi nivîsê – dirêjî 26:41