Barcha postlar

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), --watch rejimi 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

  1. JavaScript asoslarini, ayniqsa async/await va Promise'larni yaxshi o'rganing.
  2. Express yoki Fastify bilan oddiy API yozib ko'ring.
  3. Ma'lumotlar bazasini ulang (PostgreSQL + Prisma yoki Drizzle).
  4. TypeScript'ga o'ting.

Node.js — backend dunyosiga kirish uchun eng qulay eshiklardan biri. Kichik loyihadan boshlang va asta-sekin murakkablashtiring. Omad!

Ulashish · 0 marta ulashilgan
Bog'lanish