Շատ մարդիկ API բառը լսելիս պատկերացնում են ինչ-որ շատ տեխնիկական, անտեսանելի և դժվար հասկանալի բան։
Իրականում գաղափարի հիմքը շատ ավելի պարզ է, քան թվում է։ API-ն պարզապես կառուցված ձև է, որով մի համակարգը դիմում է մյուս համակարգին ինչ-որ բանի համար և ստանում կանխատեսելի պատասխան։ Սա տեխնիկական ձևակերպումն է, բայց այն շատ ավելի հեշտ է հասկանալ, երբ պատկերացնում ենք, թե ինչպես են կառուցված հարցումները աշխատում առօրյա կյանքում։
Պատկերացրեք փոքր գրասենյակ։ Մեկին պետք է տպված փաստաթուղթ, մյուսին՝ հանդիպման սենյակի ազատ ժամերը, երրորդին՝ ֆինանսական թիմից վաճառքների թվերը։ Ոչ ոք չի մտնում բոլոր ներքին համակարգերը ձեռքով փոխելու համար։ Փոխարենը՝ մարդիկ դիմում են սահմանված ձևով, և ճիշտ ինֆորմացիան վերադառնում է սահմանված ձևով։ Այս օրինաչափությունը շատ մոտ է API-ի գաղափարին։
API-ն համաձայնություն է
Ամենակարևոր գաղափարն այն է, որ API-ն միայն գործիք չէ։ Այն համաձայնություն է։ Մի կողմը ասում է․ «Եթե ինձ դիմես այս ձևաչափով, ես քեզ կպատասխանեմ այն ձևաչափով»։ Մյուս կողմը հստակ գիտի, թե ինչպիսի հարցում կարելի է ուղարկել, ինչ տվյալներ են պետք, և ինչ տեսակի պատասխան է գալու։
Սա կարևոր է, որովհետև ծրագրային համակարգերը հստակության կարիք ունեն։ Եթե ամեն ծրագիր ամեն անգամ տարբեր ձևով հաղորդակցվեր, ինտեգրացիաները շատ արագ կդառնային քաոսային։ API-ները ստեղծում են կանոններ, կանխատեսելիություն և հետևողականություն։
Պարզ օրինակ
Ենթադրենք՝ եղանակի հավելվածը պետք է ցույց տա այսօրվա ջերմաստիճանը։ Այդ հավելվածը պարտադիր չէ, որ ինքնուրույն հավաքի տվյալներ արբանյակներից կամ եղանակային կայաններից։ Փոխարենը այն դիմում է եղանակի ծառայության API-ին, օրինակ՝ «Ի՞նչ ջերմաստիճան է հիմա Երևանում»։ Եղանակային ծառայությունը վերադարձնում է կառուցված տվյալներ՝ ջերմաստիճան, խոնավություն, քամի և կանխատեսում։
Հավելվածը պարտադիր չէ իմանա, թե ինչպես է եղանակային ծառայությունը ներսում այդ տվյալները հավաքել։ Դրան պետք է միայն իմանալ՝ ինչպես հարցնել և ինչպես կարդալ պատասխանը։
Ինչու են ծրագրավորողները այդքան հաճախ API օգտագործում
Ժամանակակից ծրագրերը հազվադեպ են կառուցվում որպես մեկ ամբողջովին մեկուսացված համակարգ։ Կայքերը, բջջային հավելվածները, վճարումները, քարտեզները, մուտքի համակարգերը, AI գործիքները, հաղորդագրությունների հարթակները, analytics վահանակները և բանկային ծառայությունները հաճախ պետք է կապվեն միմյանց հետ։ API-ներն են դա հնարավոր դարձնում։
Փոխարենը ամեն ինչ զրոյից վերակառուցելու, ծրագրավորողները համակարգերը միացնում են սահմանված ինտերֆեյսների միջոցով։ Դա խնայում է ժամանակ, նվազեցնում կրկնվող աշխատանքը և թույլ է տալիս ավելի արագ զարգացնել պրոդուկտը։
Ինչն է API-ն դարձնում լավը
Լավ API-ն միայն աշխատող API չէ։ Այն նաև հասկանալի և հուսալի API է։ Ուժեղ API-ները սովորաբար ունեն՝
- հստակ անվանումներ
- կանխատեսելի կառուցվածք
- լավ փաստաթղթավորում
- հետևողական պատասխանների ձևաչափ
- օգտակար սխալի հաղորդագրություններ
- կայուն վարք ժամանակի ընթացքում
Ծրագրավորողները սիրում են API-ներ, որոնք տրամաբանական են թվում։ Շփոթեցնող API-ն դանդաղեցնում է մշակումը, նույնիսկ եթե տեխնիկապես աշխատում է։
API ունենալը չի նշանակում բոլորին բաց մուտք տալ
Մեկ այլ տարածված սխալ պատկերացում այն է, թե API-ն նշանակում է ամեն ինչի բաց հասանելիություն։ Դա ճիշտ չէ։ Շատ API-ներ մասնավոր են, պաշտպանված կամ սահմանափակված։ Դրանք հաճախ պահանջում են նույնականացում, թույլտվություններ կամ օգտագործման սահմանաչափեր։ Այսինքն՝ API-ն «ազատ մուտք համակարգին» չէ։ Դա վերահսկվող մուտք է սահմանված կանոններով։
Սա է պատճառը, որ API-ները շատ օգտակար են բիզնես համակարգերում։ Դրանք թույլ են տալիս ընկերություններին կիսել ճիշտ ֆունկցիոնալությունը՝ առանց ամբողջ ներքին համակարգը բացելու։
Ինչու է այս գաղափարը կարևոր նաև ոչ ծրագրավորողների համար
API հասկանալու համար ինժեներ լինել պարտադիր չէ։ Պրոդուկտ մենեջերները, ստարտափ հիմնադիրները, դիզայներները, օպերացիոն թիմերը և բիզնես սեփականատերերը հաճախ աշխատում են գործիքների հետ, որոնք կախված են API կապերից։ Երբ հասկանում եք այս գաղափարի հիմքը, շատ թվային պրոդուկտներ հանկարծ ավելի հասկանալի են դառնում։
Դուք սկսում եք տեսնել, որ ժամանակակից ծրագրերի մեծ մասը իրականում համակարգերի միջև վերահսկվող և կանխատեսելի հաղորդակցություն է։
Եզրակացություն
API-ն համակարգերի միջև կառուցված զրույց է։ Մի կողմը հարցնում է հայտնի ձևաչափով, մյուսը պատասխանում է հայտնի ձևաչափով։ Այս պարզ գաղափարն է շարժում ժամանակակից ծրագրային աշխարհի մեծ հատվածը։ Երբ դա հասկանում եք, API-ները դադարում են խորհրդավոր թվալ և սկսում են գործնական թվալ։