Next.js
Next.jsNext پاسخ این سؤال است: بخشی از UI را سرور بسازد یا مرورگر؟ App Router این تصمیم را برای هر کامپوننت جداگانه ممکن کرده — و همین، هم قدرتش است هم جایی که همه گیج میشوند.
پیشرفت تو
درصد هر فصل از دو چیز میآید: چقدر از بخشهایش را خواندهای (۵۵٪) و چند تمرینش را تیک زدهای (۴۵٪). همهچیز داخل مرورگر خودت میماند.
فصل
فصلها به هم وابستهاند و ترتیبشان معنا دارد. هر مسیر با پروژههای نهایی تمام میشود: ساده، متوسط، پیچیده.
چرا Next و App Router
چه مسئلهای را حل میکند و چه پیچیدگیای میآورد.
در نوبت نوشتنساختار پروژه و مسیریابی فایلمحور
پوشه = مسیر، و فایلهای ویژهای که معنا دارند.
در نوبت نوشتنlayout، template و route group
UI مشترک، و گروهبندی بدون اثر روی آدرس.
در نوبت نوشتنمسیرهای پویا
پارامتر، catch-all و generateStaticParams.
در نوبت نوشتنServer Component در برابر Client Component
مهمترین مفهوم App Router — با نمودار مرز.
در نوبت نوشتنمرز use client و سریالسازی
چه چیزی میتواند از سرور به کلاینت رد شود و چه چیزی نه.
در نوبت نوشتندریافت داده در Server Component
fetch روی سرور، بدون useEffect و بدون حالت بارگذاری.
در نوبت نوشتنچهار لایهٔ کش Next
request memoization، data cache، route cache و router cache.
در نوبت نوشتنrevalidate
زمانمحور، تگمحور و بر حسب تقاضا.
در نوبت نوشتنSSG، SSR و ISR در Next
انتخاب حالت رندر برای هر مسیر، جداگانه.
در نوبت نوشتناستریم و Suspense
فرستادن HTML تکهتکه، قبل از آماده شدن همهٔ داده.
در نوبت نوشتنloading و اسکلت
وضعیت بارگذاری که خودکار میآید.
در نوبت نوشتنerror، not-found و مرز خطا
خطا در سرور، خطا در کلاینت، و بازیابی.
در نوبت نوشتنServer Action: مبانی
فراخوانی تابع سرور از کلاینت، بدون ساختن API.
در نوبت نوشتنفرم با Server Action
useActionState، اعتبارسنجی، بهروزرسانی خوشبینانه.
در نوبت نوشتنRoute Handler
وقتی واقعاً به یک API نیاز داری.
در نوبت نوشتنmiddleware
اجرا قبل از مسیریابی: تغییر مسیر، هدر و احراز هویت.
در نوبت نوشتنمسیرهای موازی و رهگیر
مودالی که آدرس خودش را دارد.
در نوبت نوشتناحراز هویت
Auth.js، ارائهدهنده و جریان ورود.
در نوبت نوشتننشست و محافظت از مسیر
کوکی، نشست سمت سرور و مسیر محافظتشده.
در نوبت نوشتناتصال به پایگاهداده
connection pooling در محیط serverless.
در نوبت نوشتنORM: Prisma و Drizzle
مدل، مهاجرت و کوئری نوعدار.
در نوبت نوشتنMetadata API و SEO
عنوان، توضیح، canonical، sitemap و robots.
در نوبت نوشتنتولید تصویر OG
تصویر اشتراکگذاری که خودکار ساخته میشود.
در نوبت نوشتنبهینهسازی تصویر
next/image، اندازه، placeholder و CLS.
در نوبت نوشتنفونت
next/font، فونت فارسی و حذف layout shift.
در نوبت نوشتنچندزبانگی و RTL
مسیر زباندار، ترجمه و راستچین فارسی.
در نوبت نوشتناستایل
CSS Module، Tailwind و CSS-in-JS در RSC.
در نوبت نوشتنحالت سمت کلاینت
Zustand و React Query کنار Server Component.
در نوبت نوشتنruntime: Node یا Edge
تفاوتها، محدودیتها و معیار انتخاب.
در نوبت نوشتنتست
تست کامپوننت سرور، اکشن و e2e با Playwright.
در نوبت نوشتنکارایی
Core Web Vitals، تحلیل باندل و RSC payload.
در نوبت نوشتنبیلد و ابزار
Turbopack، خروجی standalone و متغیرهای محیطی.
در نوبت نوشتناستقرار خودمیزبان
داکر، standalone، Nginx و کش — بدون Vercel.
در نوبت نوشتنپروژهٔ ۱ — وبلاگ با SSG
مسیر پویا، متادیتا، sitemap و OG.
در نوبت نوشتنپروژهٔ سادهپروژهٔ ۲ — داشبورد با احراز هویت
Auth.js، Server Action، پایگاهداده و مسیر محافظتشده.
در نوبت نوشتنپروژهٔ متوسطپروژهٔ ۳ — فروشگاه کامل
ISR، سبد خرید، پرداخت، جستجو، SEO و استقرار با داکر.
در نوبت نوشتنپروژهٔ پیچیده