Programming with Bekzhanov dan repost
π API nima va ular qanday bo'ladi? π§
API (Application Programming Interface) β bu dasturlar o'rtasida o'zaro ta'sir qilish imkonini beradigan dasturlash interfeysi.
Oddiy so'zlar bilan aytganda, API bu restoran ofitsiantiga o'xshaydi. Tasavvur qiling, siz buyurtma berasiz (sizning so'rovingiz, request), ofitsiant uni oshxonaga (dastur) yetkazadi va keyin ofitsiant sizga ovqatni (dastur javobi, response) olib keladi.
API-larning qanday turlari mavjud? π
1. REST API (Representational State Transfer API). Bu veb-ilovalar uchun juda mos keladi, chunki u REST me'morchilik tamoyillari asosida qurilgan bo'lib, ular HTTP protokoli orqali ishlaydi: β Mijoz-server arxitekturasi β Holatni saqlamaslik (stateless) β Keshlash imkoniyati β Yagona interfeys (GET, POST, PUT, DELETE, PATCH)
2.SOAP API (Simple Object Access Protocol). Bu tarmoq orqali ilovalar o'rtasida xabar almashish uchun ishlatiladigan protokol. REST'ga qaraganda qattiqroq va murakkabroq: β Xabar almashish uchun XML'dan foydalanadi. β Yuqori darajadagi xavfsizlikni (WS-Security) qo'llab-quvvatlaydi. β So'rov va javob formatlari uchun qat'iy qoidalar o'rnatadi. β Korporativ dasturlarda, masalan, bank tizimlarida ishlatiladi.
3.GraphQL. Bu REST API ga nisbatan yanada moslashuvchanroq variant bo'lib, Facebook tomonidan API ma'lumotlarini so'rash uchun yaratilgan til: β Bir so'rov bir vaqtning o'zida bir nechta resurslardan ma'lumotlarni qaytarishi mumkin. β Murakkab dasturlar uchun kamroq resurs talab qiladi, masalan, ijtimoiy tarmoqlar.
4.gRPC (gRPC Remote Procedure Calls). Google tomonidan ishlab chiqilgan yuqori samarali, ochiq manbali masofaviy protsedura chaqiruvlari (RPC) ramkasi: β Ma'lumotlarni seriyalashtirish uchun tezroq va ixchamroq bo'lgan Protocol Buffers (protobuf) formatidan foydalanadi. β Ikki tomonlama oqim ma'lumotlarini qo'llab-quvvatlaydi. β Ko'pincha yuqori samaradorlikka ega tarqatilgan tizimlar, mikroxizmatlar va real-time dasturlarda qo'llaniladi.
5.WebSocket API. Bu mijoz va server o'rtasida ikki tomonlama aloqa uchun bir vaqtning o'zida bir ulanish orqali doimiy aloqa o'rnatadigan protokol bo'lib, real-time dasturlar uchun juda mos keladi: β Mijoz va server o'rtasida doimiy ulanishni ta'minlaydi. β Tezlik va minimal kechikish muhim bo'lgan chat dasturlari, onlayn o'yinlar va boshqa real-time xizmatlarda keng qo'llaniladi.
@Programming_with_Bekzhanov
API (Application Programming Interface) β bu dasturlar o'rtasida o'zaro ta'sir qilish imkonini beradigan dasturlash interfeysi.
Oddiy so'zlar bilan aytganda, API bu restoran ofitsiantiga o'xshaydi. Tasavvur qiling, siz buyurtma berasiz (sizning so'rovingiz, request), ofitsiant uni oshxonaga (dastur) yetkazadi va keyin ofitsiant sizga ovqatni (dastur javobi, response) olib keladi.
API-larning qanday turlari mavjud? π
1. REST API (Representational State Transfer API). Bu veb-ilovalar uchun juda mos keladi, chunki u REST me'morchilik tamoyillari asosida qurilgan bo'lib, ular HTTP protokoli orqali ishlaydi: β Mijoz-server arxitekturasi β Holatni saqlamaslik (stateless) β Keshlash imkoniyati β Yagona interfeys (GET, POST, PUT, DELETE, PATCH)
2.SOAP API (Simple Object Access Protocol). Bu tarmoq orqali ilovalar o'rtasida xabar almashish uchun ishlatiladigan protokol. REST'ga qaraganda qattiqroq va murakkabroq: β Xabar almashish uchun XML'dan foydalanadi. β Yuqori darajadagi xavfsizlikni (WS-Security) qo'llab-quvvatlaydi. β So'rov va javob formatlari uchun qat'iy qoidalar o'rnatadi. β Korporativ dasturlarda, masalan, bank tizimlarida ishlatiladi.
3.GraphQL. Bu REST API ga nisbatan yanada moslashuvchanroq variant bo'lib, Facebook tomonidan API ma'lumotlarini so'rash uchun yaratilgan til: β Bir so'rov bir vaqtning o'zida bir nechta resurslardan ma'lumotlarni qaytarishi mumkin. β Murakkab dasturlar uchun kamroq resurs talab qiladi, masalan, ijtimoiy tarmoqlar.
4.gRPC (gRPC Remote Procedure Calls). Google tomonidan ishlab chiqilgan yuqori samarali, ochiq manbali masofaviy protsedura chaqiruvlari (RPC) ramkasi: β Ma'lumotlarni seriyalashtirish uchun tezroq va ixchamroq bo'lgan Protocol Buffers (protobuf) formatidan foydalanadi. β Ikki tomonlama oqim ma'lumotlarini qo'llab-quvvatlaydi. β Ko'pincha yuqori samaradorlikka ega tarqatilgan tizimlar, mikroxizmatlar va real-time dasturlarda qo'llaniladi.
5.WebSocket API. Bu mijoz va server o'rtasida ikki tomonlama aloqa uchun bir vaqtning o'zida bir ulanish orqali doimiy aloqa o'rnatadigan protokol bo'lib, real-time dasturlar uchun juda mos keladi: β Mijoz va server o'rtasida doimiy ulanishni ta'minlaydi. β Tezlik va minimal kechikish muhim bo'lgan chat dasturlari, onlayn o'yinlar va boshqa real-time xizmatlarda keng qo'llaniladi.
@Programming_with_Bekzhanov