#javob
Tushunarliroq qilishga harakat qilaman:
Bilasiz, API (boshlanishiga, faqat web APIlar haqida gaplashamiz) bizga ikki xil dastur/application orasida ma'lumot almashish uchun kerak. Masalan, frontend backend bilan ma'lumot almashishi uchun API ishlatamiz.
API ishlatish uchun esa ikkala taraf ham tushunadigan usulda ma'lumot almashish kerak. Masalan, siz Xitoy tilini bilmaysiz, u esa O'zbek tilini bilmaydi. Lekin ikkalangiz ham ingliz tilini bilsangiz bir-biringiz bilan gaplasha olasizlar.
Qaysi tilda va qanday usulda, qanday qoidalar asosida "gaplashish"ga qarab API ko'plab turlarga bo'linadi.
Web APIlar orasida eng keng tarqalgan turlaridan biri REST turidagi APIlar. RESTda ma'lumot almashish uchun JSON formatidan foydalaniladi. Va ma'lumotlarni qanday ko'rsatish va hokazo kabi bir qancha qoidalarni o'z ichiga oladi.
E'tibor bering, REST aynan bir dastur emas, balki API turi, aniqrog'i, qoidalar to'plami. Shu qoidalar asosida ishlaydigan APIlar esa REST API deyiladi.
Web uchun ishlatiladigan ko'plab dasturlash tillarida REST APIlar qurish va ulardan foydalana olish uchun texnologiyalar qurilgan. Pythonda ham bu bo'yicha yetarlicha librarylar bor.
Django standart holatda server-side renderingdan foydalanadi, REST API ishlatmaydi. Lekin Django bilan REST API qurish uchun Django REST Framework (DRF) nomni library(balki, framework, anig'ini bilmayman) bor. Qisqasi, u djangoda API qurish uchun "adapter" sifatida ishlaydi.
Boshqa python frameworklar esa standart holatda REST APIlar bilan ishlay oladi. Bulardan eng mashhurlari esa Flask va FastAPI. Ya'ni bular REST qoidalaridan foydalangan holda API qura oladigan frameworklar.
REST yagona web API turi emas. Yana eng mashhurlaridan GraphQL nomli API turi bor.
Post #218
1.05K
Forwarded from Engineering Notes
Engineering Notes #savol FastAPI nima? U ham REST APIning bir qismimi? Ikkalasining farqi nima?
- 👍 15