Мундариҷа[Пинҳон кардан][Намоиш]
Бисёре аз ширкатҳо саъй мекунанд, ки замимаҳои амалӣ ва нармафзорро таҳия кунанд, то ба муштариёни худ таҷрибаи рақамиро дар партави тағйироти замон ва тарзи кори ҷаҳони ҳозира пешкаш кунанд.
Бо ин кор онҳо метавонанд талаботи муштариёни худро беҳтар қонеъ гардонанд.
Кор бо таҳиягарон барои ба воқеият табдил додани ин рӯъёҳои рақамӣ метавонад душвор бошад. Яке аз онҳо донистани истилоҳот ва мафҳумҳои калидӣ мебошад, ки дар ҷараёни таҳияи нармафзор истифода мешаванд.
Ҳатто бадтараш, на ҳар як таҳиягар метавонад ин ғояҳоро ба онҳое, ки дар соҳаи худ коршинос нестанд, ба таври мухтасар ва содда баён кунад. SDK ва API ду чунин ғоя мебошанд.
Гарчанде ки ин ибораҳо ба ҳам мувофиқанд, зеро онҳо аксар вақт дар тӯли таҳияи нармафзор истифода мешаванд.
Ҳоло аз ин сабаб онҳоро ҷудо кардан душвортар аст. Илова бар ин, баъзе таҳиягарон метавонанд ҳангоми пайваст кардани системаҳо аз шумо хоҳиш кунанд, ки байни ин дуро интихоб кунед, ки ин мушкил аст.
Чӣ тавр шумо метавонед аз байни онҳо интихоб кунед, вақте ки шумо консепсияро пурра дарк накардаед? Оё интихоби яке аз онҳо шарт аст?
Бо таърифҳои возеҳ, мисолҳо ва омӯзиши мисолҳо барои фаҳмиш, ин мақола фарқияти байни ин ду мафҳумро омӯхтааст.
SDK чист?
SDK маънои маҷмӯаи таҳияи нармафзорро дорад, тавре ки аз номаш бармеояд. Ин маҷмӯаест, ки асбобҳои нармафзор ва барномаҳоеро дар бар мегирад, ки барномасозон барои сохтани замимаҳо барои платформаҳои гуногун лозиманд.
Он ҳама чизро дар бар мегирад, ки барои сохтани модули барнома лозим аст. Як гурӯҳи воситаҳои таҳияи нармафзор, ки ба платформаҳо хосанд, SDK-ро ташкил медиҳанд.
Ин воситаҳо метавонанд ислоҳкунандаҳо, компиляторҳо, китобхонаҳои кодҳо (инчунин ҳамчун чаҳорчӯба маълуманд) ё реҷаҳо ва зерпрограммаҳое бошанд, ки махсус барои системаи амалиётӣ тарҳрезӣ шудаанд.
Ба монанди он, ки чӣ гуна шумо барои дуруст насб кардани миз якчанд маҳсулоти гуногунро талаб мекунед, истифодаи SDK ба ин кор монанд аст. Ин аз ҷузъҳои инфиродии мизи корӣ, дастурҳои танзим ва таҷҳизоте, ки ба шумо барои васл кардани миз лозим аст, иборат хоҳад буд.
Қисмҳои маъмулии SDK аз инҳо иборатанд:
- Китобхонаҳои рамзӣ: Ба ҷои чарх задани чарх, таҳиягарон метавонанд ба шарофати китобхонаҳои кодҳо аз захираҳои қаблан мавҷудбуда (ба монанди пайдарпаии рамзҳо) истифода баранд.
- Асбобҳо барои санҷиш ва таҳлил: Ин асбобҳо арзёбӣ мекунанд, ки чӣ гуна барнома дар танзимоти санҷиш ва истеҳсолот кор мекунад.
- Ҳуҷҷатҳо: Дар тӯли раванди таҳия, таҳиягарон ҳангоми зарурат бо дастурҳои хаттӣ машварат мекунанд.
- Компилятор: Компилятор нармафзорест, ки изҳоротро бо забонҳои барномасозӣ таҳлил мекунад ва онҳоро ба "код" табдил медиҳад, ки протсессор метавонад дарк кунад.
- Debugger: Debugger ба барномасозон барои дарёфт ва ислоҳи хатогиҳои код кӯмак мекунад.
- Намунаҳои рамзҳо вазифаҳо ё ҳолатҳои барномасозиро ошкор мекунанд, ки фаҳмиши муфассалтари барнома ё саҳифаи вебро таъмин мекунанд.
- Реҷаҳо ва зерпрограммаҳо: Дар коди умумии компютер, реҷа ё зерпрограмма усул, функсия, амалиёт, зерпрограмма ё порчаи кодест, ки онро дар ҳама ҷо даъват кардан ва иҷро кардан мумкин аст. Масалан, барои анҷом додани интихоби захира кардани файл як тартиб истифода мешавад.
SDKҳо чӣ гуна кор мекунанд?
SDK-ҳо ба таҳиягарон дастрасӣ ба асбобҳои гуногунро фароҳам меоранд, ки онҳо барои зуд сохтани барномаҳои нармафзор лозиманд.
Масалан, барои Android-и Google ва iOS-и Apple, Facebook, масалан, SDK-ро пешниҳод мекунад. Ин SDKҳо ҳамчун китобхонаҳои ройгон ва кушодаасос хидмат мекунанд, ки дохил кардани Facebook-ро ба замимаи Android ё iOS-и худ осонтар мекунанд.
Илова бар ин, Microsoft ба.NET як чаҳорчӯбаи SDK-ро барои барномаҳои мураккаб таъмин мекунад. Он мисолҳо, захираҳо ва китобхонаҳоро дар бар мегирад, ки барои сохтани барномаҳои Windows лозиманд.
Акнун, ки шумо бо хусусиятҳои SDK шинос ҳастед, биёед бифаҳмем, ки онҳо чӣ гуна кор мекунанд.
- Шумо бояд аввал барои платформаи худ "маҷмӯа" -и заруриро харед, зеркашӣ кунед ва насб кунед. Ин метавонад ба зеркашии файлҳо бо дастурҳо, мисолҳо ва ҷузъҳои ҷузъӣ дахл дошта бошад.
- Баъдан, шумо метавонед ба муҳити ҳамгирошудаи рушд (IDE) ва ҳамаи абзорҳое, ки барои сохтани барномаи нав лозиманд, дастрасӣ пайдо кунед. Он гоҳ барномасозон метавонанд ба эҷоди барномаҳои худ шурӯъ кунанд. Вазифаи компилятор ҳоло равшан аст.
- Дар ниҳоят, шумо метавонед барномаи навро бо истифода аз ҳуҷҷатҳо, мисолҳои код, дастурҳо ва абзорҳои таҳлилӣ санҷед.
Пас аз анҷоми ин қадамҳо шумо метавонед саёҳати худро бо SDK оғоз кунед.
Намудҳои SDK
SDKҳо асос барои таҳияи вебсайтҳо ва барномаҳои мобилӣ мебошанд.
Биёед якчанд намуди маъмулии SDK-ро дида бароем.
- Платформаи SDK: Ин SDK абзорҳои муҳим барои эҷоди барномаҳо барои ҳама платформаҳо мебошанд. Масалан, барномаҳои Дӯкони Windows 11 бо истифода аз Windows 11 SDK сохта мешаванд.
- SDK-ҳои васеъ: Ин маҷмӯаҳои иловагии таҳияи нармафзор барои беҳтар ва фардӣ кардани муҳити рушд истифода мешаванд. Бо вуҷуди ин, онҳо барои сохтани барномаҳо барои платформаи муайян зарур нестанд.
- SDK-ҳои Analytics: Ин SDKҳо маълумотро дар бораи фаъолиятҳо, рафтори корбарон ва ғайра ҷамъ мекунанд, масалан, SDK Analytics аз Google.
- SDK-ҳо барои монетизатсия: Ин SDK-ҳоро таҳиягарон барои ворид кардани таблиғ ба барномаҳои мавҷуда истифода мебаранд. Онҳо бо ҳадафи истисноии пул кор кардан таъсис дода шудаанд.
- SDK барои забонҳои барномасозӣ: Ин SDKҳо барои сохтани барномаҳо бо забонҳои муайян истифода мешаванд. Масалан, маҷмӯи Java Developer (JDK) барои сохтани барномаҳое истифода мешавад, ки забони барномасозии Java-ро истифода мебаранд.
Манфиатҳои SDK
- Таҳияи нармафзорро метавон аз сабаби дастрасии оддии SDK ба ҷузъҳои тайёр суръат бахшад.
- Бо сабаби раванди суръатбахши рушд, ки аз ҷониби SDKҳо таъмин карда мешавад, таҳиягарон метавонанд пораҳои кодро дубора истифода баранд. Ин ба барномасозон имкон медиҳад, ки вақти зиёдро ба иҷрои вазифаҳои муҳим тамаркуз кунанд.
- SDKҳо барои нармафзор ва ҳамкории бефосилаи барномаҳо таъмин мекунанд. Илова бар ин, онҳо дастрасии осонро ба маълумоти зарурӣ тавассути ҳуҷҷатҳои мувофиқ пешниҳод мекунанд.
- SDK-ҳо бо ҳуҷҷатҳои ҳамаҷониба ва кӯмаки коди дарунсохт муҷаҳҳаз шудаанд. Дар натиҷа, таҳиягарон лозим нест, ки мутахассисони мавзӯъро ҷустуҷӯ кунанд, то ба саволҳои худ ҷавоб диҳанд.
- Унсурҳои дар боло зикршуда барои кам кардани хароҷоти нолозим ҳангоми таҳияи нармафзор ва марҳилаҳои пас аз ҷойгиркунӣ кӯмак мекунанд.
Акнун биёед ба қисми гузариши API гузарем.
API чист?
Интерфейси барномасозии барномаҳо бо ихтисораи API маълум аст. Он маҷмӯи дастурҳоро тавсиф мекунад, ки тавассути онҳо платформаҳо, гаҷетҳо ё барномаҳо ба ҳамдигар пайваст мешаванд ва маълумот мубодила мекунанд.
APIҳо метавонанд объектҳои алоҳида ё ҷузъи SDK бошанд. Он дар ҳарду ҳолат ҳамоҳангиро дар бисёр барномаҳо дар сатҳи системавӣ эҷод мекунад.
Эҷоди API-ҳои муассир ба таҳиягарон такя мекунад, ки аз нармафзори хусусӣ ё ғайриозод бештар истифода мебаранд. Пас аз он, онҳо метавонанд хидматҳои таҳияшудаи API-ро, ки истеъмолкунандагон дастрасанд, истифода баранд.
Шартномаи дуҷониба ва API шабеҳанд. Дар баробари интиқоли босуръати иттилоот, он инчунин дастурҳоро оид ба тарзи интиқоли иттилоот медиҳад.
Истилоҳҳои "API" ва "интерфейс" баъзан барои ишора ба як чиз истифода мешаванд, зеро маълум аст, ки баъзе APIҳо "интерфейс" -ро таъмин мекунанд.
API дорои ду қисмати муҳим аст:
- Маводи техникӣ: Маълумот дар бораи протоколҳо барои ҳамгироии API ҳамчун мушаххасоти API номида мешавад (яъне бо дигар платформаҳо ва барномаҳо). Он бояд ҳамаҷониба ҳуҷҷатгузорӣ карда шавад, то кафолат диҳад, ки API самаранок истифода мешавад.
- Пайвастшавӣ: Интерфейс воситаи расидан ба APIҳоро пешниҳод мекунад. Агар он веб API бошад, онро бо калимаи калидӣ ё тавассути интерфейси дигар дастрас кардан мумкин аст.
Чӣ тавр API кор мекунад?
APIҳо муоширати бефосиларо дар маҷмӯи барномаҳои гуногун имкон медиҳанд. Мисоли як мағозаи супермаркетро гиред, ки дар он шумо аллакай барномае доред, ки муштариён метавонанд ашёро онлайн аз назар гузаронанд ва фармоиш диҳанд.
Барномаи шумо аллакай ин хидматро пешниҳод мекунад. Биёед тасаввур кунем, ки истеъмолкунандагон инчунин мехоҳанд дар як минтақаи муайяни шаҳр мағозаҳои хӯрокворӣ ҷустуҷӯ кунанд.
Дар ин ҳолат, шумо метавонед барномаи худро ба провайдерҳои маъруфи хидматрасонии хӯрокворӣ дар шаҳр пайваст кунед. Бо татбиқи API-и geolocation, корбарон метавонанд бидуни ташвиш дар бораи як барномаи алоҳидаи геолокатсия мағозаҳои хӯрокворӣ ҷустуҷӯ кунанд.
Аз нуқтаи назари технологӣ, дархости API амалҳои дар зер овардашударо дар бар мегирад:
- Вазифаи барномаи шумо аз ҷониби корбари барнома, ки дархост эҷод мекунад, оғоз мешавад.
- Бо занг задан ба веб-сервер, API дархостро интиқол медиҳад. Дархост одатан барои расидан ба нуқтаи ниҳоии API пешбинӣ шудааст, аз ин рӯ API медонад, ки онро ба куҷо фиристад. Нуқтаи ниҳоӣ аз ҷониби URL-и сервер муайян карда мешавад.
- Дар ниҳоят, кор ба анҷом мерасад, зеро пойгоҳи додаҳо ё барномаи беруна хидмати заруриро пешкаш мекунад.
Намудҳои API
REST (Интиқоли намояндагии давлатӣ)
Яке аз шаклҳои маъмултарини API REST API мебошад, ки бояд аз рӯи як қатор стандартҳо, аз ҷумла:
- Меъмории мизоҷ-сервер: Тағйироти сервер набояд ба мизоҷон таъсир расонад
- CRUD (Эҷод кардан, Хондан, Навсозӣ, Нобуд кардан) ва JSON аз ҷониби муштарӣ ва сервер барои муошират истифода мешаванд.
- Байни ҳар ду дархост, сервер ҳолати муштариро нигоҳ намедорад.
Интиқоли маълумот аксар вақт REST-ро истифода мебарад. Барои ба даст овардани ном, макон ва тасвири профили корбари Facebook дар барномаи дигар, масалан, яке аз API-и Facebook истифода мешавад.
API-ҳои SOAP (Протоколи дастрасии оддӣ).
Онҳо API-ҳои ба веб асосёфта мебошанд, ки ҳангоми зарурати баланд бардоштани махфияти маълумот ва амнияти маълумот истифода мешаванд. Онҳо қодиранд тавассути протоколҳои интернетӣ, аз ҷумла HTTP, SMTP, TCP/IP ва ғайра муошират кунанд.
REST як парадигмаи меъморӣ аст, дар ҳоле ки SOAP маҷмӯи протоколҳо мебошад. Дар натиҷа, протоколҳои SOAP-ро барои таҳияи API-ҳои RESTful истифода бурдан мумкин аст.
RPC (Даъвати тартиби дурдаст)
Ин барои иҷро кардани код дар системаи дигар истифода мешавад. RPC усулҳоро даъват мекунад, бар хилофи REST, ки муштарӣ танҳо маълумотро дархост мекунад. Дархостҳое, ки бо номи XML-RPC ва JSON-RPC маълуманд, метавонанд дар шаклҳои XML ё JSON пешниҳод карда шаванд.
Пас аз истифода шудани тартиб, дархосткунанда посухи системаи дигарро интизор аст.
Масалан, API шлюзи пардохт рақами корти кредитиро тасдиқ мекунад (бо иҷро кардани код дар хулосаи худ) ва барномаи дархосткунандаро огоҳ мекунад, ки агар он муваффақ ё ноком бошад.
Манфиатҳои API
- Ҳам корбарони муқаррарӣ ва ҳам ҷонибдорони рушд аз APIҳо баҳра мебаранд. Барои такмил додани системаҳои агентӣ ва баланд бардоштани иқтидори тиҷоратии созмон, таҳиягарон метавонанд бо ҷонибҳои манфиатдори тиҷорат ҳамкорӣ кунанд.
- APIҳо барномаҳои нармафзори якхеларо ҳангоми беҳтар кардани иҷрои умумии барнома ё маҳсулот пайваст мекунанд.
- Пас аз эҷод кардан, маълумотро тавассути дастрасии API тавассути каналҳои гуногун ба осонӣ мубодила ва дубора истифода бурдан мумкин аст.
- Мутобиқсозӣ тавассути APIҳо имконпазир аст. Бо мутобиқ кардани иттилоот ё хидматҳо ба ниёзҳои худ, ҳар як корбар ё тиҷорат метавонад аз ин фоида ба даст орад.
- APIҳо ба барномасозон дар суръат бахшидан ба раванди таҳияи нармафзор кӯмак мекунанд. Автоматикунонии API калидро дар худ нигоҳ медорад, зеро барои идора кардани кор компютерҳо на як гурӯҳи кории дастӣ истифода мешаванд. Ширкатҳо метавонанд ба шарофати APIҳо равандҳои кории худро якбора навсозӣ кунанд.
SDK ва APIs: Фарқиятҳои асосӣ
Тавре ки тавзеҳоти қаблӣ нишон медиҳанд, ин ақидаҳо воқеан ҳам ба ҳам меоянд ва бо ҳам алоқаманданд, ки фарқиятҳои онҳоро фарқ мекунанд.
Бо вуҷуди ин, мо кӯшиш хоҳем кард, ки тафовути возеҳро муайян кунем, то ҳар як номуайянии боқимондаро бартараф кунем.
- API-ҳо метавонанд SDK-ҳоро дар бар гиранд, аммо SDK-ҳоро APIҳо дар бар гирифта наметавонанд.
- Ду барнома метавонанд ба шарофати API муошират кунанд. Ҳама асбобҳое, ки ба шумо барои аз сифр сохтани барномаҳо лозиманд, дар SDK ҳастанд.
- API-ҳо аз ҷониби SDK-ҳо барои фаъол кардани муоширати байни ду барнома истифода мешаванд. Барномаҳоро тавассути API эҷод кардан мумкин нест.
- SDK-ҳо осонтар истифода мешаванд ва зудтар ҳамгиро мешаванд. API-ҳо соддаанд ва китобхонаҳои код надоранд.
- Аслан, API ҳамчун интерфейси барнома хизмат мекунад. SDK-ҳо барои эҷоди барномаҳо блокҳои сохтмонӣ мебошанд.
- Таҳиягарон ҳамеша барномаҳоро бо истифода аз SDK эҷод мекунанд. Танҳо вақте ки талабот барои тамоси беруна бо платформаҳои дигар вуҷуд дорад, APIҳо ба расм ворид мешаванд.
- APIҳо дархостҳоро аз як барнома ба барномаи дигар интиқол медиҳанд ва ба барномаи аслӣ посух медиҳанд. SDK ҳама чизеро дар бар мегирад, ки шумо барои муошират бо дигар барномаҳо ва сохтани барномаҳо лозим аст.
Интихоб байни SDK ва API
Аслан, APIҳо тавсиф мекунанд, ки чӣ гуна якчанд платформаҳо амалиёти худро ҳамоҳанг карда метавонанд. Тавассути протоколҳо ва стандартҳо онҳо ба ҳамгироии барномаҳо мусоидат мекунанд. Аз ин рӯ, онҳо яке аз қисмҳои муҳими SDK мебошанд.
Аммо, истифодаи API-ҳо барои сохтани барномаҳо аз замин имконнопазир аст.
SDKҳо эҷоди нармафзор ё барномаҳои навро, ки барои платформаи муайян ё забони барномасозӣ тахассус шудаанд, осонтар мекунанд. Одатан, SDK дорои ҳадди аққал як API барои иртиботи беруна мебошад.
SDK-ро барои платформае, ки барномаи шумо дар он кор мекунад, истифода баред, масалан iOS, агар шумо онро барои ин платформа таҳия карда бошед. Барои муошират бо дигар барномаҳои онлайн, ба монанди Facebook, API-и барномаро истифода баред.
хулоса
Хулоса, SDK-ҳо аксар вақт API-ҳоро дар бар мегиранд, аммо ҳеҷ API бо SDK-ҳо намеояд. SDKҳо имкон медиҳанд, ки барномаҳо эҷод кунанд, ҳамон тавре ки таҳкурсии хона имкон медиҳад, ки хона баланд шавад.
Илова бар ин, APIҳо муайян мекунанд, ки чӣ тавр барномаҳо дар дохили SDK кор ва муошират кунед, ҳамон тавре ки хатҳои телефон барои тамос бо ҷаҳони беруна кор мекунанд.
Дин ва мазҳаб