Гарчиг[Нуух][Үзүүлэх]
Олон компаниуд цаг үеийн өөрчлөлт, дэлхийн өнөөгийн үйл ажиллагааны дагуу хэрэглэгчиддээ дижитал туршлага өгөхийн тулд практик хэрэглээ, програм хангамжийг хөгжүүлэхийг хичээж байна.
Ингэснээр тэд үйлчлүүлэгчдийнхээ шаардлагыг илүү сайн хангаж чадна.
Эдгээр дижитал алсын харааг бодит болгохын тулд хөгжүүлэгчидтэй ажиллах нь хэцүү байж магадгүй юм. Тэдгээрийн нэг нь програм хангамж боловсруулах явцад хэрэглэгддэг гол нэр томъёо, ойлголтуудыг мэддэг байх явдал юм.
Хамгийн муу нь, хөгжүүлэгч бүр эдгээр санаагаа салбарынхаа мэргэжилтэн биш хүмүүст товч бөгөөд энгийнээр илэрхийлж чаддаггүй. SDK болон API нь ийм хоёр санаа юм.
Хэдийгээр эдгээр хэллэгүүд нь програм хангамж боловсруулах явцад ихэвчлэн хэрэглэгддэг тул давхцдаг.
Үүнээс болж тэднийг ялгах нь одоо илүү хэцүү болсон. Нэмж дурдахад, зарим хөгжүүлэгчид системийг холбохдоо энэ хоёрын аль нэгийг сонгохыг хүсч болох бөгөөд энэ нь асуудал үүсгэдэг.
Үзэл баримтлалыг бүрэн ойлгоогүй байхад яаж тэдний дундаас сонгох вэ? Тэдгээрийн аль нэгийг нь сонгох шаардлагатай юу?
Ойлголтод туслах тодорхой тодорхойлолт, жишээ, жишээнүүдийн тусламжтайгаар энэхүү нийтлэл нь эдгээр хоёр ойлголтын ялгааг судлах болно.
SDK гэж юу вэ?
SDK гэдэг нь нэрнээс нь харахад програм хангамж хөгжүүлэх хэрэгсэл гэсэн үг юм. Энэ нь программистуудад янз бүрийн платформд зориулсан програм бүтээхэд шаардлагатай программ хангамжийн хэрэгсэл, програмуудыг багтаасан иж бүрдэл юм.
Энэ нь програмын модулийг үүсгэхэд шаардлагатай бүх зүйлийг агуулдаг. Платформд зориулагдсан програм хангамж хөгжүүлэх хэрэгслүүдийн бүлэг нь SDK-г бүрдүүлдэг.
Эдгээр хэрэгслүүд нь дибаг хийгч, хөрвүүлэгч, кодын номын сан (бас фреймворк гэж нэрлэдэг) эсвэл үйлдлийн системд тусгайлан зориулсан горим, дэд программууд байж болно.
Ширээгээ зөв тохируулахын тулд хэд хэдэн өөр бүтээгдэхүүн шаардахтай адил SDK ашиглах нь үүнийг хийхтэй адил юм. Энэ нь ширээний бие даасан бүрэлдэхүүн хэсгүүд, тохируулах заавар, ширээ угсрахад шаардлагатай тоног төхөөрөмжөөс бүрдэнэ.
Ердийн SDK-ийн барилгын хэсгүүд нь дараахь зүйлсээс бүрдэнэ.
- Кодын сангууд: Хөгжүүлэгчид дугуйг эргүүлэхийн оронд кодын номын сангийн ачаар урьд өмнө байгаа нөөцүүдийг (кодын дараалал гэх мэт) ашиглаж болно.
- Туршилт, дүн шинжилгээ хийх хэрэгслүүд: Эдгээр хэрэгслүүд нь туршилт болон үйлдвэрлэлийн аль алинд нь програм хэр сайн ажиллаж байгааг үнэлдэг.
- Баримт бичиг: Хөгжүүлэлтийн явцад хөгжүүлэгчид шаардлагатай бол бичгээр зааварчилгаа авдаг.
- Хөрвүүлэгч: Хөрвүүлэгч нь програмчлалын хэл дээрх мэдэгдлүүдийг шинжилж, процессорын ойлгохуйц "код" болгон хувиргадаг програм хангамж юм.
- Дебаггер: Дибаглагч нь програмистуудад кодын алдааг олж засварлахад тусалдаг.
- Кодын дээжүүд нь программчлах ажил, нөхцөл байдлыг илчилж, програм эсвэл вэб хуудасны талаар илүү нарийвчилсан ойлголтыг өгдөг.
- Хөдөлгөөн ба дэд программууд: Компьютерийн ерөнхий кодын хувьд горим эсвэл дэд програм нь хаана ч дуудаж, гүйцэтгэх боломжтой арга, функц, үйлдэл, дэд програм эсвэл кодын хэсэг юм. Жишээлбэл, файлыг хадгалах сонголтыг хийхэд процедурыг ашигладаг.
SDK хэрхэн ажилладаг вэ?
SDK нь програм хангамжийн программыг хурдан бүтээхэд шаардлагатай төрөл бүрийн хэрэгслээр хөгжүүлэгчдэд хандах боломжийг олгодог.
Жишээлбэл, Google-ийн Android болон Apple-ийн iOS үйлдлийн системүүдийн хувьд Facebook нь SDK-г санал болгодог. Эдгээр SDK нь үнэгүй, нээлттэй эхийн номын сан болж үйлчилдэг бөгөөд энэ нь Facebook-ийг Android эсвэл iOS програмдаа оруулахад хялбар болгодог.
Нэмж дурдахад Microsoft.NET нь нарийн төвөгтэй програмуудад зориулсан SDK-г өгдөг. Үүнд Windows програмыг бий болгоход шаардлагатай жишээ, нөөц, номын сангууд багтсан болно.
Одоо та SDK-ийн онцлогтой танилцсан тул тэдгээр нь хэрхэн ажилладагийг авч үзье.
- Та эхлээд платформдоо шаардлагатай "иж бүрдэл"-ийг худалдаж аваад, татаж аваад суулгах ёстой. Энэ нь заавар, жишээ, бүрэлдэхүүн хэсэг бүхий файлуудыг татаж авахад хамааралтай байж болно.
- Дараа нь та нэгдсэн хөгжүүлэлтийн орчин (IDE) болон шинэ програм үүсгэхэд шаардлагатай бүх хэрэгслүүдэд хандах боломжтой. Дараа нь програмистууд програмаа үүсгэж эхлэх боломжтой. Хөрвүүлэгчийн үүрэг одоо тодорхой боллоо.
- Эцэст нь та баримт бичиг, кодын жишээ, заавар, аналитик хэрэгслийг ашиглан шинэ програмыг туршиж үзэх боломжтой.
Та эдгээр алхмуудыг дуусгасны дараа SDK-тэй адал явдалаа эхлүүлж болно.
SDK-ийн төрлүүд
SDK нь вэбсайт болон гар утасны програмуудыг хөгжүүлэх үндэс суурь болдог.
Ердийн SDK-ийн цөөн хэдэн төрлийг авч үзье.
- Платформ SDK: Эдгээр SDK нь бүх платформд зориулсан програм үүсгэхэд шаардлагатай чухал хэрэгсэл юм. Жишээлбэл, Windows 11 Дэлгүүрийн програмуудыг Windows 11 SDK ашиглан бүтээдэг.
- Өргөтгөл SDK: Эдгээр нэмэлт програм хангамж хөгжүүлэх иж бүрдэл нь хөгжүүлэлтийн орчныг сайжруулах, хувийн болгоход ашиглагддаг. Тэд тодорхой платформд зориулсан програм үүсгэх шаардлагагүй.
- Analytics SDKs: Эдгээр SDK нь хэрэглэгчийн үйл ажиллагаа, зан төлөв гэх мэт мэдээллийг цуглуулдаг, жишээлбэл Google-ийн Analytics SDK.
- Мөнгө олох SDK-ууд: Эдгээр SDK-г хөгжүүлэгчид аль хэдийн байгаа програмуудад зар оруулахад ашигладаг. Тэд мөнгө олох онцгой зорилготойгоор байгуулагдсан.
- Програмчлалын хэлэнд зориулсан SDK: Эдгээр SDK нь тодорхой хэл дээр програм үүсгэхэд ашиглагддаг. Жишээлбэл, Java Developer Kit (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-г хэрэгжүүлснээр хэрэглэгчид газарзүйн байршлын тусдаа програмын талаар санаа зовохгүйгээр хүнсний дэлгүүр хайж болно.
Технологийн үүднээс авч үзвэл API хүсэлт нь доор жагсаасан үйлдлүүдийг агуулна.
- Таны апп-ын ажлыг хүсэлтийг үүсгэгч програмын хэрэглэгч эхлүүлнэ.
- Вэб сервер рүү залгаснаар API хүсэлтийг дамжуулдаг. Хүсэлт нь ихэвчлэн API төгсгөлийн цэгт хүрэх зорилготой тул API хаана илгээхээ мэддэг. Төгсгөлийн цэгийг серверийн URL-аар тодорхойлно.
- Эцэст нь мэдээллийн сан эсвэл гаднах программ шаардлагатай үйлчилгээг үзүүлснээр ажил дуусна.
API-ийн төрлүүд
REST (Төлөөлөгчийн төрийн шилжүүлэг)
API-ийн хамгийн түгээмэл хэлбэрүүдийн нэг нь REST API бөгөөд хэд хэдэн стандартыг дагаж мөрдөх ёстой, үүнд:
- Үйлчлүүлэгч-серверийн архитектур: Үйлчлүүлэгчид серверийн өөрчлөлтөд нөлөөлөх ёсгүй
- CRUD (Create, Read, Update, Delete) болон JSON-г үйлчлүүлэгч болон серверүүд харилцахдаа ашигладаг.
- Хоёр хүсэлтийн хооронд сервер нь үйлчлүүлэгчийн статусыг хадгалахгүй.
Өгөгдлийн тээвэрлэлт нь ихэвчлэн REST-г ашигладаг. Фэйсбүүк хэрэглэгчийн нэр, байршил, профайлын зургийг өөр программ болгон авахын тулд Facebook API ашигладаг.
SOAP (Simple Object Access Protocol) API
Эдгээр нь мэдээллийн нууцлал, аюулгүй байдлыг нэмэгдүүлэх шаардлагатай үед ашигладаг вэбэд суурилсан API юм. Тэд HTTP, SMTP, TCP/IP гэх мэт вэб протоколуудаар дамжуулан харилцах чадвартай.
REST бол архитектурын парадигм бол SOAP нь протоколуудын цуглуулга юм. Үүний үр дүнд SOAP-д суурилсан протоколуудыг RESTful API-г боловсруулахад ашиглаж болно.
RPC (Алсын процедурын дуудлага)
Энэ нь кодыг өөр систем дээр ажиллуулахад ашиглагддаг. RPC нь REST-ээс ялгаатай аргуудыг дууддаг бөгөөд үйлчлүүлэгч зөвхөн өгөгдөл хүсдэг. XML-RPC болон JSON-RPC гэгддэг хүсэлтийг XML эсвэл JSON хэлбэрээр илгээж болно.
Процедурыг хэрэглэсний дараа хүсэлт гаргагч өөр системээс хариу ирэхийг хүлээж байна.
Жишээлбэл, төлбөрийн гарц API нь зээлийн картын дугаарыг баталгаажуулж (дүгнэлтэнд нь код ажиллуулж), амжилттай эсвэл амжилтгүй болсон тохиолдолд хүсэлт гаргасан апп-д мэдэгдэнэ.
API-ийн ашиг тус
- Байнгын хэрэглэгчид болон хөгжүүлэгчид хоёулаа API-аас ашиг тус хүртдэг. Агентлагийн системийг шинэчлэх, байгууллагын арилжааны чадавхийг нэмэгдүүлэхийн тулд хөгжүүлэгчид бизнесийн оролцогч талуудтай хамтран ажиллах боломжтой.
- API нь өөр өөр програм хангамжийн программуудыг хооронд нь холбож, тухайн программ эсвэл бүтээгдэхүүний ерөнхий гүйцэтгэлийг сайжруулдаг.
- Мэдээллийг үүсгэсний дараа API хандалтаар дамжуулан олон төрлийн сувгаар хялбархан хуваалцаж, өөр зориулалтаар ашиглах боломжтой.
- API ашиглан тохируулга хийх боломжтой. Мэдээлэл, үйлчилгээг хэрэгцээнд нь тохируулснаар хэрэглэгч, бизнес бүр үүнээс ашиг хүртэх боломжтой.
- API нь программистуудад програм хангамж боловсруулах үйл явцыг хурдасгахад тусалдаг. Ажлыг зохицуулахын тулд гарын авлагын ажлын хэсэг гэхээсээ илүү компьютер ашигладаг тул API автоматжуулалт нь гол түлхүүр юм. API-ийн ачаар компаниуд ажлын урсгалаа нэг дор шинэчлэх боломжтой.
SDK ба API: Гол ялгаанууд
Өмнөх тайлбаруудаас харахад эдгээр санаанууд нь үнэхээр хоорондоо давхцаж, тэдгээрийн ялгааг ялгах арга замаар хоорондоо холбоотой байдаг.
Гэсэн хэдий ч бид үлдэгдэл тодорхойгүй байдлыг арилгахын тулд тодорхой ялгааг гаргахыг хичээх болно.
- 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-г агуулдаг.
Хэрэв та тухайн платформд зориулан хөгжүүлж байгаа бол iOS гэх мэт аппликешн дээрээ ажиллах SDK-г ашиглаарай. Facebook зэрэг бусад онлайн програмуудтай харилцахын тулд програмын API-г ашиглана уу.
Дүгнэлт
Дүгнэж хэлэхэд, SDK нь ихэвчлэн API-г агуулдаг боловч ямар ч API SDK-тэй хамт ирдэггүй. SDK нь байшингийн суурь нь байшинг өндөр байлгах боломжийг олгодог шиг програм үүсгэх боломжийг олгодог.
Нэмж дурдахад API нь хэрхэн хийхийг тодорхойлдог SDK доторх програмууд Утасны шугамууд гадаад ертөнцтэй харилцахтай адил үйл ажиллагаа явуулж, харилцах.
хариу үлдээх