Node.js nima va nega uni o'rganish kerak?
Saad Takhir · · 2 marta ko'rilgan

Node.js nima?
Node.js — bu JavaScript kodini brauzerdan tashqarida, ya'ni serverda yoki kompyuteringizda ishga tushirish imkonini beruvchi muhit (runtime). U Google Chrome'dagi V8 dvigateli asosida qurilgan, shuning uchun juda tez ishlaydi.
Oddiy qilib aytganda: avval JavaScript faqat brauzerda ishlardi, Node.js paydo bo'lgach esa u bilan backend, CLI dasturlar va hatto desktop ilovalar yozish mumkin bo'ldi.
Node.js qanday ishlaydi?
Node.js'ning asosiy g'oyasi — non-blocking I/O va event loop.
Oddiy serverlar har bir so'rov uchun alohida oqim (thread) ochadi va fayl o'qilishi yoki bazadan javob kelishini kutib turadi. Node.js esa kutmaydi: u vazifani topshiradi, keyingi so'rovga o'tadi va natija tayyor bo'lganda callback orqali unga qaytadi.
import { readFile } from 'node:fs/promises'
console.log('1. Faylni o\'qishni boshladik')
const data = await readFile('matn.txt', 'utf-8')
console.log('3. Fayl o\'qildi:', data.length, 'belgi')
console.log('2. Bu qator kutib qolmaydi')
Shu sababli Node.js bir vaqtning o'zida minglab ulanishlarni kam resurs bilan boshqara oladi.
Nega aynan Node.js?
- Bitta til — frontend ham, backend ham JavaScript (yoki TypeScript). Kontekst almashish kamayadi.
- npm — dunyodagi eng katta paketlar ekotizimi. Deyarli har qanday vazifa uchun tayyor kutubxona bor.
- Tezlik — real-time ilovalar (chat, bildirishnomalar, onlayn o'yinlar) uchun juda qulay.
- Katta hamjamiyat — savolingizga javob topish oson.
- Zamonaviy imkoniyatlar —
fetch, test runner (node:test),--watchrejimi endi Node.js'ning o'zida bor.
Qayerlarda ishlatiladi?
- REST va GraphQL API'lar
- Real-time ilovalar (WebSocket, chat)
- Telegram botlar
- CLI vositalar
- Next.js, Nuxt kabi fullstack frameworklar ortidagi server
Birinchi server
Node.js'ni nodejs.org saytidan LTS versiyasini yuklab o'rnating va tekshiring:
node -v
npm -v
Endi server.js faylini yarating:
import { createServer } from 'node:http'
const server = createServer((req, res) => {
res.writeHead(200, { 'Content-Type': 'text/plain; charset=utf-8' })
res.end('Salom, Node.js!')
})
server.listen(3000, () => {
console.log('Server ishga tushdi: http://localhost:3000')
})
Ishga tushiring:
node --watch server.js
Brauzerda http://localhost:3000 manzilini oching — tabriklayman, birinchi serveringiz tayyor! --watch bayrog'i esa fayl o'zgarganda serverni avtomatik qayta ishga tushiradi.
Qachon Node.js mos emas?
Node.js og'ir hisob-kitoblar (video kodlash, katta ma'lumotlarni qayta ishlash, ML) uchun eng yaxshi tanlov emas — bunday vazifalar event loop'ni bloklab qo'yadi. Bunday hollarda worker_threads yoki boshqa til (Go, Python, Rust) ko'proq mos keladi.
Keyingi qadamlar
- JavaScript asoslarini, ayniqsa
async/awaitva Promise'larni yaxshi o'rganing. - Express yoki Fastify bilan oddiy API yozib ko'ring.
- Ma'lumotlar bazasini ulang (PostgreSQL + Prisma yoki Drizzle).
- TypeScript'ga o'ting.
Node.js — backend dunyosiga kirish uchun eng qulay eshiklardan biri. Kichik loyihadan boshlang va asta-sekin murakkablashtiring. Omad!