Frontend va Backend farqi
Web dasturlash ikki katta yo’nalishga bo’linadi: frontend va backend. Bu ikki tushunchani aniq farqlash — dasturchilik yo’lidagi muhim qadam. Bu darsda har birini chuqur o’rganamiz va qaysi birini tanlash haqida fikr yuritamiz.
Restoran misoli
Farqni tushunish uchun restoranni tasavvur qiling.
Frontend — bu restoranning zali: stollar, menyu, bezaklar, ofitsiant. Mijoz ko’radigan va bevosita muloqot qiladigan hamma narsa.
Backend — bu oshxona: oshpazlar, mahsulotlar, retseptlar. Mijoz buni ko’rmaydi, lekin aynan shu yerda taom tayyorlanadi.
Web saytda ham xuddi shunday: siz ko’radigan qism — frontend, ko’rmaydigan “oshxona” — backend.
Frontend nima?
Frontend (yoki “client-side”) — foydalanuvchi brauzerda ko’radigan va ishlatadigan qism. Tugmalar, matnlar, rasmlar, ranglar, animatsiyalar, menyular — bularning barchasi frontend.
Frontend dasturchining vazifasi — dizaynni haqiqiy, ishlaydigan sahifaga aylantirish. U saytning chiroyli ko’rinishi, qulay ishlashi va barcha qurilmalarda (telefon, planshet, kompyuter) to’g’ri ko’rinishini ta’minlaydi.
Frontend uchun asosiy texnologiyalar:
- HTML — sahifa tuzilishi (matn, rasm, tugma qayerda).
- CSS — ko’rinish (rang, shrift, joylashuv).
- JavaScript — interaktivlik (bosilganda nima bo’lishi).
Bulardan tashqari, katta loyihalarda React, Vue yoki Angular kabi frameworklar ishlatiladi. Lekin bularga o’tishdan oldin, avval HTML, CSS va JavaScriptni puxta o’rganish shart.
Backend nima?
Backend (yoki “server-side”) — saytning serverda ishlaydigan, foydalanuvchi ko’rmaydigan qismi. U ma’lumotlarni saqlash, qayta ishlash va boshqarish bilan shug’ullanadi.
Masalan, siz ijtimoiy tarmoqqa kirsangiz:
- Parol to’g’riligini tekshirish — backend.
- Do’stlaringiz ro’yxatini ma’lumotlar bazasidan olish — backend.
- Yangi post joylashda uni saqlash — backend.
Backend dasturchi sahifaning “miyasi”ni yaratadi. U mantiq, xavfsizlik va ma’lumotlar bilan ishlaydi.
Backend uchun asosiy texnologiyalar:
- Dasturlash tillari: Python, PHP, Go, Java, JavaScript (Node.js).
- Ma’lumotlar bazasi: SQL, PostgreSQL, MongoDB — ma’lumotni saqlash uchun.
- Frameworklar: Django (Python), Laravel (PHP), Express (Node.js).
Ular qanday muloqot qiladi?
Frontend va backend bir-biri bilan doimiy muloqotda bo’ladi. Frontend foydalanuvchi harakatini (masalan, tugma bosilishini) qabul qiladi va backendga so’rov yuboradi. Backend so’rovni qayta ishlab, javob qaytaradi. Frontend esa bu javobni chiroyli ko’rinishda foydalanuvchiga ko’rsatadi.
Masalan, onlayn do’konda qidiruv:
- Siz “telefon” deb yozib qidirasiz (frontend).
- Frontend backendga “telefon” so’zini yuboradi.
- Backend ma’lumotlar bazasidan mos mahsulotlarni topadi.
- Backend natijani frontendga qaytaradi.
- Frontend mahsulotlarni ekranda chiroyli ko’rsatadi.
Full-stack dasturchi
Ham frontend, ham backendni biladigan dasturchi full-stack deb ataladi (“full stack” — to’liq to’plam). Bunday dasturchi saytni boshidan oxirigacha o’zi yarata oladi.
Boshlovchilar uchun tavsiya: avval bitta yo’nalishni tanlab, uni yaxshilab o’rganish. Keyinchalik ikkinchisini ham qo’shish mumkin. Bir vaqtning o’zida hammasini o’rganishga urinish ko’pincha chalkashlikka olib keladi.
Qaysi birini tanlash kerak?
Bu ko’p boshlovchilarni o’ylantiradigan savol. Mana bir necha maslahat:
Frontendni tanlang, agar:
- Vizual, chiroyli narsalar yaratishni yoqtirsangiz.
- Natijani darhol ko’rishni xohlasangiz (kodni o’zgartirasiz — sahifa o’zgaradi).
- Dizayn va foydalanuvchi qulayligiga qiziqsangiz.
Backendni tanlang, agar:
- Mantiq, algoritmlar va ma’lumotlar bilan ishlashni yoqtirsangiz.
- “Qanday ishlaydi?” degan savollar sizni qiziqtirsa.
- Tizimlar va samaradorlikka e’tibor bersangiz.
Muhim eslatma: ikkalasi ham qiziqarli va talabgir. To’g’ri yoki noto’g’ri tanlov yo’q. Ko’p dasturchilar frontenddan boshlab, keyin backendni ham o’rganadi — chunki frontend natijasini tezroq ko’rish mumkin, bu esa motivatsiyani oshiradi.
Bizning tavsiyamiz
LearnCodeda biz frontenddan boshlashni tavsiya qilamiz. Sabab: HTML, CSS va JavaScript orqali siz kodni yozib, natijasini darhol ko’ra olasiz. Bu o’rganishni qiziqarli va tushunarli qiladi. Backend esa keyinroq, asoslar mustahkamlangach qo’shiladi.
Xulosa
- Frontend — foydalanuvchi ko’radigan qism (HTML, CSS, JavaScript).
- Backend — serverda ishlaydigan, ko’rinmas qism (Python, PHP, Go va h.k.).
- Ular so’rov-javob orqali doimiy muloqotda bo’ladi.
- Ikkalasini biladigan dasturchi — full-stack.
- Boshlovchilar uchun frontenddan boshlash qulay va tavsiya etiladi.
Keyingi darsda frontend va backend qanday “til”da gaplashishini — HTTP protokolini batafsil ko’rib chiqamiz.