DevDocs › Next.jsNext.js kursi React asosida fullstack framework. SSR, SSG, API routes va zamonaviy web ilovalar.
O'rta · 75 ta dars · ~6 hafta
Mavzular: Pages va Routing, SSR va SSG, API Routes, Data Fetching, Image Optimization, Middleware, App Router, Server Components, Deployment, Performance
Kirish va Asoslar Next.js nima? React dan farqi, SSR, SSG, ISR, CSR tushunchalari Loyiha yaratish — create-next-app, tuzilishi, app va pages router farqi App Router — nima uchun yangi, pages router dan ustunligi File-based Routing — papka va fayl orqali route yaratish page.tsx, layout.tsx, loading.tsx, error.tsx, not-found.tsx — har birining roli Link komponenti va useRouter — navigatsiya, prefetching Image komponenti — optimizatsiya, lazy loading, placeholder Font optimizatsiya — next/font, Google Fonts, mahalliy shriftlar Metadata — title, description, Open Graph, Twitter Card Rendering Strategiyalari Server Component — nima, qanday ishlaydi, qachon ishlatiladi Client Component — "use client", qachon kerak, Server Component dan farqi Server va Client Component birga ishlatish — composition pattern Static Rendering — build vaqtida generatsiya, qachon mos Dynamic Rendering — har so'rovda generatsiya, qachon mos Streaming — Suspense bilan, foydalanuvchi tajribasini yaxshilash ISR — Incremental Static Regeneration, revalidate, on-demand Ma'lumot Olish Server Component da fetch — caching, revalidate, no-store Parallel va Sequential data fetching — farqi, qachon qaysinisi Loading UI va Suspense — skeleton, fallback Error Handling — error.tsx, global-error.tsx, try/catch TanStack Query — Next.js bilan ishlash, server va client farqi Server Action — nima, qanday ishlaydi, form bilan ishlatish Server Action — optimistic update, revalidatePath, revalidateTag Routing Chuqurroq Dynamic Route — [id], [...slug], [[...slug]] — farqlari Route Group — (group) — URL ga ta'sir qilmasdan guruhlash Parallel Route — @slot — bir sahifada bir nechta kontent Intercepting Route — (.) (..) — modal pattern Middleware — request kelganda ishlaydigan kod, matcher (tez kunda) useParams, useSearchParams, usePathname — client da routing (tez kunda) Redirect va notFound — server va client da ishlatish (tez kunda) API Routes Route Handler — route.ts, GET, POST, PUT, DELETE (tez kunda) Route Handler — request, response, NextRequest, NextResponse (tez kunda) Route Handler — dynamic route, params, searchParams (tez kunda) Route Handler — middleware, CORS, rate limiting (tez kunda) Webhook — tashqi xizmatlardan kelgan so'rovlarni qabul qilish (tez kunda) API versiyalash — /api/v1, /api/v2 arxitekturasi (tez kunda) Autentifikatsiya Autentifikatsiya qanday ishlaydi Next.js da — umumiy tushuncha (tez kunda) NextAuth.js — o'rnatish, sozlash, Session Provider (tez kunda) NextAuth.js — Credentials Provider — email va parol (tez kunda) NextAuth.js — OAuth Provider — Google, GitHub (tez kunda) NextAuth.js — JWT va Database Session farqi (tez kunda) Middleware bilan route himoyalash (tez kunda) Server Component da session olish (tez kunda) Client Component da session olish — useSession (tez kunda) Ma'lumotlar Bazasi Prisma — Next.js bilan sozlash, PrismaClient singleton (tez kunda) Prisma — Server Component da CRUD (tez kunda) Prisma — Server Action da CRUD (tez kunda) Vercel Postgres, Supabase, PlanetScale — qaysinisi qachon (tez kunda) Drizzle ORM — Prisma dan farqi, qachon afzal (tez kunda) Stilizatsiya CSS Modules — Next.js da ishlash (tez kunda) Tailwind CSS — Next.js bilan sozlash, darkMode (tez kunda) Shadcn/ui — o'rnatish, komponentlar, customizatsiya (tez kunda) CSS Variables va Theming — dark/light mode (tez kunda) Performance va Optimizatsiya Core Web Vitals — LCP, FID, CLS Next.js da (tez kunda) Bundle analiz — @next/bundle-analyzer (tez kunda) Dynamic Import — komponentlarni bo'laklash (tez kunda) Image optimizatsiya — chuqurroq, sizes, priority (tez kunda) Script optimizatsiya — next/script, strategy (tez kunda) Caching — Request Memoization, Data Cache, Full Route Cache (tez kunda) Edge Runtime — nima, Node.js dan farqi, qachon kerak (tez kunda) Testing Vitest — Next.js bilan sozlash (tez kunda) React Testing Library — Server Component testlash (tez kunda) Playwright — End-to-End testing, brauzerda test (tez kunda) MSW — API mock qilish Next.js da (tez kunda) Deployment va DevOps Environment Variables — .env, .env.local, .env.production (tez kunda) Vercel — deploy qilish, environment, domain sozlash (tez kunda) Docker — Next.js ni containerlashtirish (tez kunda) Self-hosted — VPS da deploy, Nginx sozlash (tez kunda) CI/CD — GitHub Actions bilan avtomatik deploy (tez kunda) Ilg'or mavzular Internationalization — next-intl bilan ko'p tilli ilova (tez kunda) next.config.js — redirects, rewrites, headers, env (tez kunda) Turbopack — nima, webpack dan farqi, sozlash (tez kunda) Draft Mode — CMS bilan preview rejimi (tez kunda) OpenTelemetry — monitoring va tracing (tez kunda) Real loyiha arxitekturasi — papkalar tuzilishi, best practices (tez kunda)