Full-stack dasturchi — web yoki dasturiy ilovaning frontend va backend qismlari bilan ishlay oladigan dasturchi. U foydalanuvchiga ko‘rinadigan interfeys, server logikasi, database, API va deployment jarayonlari haqida umumiy yoki amaliy bilimga ega bo‘ladi.
Full-stack dasturchi bitta loyihaning bir nechta texnik qatlamida ishlashi mumkin. Masalan, u frontend sahifani yaratadi, backend API yozadi, database modelini tuzadi va ilovani serverga joylashtirishda qatnashadi.
Vazifasi
Full-stack dasturchi ilovaning turli qismlarini bog‘lab ishlashini ta’minlaydi.
Full-stack dasturchi quyidagi vazifalarni bajarishi mumkin:
- frontend interfeys yaratish;
- backend API yozish;
- database bilan ishlash;
- authentication va authorization tizimini qo‘shish;
- frontendni backend API bilan bog‘lash;
- server sozlamalarida qatnashish;
- deployment jarayonini bajarish;
- xatoliklarni aniqlash;
- loyiha arxitekturasini tushunish;
- bir nechta texnologiyani birgalikda ishlatish.
Masalan, internet do‘kon loyihasida full-stack dasturchi mahsulotlar sahifasini yaratishi, mahsulotlar API’sini yozishi va mahsulotlarni database’dan chiqarishi mumkin.
Full-stack qanday ishlaydi?
Full-stack dasturchi ilovaning client va server tomonlarini birgalikda tushunadi. U foydalanuvchi brauzerda nima ko‘rayotganini va server ichida bu ma’lumot qanday qayta ishlanayotganini bog‘lay oladi.
Oddiy jarayon:
- foydalanuvchi frontend sahifada amal bajaradi;
- frontend backend API’ga so‘rov yuboradi;
- backend so‘rovni qabul qiladi;
- backend database bilan ishlaydi;
- server javobni JSON ko‘rinishida qaytaradi;
- frontend natijani foydalanuvchiga ko‘rsatadi.
Full-stack dasturchi shu jarayonning bir nechta bosqichida ishlay oladi.
Frontend qismi
Full-stack dasturchi frontend qismida foydalanuvchiga ko‘rinadigan interfeys bilan ishlaydi.
Frontend qismiga quyidagilar kiradi:
- sahifa tuzilmasi;
- dizayn va layout;
- responsive ko‘rinish;
- forma va tugmalar;
- API’dan ma’lumot olish;
- sahifa holatini boshqarish;
- foydalanuvchi harakatlarini qayta ishlash;
- xatolik va natijalarni ko‘rsatish.
Frontend uchun ko‘p ishlatiladigan texnologiyalar:
- HTML;
- CSS;
- JavaScript;
- TypeScript;
- React;
- Vue;
- Angular;
- Next.js;
- Nuxt;
- Tailwind CSS.
Masalan, foydalanuvchi profil sahifasini ko‘rsa, uning ko‘rinishi va interaktiv qismlari frontend orqali yaratiladi.
Backend qismi
Full-stack dasturchi backend qismida server logikasi, API, database va xavfsizlik bilan ishlaydi.
Backend qismiga quyidagilar kiradi:
- API endpointlar;
- database modellari;
- foydalanuvchi autentifikatsiyasi;
- ruxsatlarni tekshirish;
- biznes logika;
- fayl yuklash;
- email yoki notification yuborish;
- to‘lov integratsiyasi;
- server xatoliklarini qayta ishlash.
Backend uchun ko‘p ishlatiladigan texnologiyalar:
Masalan, foydalanuvchi login qilganda email va parolni tekshirish backend orqali bajariladi.
Database bilan ishlash
Full-stack dasturchi ma’lumotlar bazasi bilan ham ishlashi mumkin. U ma’lumotlar qanday saqlanishi, qaysi jadvallar bo‘lishi va ular qanday bog‘lanishini tushunadi.
Database bilan bog‘liq ishlar:
- jadval yoki model yaratish;
- relationlarni sozlash;
- query yozish;
- migration bajarish;
- indexlardan foydalanish;
- ma’lumot qo‘shish;
- ma’lumot o‘qish;
- ma’lumot yangilash;
- ma’lumot o‘chirish.
Full-stack loyihalarda keng ishlatiladigan database tizimlari:
- PostgreSQL;
- MySQL;
- SQLite;
- MongoDB;
- Redis.
Masalan, blog saytida maqola, kategoriya, foydalanuvchi va kommentlar database’da saqlanadi.
API bilan ishlash
Full-stack dasturchi frontend va backend o‘rtasidagi aloqani API orqali tashkil qiladi.
API bilan ishlashda quyidagilar uchraydi:
- REST API;
- GraphQL;
- JSON;
- HTTP metodlari;
- endpointlar;
- authentication token;
- status code;
- request va response;
- error handling.
Masalan, frontend GET /api/articles endpointiga so‘rov yuboradi, backend esa maqolalar ro‘yxatini JSON formatida qaytaradi.
Authentication va authorization
Full-stack dasturchi foydalanuvchi tizimga qanday kirishi va qaysi amallarni bajarishi mumkinligini boshqaradigan mexanizmlar bilan ishlaydi.
Bu jarayonda quyidagilar ishlatiladi:
- login;
- register;
- password hashing;
- session;
- cookie;
- JWT token;
- OAuth;
- role;
- permission;
- access control.
Masalan, oddiy foydalanuvchi faqat o‘z profilini tahrirlashi mumkin, admin esa barcha foydalanuvchilarni boshqarishi mumkin.
Deployment
Full-stack dasturchi ilovani local muhitdan serverga joylash jarayonida ham qatnashishi mumkin. Bu jarayon deployment deb ataladi.
Deployment jarayonida quyidagilar uchraydi:
- server;
- hosting;
- domen;
- SSL sertifikat;
- Nginx;
- Docker;
- environment variables;
- database migration;
- build;
- process manager;
- CI/CD.
Masalan, backend API serverda ishlaydi, frontend build fayllari esa Nginx yoki CDN orqali foydalanuvchiga yetkazilishi mumkin.
Full-stack va frontend farqi
Frontend dasturchi asosan foydalanuvchiga ko‘rinadigan qism bilan ishlaydi. Full-stack dasturchi esa frontend bilan birga backend va database qismlarini ham tushunadi.
Farqlar:
- Frontend dasturchi interfeys, sahifa va client tomoni bilan ishlaydi;
- Full-stack dasturchi frontend, backend va database bilan ishlaydi;
- Frontend foydalanuvchi ko‘radigan qismga e’tibor beradi;
- Full-stack ilovaning to‘liq ishlash oqimini tushunadi.
Masalan, frontend dasturchi login formasini yaratadi, full-stack dasturchi esa login formasi, API, database va token tizimini birgalikda ishlata oladi.
Full-stack va backend farqi
Backend dasturchi server tomoni, API, database va biznes logika bilan chuqurroq ishlaydi. Full-stack dasturchi esa backend bilan birga frontend qismini ham bajara oladi.
Farqlar:
- Backend dasturchi server, database va API’ga ko‘proq e’tibor beradi;
- Full-stack dasturchi server va frontendni birgalikda bog‘laydi;
- Backend ichki logika va ma’lumotlar bilan ishlaydi;
- Full-stack foydalanuvchi interfeysidan database’gacha bo‘lgan oqimni tushunadi.
Masalan, backend dasturchi buyurtma API’sini yozadi, full-stack dasturchi esa buyurtma sahifasi, API va database jarayonini birgalikda ishlatishi mumkin.
Full-stack texnologiya stacklari
Full-stack loyihalarda frontend, backend va database birgalikda ishlatiladi. Bunday texnologiyalar to‘plami stack deb ataladi.
Mashhur stacklar:
- MERN — MongoDB, Express.js, React, Node.js;
- MEVN — MongoDB, Express.js, Vue, Node.js;
- PERN — PostgreSQL, Express.js, React, Node.js;
- Django + React — Django backend va React frontend;
- FastAPI + Vue — FastAPI backend va Vue frontend;
- Laravel + Vue — Laravel backend va Vue frontend;
- Next.js + PostgreSQL — full-stack React framework va relational database;
- Nuxt + API backend — Vue asosidagi frontend va alohida backend API.
Har bir stack loyiha talabi, jamoa tajribasi va tizim arxitekturasiga qarab tanlanadi.
Dasturlashdagi o‘rni
Full-stack dasturchi kichik va o‘rta loyihalarda ko‘p uchraydi. U loyiha qismlarini tez bog‘lash, prototip yaratish va to‘liq web ilova ishlab chiqishda qatnashadi.
Full-stack dasturchi ishlaydigan loyihalar:
- korporativ sayt;
- internet do‘kon;
- blog platforma;
- admin panel;
- CRM;
- SaaS loyiha;
- marketplace;
- dashboard;
- Telegram bot web paneli;
- ichki biznes tizimlari.
Full-stack yondashuv web ilovaning frontend, backend va database qatlamlarini birgalikda tushunishga asoslanadi.
Bog‘liq tushunchalar
Frontend, Backend, API, REST API, Database, SQL, PostgreSQL, JavaScript, TypeScript, React, Docker, Deployment