کدنامهمرجع‌های مهندسی نرم‌افزار، به فارسی

مدیریت حالت

State management

بیشتر پیچیدگی فرانت‌اند از حالت می‌آید: چه کسی مالک این داده است، چه کسی می‌تواند عوضش کند، و چطور بقیه خبردار می‌شوند. کتابخانه‌های مدیریت حالت جواب‌های متفاوتی به همین سه سؤال‌اند. این مسیر همهٔ جواب‌های رایج را با یک مسئلهٔ واحد پیاده می‌کند تا تفاوتشان را در عمل ببینی، نه در تبلیغاتشان. و از فصل اول تأکید می‌کند که پرکاربردترین جواب درست، «هیچ‌کدام» است.

۲۰فصل
۳۲۷تمرین با پاسخ
≈ ۳۱ ساعتزمان تخمینی
۳پروژهٔ نهایی

پیشرفت تو

۰٪

درصد هر فصل از دو چیز می‌آید: چقدر از بخش‌هایش را خوانده‌ای (۵۵٪) و چند تمرینش را تیک زده‌ای (۴۵٪). همه‌چیز داخل مرورگر خودت می‌ماند.

فصل

فصل‌ها به هم وابسته‌اند و ترتیبشان معنا دارد. هر مسیر با پروژه‌های نهایی تمام می‌شود: ساده، متوسط، پیچیده.

۱

مسئلهٔ حالت

مالکیت، همگام‌سازی و منبع حقیقت واحد.

در نوبت نوشتن
۲

اول حالت محلی

چرا اکثر اپ‌ها به هیچ کتابخانه‌ای نیاز ندارند.

در نوبت نوشتن
۳

‏Context و prop drilling

راه‌حل داخلی React و محدودیت واقعی‌اش.

در نوبت نوشتن
۴

الگوی reducer

‏action، خلوص و تغییر قابل ردیابی.

در نوبت نوشتن
۵

‏Redux و Redux Toolkit

‏store، slice، و چرا Redux قدیمی بدنام شد.

در نوبت نوشتن
۶

ناهمگامی در Redux

‏thunk، RTK Query و کش سمت کلاینت.

در نوبت نوشتن
۷

‏Zustand

کمترین کد ممکن برای حالت سراسری.

در نوبت نوشتن
۸

‏atom و signal

‏Jotai، Signals و واکنش‌پذیری ریزدانه.

در نوبت نوشتن
۹

‏RxJS ۱: Observable

جریان به‌جای مقدار — تغییر مدل ذهنی.

در نوبت نوشتن
۱۰

‏RxJS ۲: عملگرها

‏map، switchMap، debounce و ترکیب جریان‌ها.

در نوبت نوشتن
۱۱

‏NgRx

‏Redux برای Angular: store، effect، selector.

در نوبت نوشتن
۱۲

حالت سرور در برابر حالت کلاینت

‏React Query و TanStack — تفکیکی که همه‌چیز را ساده می‌کند.

در نوبت نوشتن
۱۳

حالت فرم

چرا فرم مسئلهٔ جدایی است.

در نوبت نوشتن
۱۴

حالت در URL

‏URL بهترین ذخیره‌سازی حالتی است که اغلب فراموش می‌شود.

در نوبت نوشتن
۱۵

ماندگاری و همگام‌سازی

‏localStorage، همگام‌سازی بین تب و آفلاین.

در نوبت نوشتن
۱۶

کارایی

رندر اضافی، selector و memo — با اندازه‌گیری.

در نوبت نوشتن
۱۷

مقایسه و انتخاب

ماتریس تصمیم بر اساس اندازهٔ تیم و نوع مسئله.

در نوبت نوشتن
۱۸

پروژهٔ ۱ — یک مسئله، پنج راه‌حل

همان اپ را با Context، Redux، Zustand، Jotai و RxJS بساز.

در نوبت نوشتنپروژهٔ ساده
۱۹

پروژهٔ ۲ — داشبورد بی‌درنگ

حالت سرور، حالت کلاینت و به‌روزرسانی زنده.

در نوبت نوشتنپروژهٔ متوسط
۲۰

پروژهٔ ۳ — اپ آفلاین‌اول

همگام‌سازی، تعارض و صف تغییرات.

در نوبت نوشتنپروژهٔ پیچیده