آنچه یاد خواهید گرفت:
معماری تمیز کاربردی: یاد بگیرید چگونه با جدا کردن کد به لایههای ارائه، دامنه و داده، ساختارهایی قدرتمند، مقیاسپذیر و قابل تست طراحی کنید.
فولاستک با Supabase: قابلیتهای احراز هویت، پایگاه داده، ذخیرهسازی و بلادرنگ را با استفاده از Supabase و بدون نوشتن بکاند پیچیده بسازید و یکپارچه کنید.
همزمانسازی وضعیت با BLoC و باس رویداد: تسلط به مدیریت پیشرفته state با پیادهسازی معماری باس رویداد برای حفظ یکپارچگی داده در چندین صفحه نمایش
ساخت محیط Monorepo: با جداسازی قابلیتها در پکیجهای قابل استفاده مجدد، توسعهای حرفهای را تجربه کنید و بهرهوری کد را به حداکثر برسانید.
قابلیتهای پیشرفته: ویژگیهای استاندارد صنعت مانند جستجوی واکنشگرا با Debounce، اسکرول بینهایت جهانی و سیستمهای اعلان بلادرنگ را پیادهسازی کنید.
پیشنیازهای دوره
آشنایی پایه با Flutter: توانایی استفاده از ویجتهای پایه و درک اولیه از برنامهنویسی غیرهمزمان (async/await)
اصول Dart: آشنایی با مفاهیم پایه OOP مانند کلاسها و وراثت
آشنایی با مدیریت state: تجربه با هر راهکار مدیریت state (Provider و Riverpod و GetX و غیره) مفید است. حتی اگر با BLoC تازهکار باشید، اصول پایه شما را همراهی میکند.
CRUD پایه در SQL: آشنایی اولیه با خواندن و نوشتن داده توصیه میشود. کوئریهای پیچیده و سیاستهای RLS در طول دوره به صورت گامبهگام آموزش داده میشوند.
ذهنیت رشد: لازم نیست متخصص باشید. اگر انگیزهی یادگیری معماری مقیاسپذیر را دارید، آمادهاید!
توضیحات دوره
فراتر از مبانی Flutter بروید و به معمار اپلیکیشنهای حرفهای و آماده تولید تبدیل شوید.
آیا آمادهاید از اپلیکیشنهای ساده شمارنده یا TODO فراتر بروید و چالشهای پیچیده سرویسهای واقعی را حل کنید؟ اگر تجربه کردهاید که با اضافه شدن قابلیتها، کدتان درهمتنیده میشود یا با هر تغییر کوچک، اپلیکیشنتان شکننده به نظر میرسد، این دوره برای شما طراحی شده است.
این دوره فقط یک آموزش برای ساخت یک اپلیکیشن نیست؛ بلکه یک بررسی عمیق از روشهای اثبات شده توسعه برای ساخت اپلیکیشنهای مقیاسپذیر و قابل نگهداری است که در گذر زمان دوام میآورند.
چرا این دوره در عصر هوش مصنوعی اهمیت دارد؟
در دورانی که هوش مصنوعی میتواند در چند ثانیه قطعه کد تولید کند، نقش یک توسعهدهنده حرفهای چیست؟
فراتر از اسنیپتها: هوش مصنوعی در نوشتن توابع عالی است، اما هنوز نمیتواند یک سیستم پیچیده و بههمپیوسته را طراحی کند. درک معماری تمیز یعنی میدانید چگونه این قطعات تولید شده توسط AI را در قالب یک کل مقیاسپذیر سازماندهی کنید.
مزیت معمار: با کاهش مانع ورود به کدنویسی توسط AI، بازار از کدهای پراکنده پر خواهد شد. ارزش واقعی در معمار خواهد بود؛ کسی که میتواند بدهی فنی را مدیریت کند، قابلیت نگهداری را تضمین کند و یک کانتینر قدرتمند برای نگهداشتن منطق طراحی کند.
آینده شغلی خود را تضمین کنید: این دوره شما را از یک کدنویس که فقط دستورالعملها را دنبال میکند، به یک معمار تبدیل میکند که از AI به عنوان ابزار استفاده میکند، نه اینکه جایگزین آن شود.
سه رکن اصلی دوره:
ما یک اپلیکیشن پربازده با نام Community Board را از ابتدا میسازیم که بر سه رکن فنی ضروری برای پروژههای در مقیاس بزرگ استوار است:
معماری قدرتمند (معماری تمیز): به کدهای آشفته نظم بدهید. یاد بگیرید چگونه مسئولیتها را در لایههای جداگانه تفکیک کنید و ساختاری بسازید که تست، نگهداری و توسعه آن آسان باشد.
بکاند مدرن (Supabase): از راهاندازیهای پیچیده سرور عبور کنید. از Supabase، یک بکاند به عنوان سرور قدرتمند، برای پیادهسازی پایگاه داده، احراز هویت و قابلیتهای بلادرنگ در کسری از زمان استفاده کنید.
مدیریت State کارآمد (BLoC و باس رویداد): BLoC، استاندارد صنعتی Flutter، را بهخوبی یاد بگیرید و آن را با معماری باس رویداد جهانی ترکیب کنید تا داده را در چندین صفحه با ظرافت و دقت همزمانسازی کنید.
ویژگیهای کلیدی یادگیری:
ساخت یک اپلیکیشن واقعی کامیونیتی: قابلیتهای استاندارد صنعت از جمله احراز هویت، CRUD پستها، لایک و کامنت بلادرنگ، مدیریت پروفایل و جستجوی واکنشگرا را پیاده کنید.
راهاندازی حرفهای Monorepo: یاد بگیرید چگونه قابلیتها را به پکیجهای مستقل تفکیک کنید تا قابلیت استفاده مجدد از کد را به حداکثر برسانید و پروژههای بزرگ را مثل یک حرفهای مدیریت کنید.
استریمهای پیشرفته و کنترل بلادرنگ: Supabase Realtime را برای همزمانسازی فوری داده یاد بگیرید و از تکنیکهای پیشرفته استریمینگ مانند Debounce و switchMap برای تجربه جستجوی بهینه استفاده کنید.
ماهیت مقیاسپذیری: معماری طراحی کنید که آنقدر انعطافپذیر باشد که بتوانید ابزار مدیریت state خود را بدون دست زدن به حتی یک خط از منطق اصلی کسبوکار، تغییر دهید.
نقشه راه دوره:
اصول اولیه: به محیط VS Code و ابزارهای ضروری بهرهوری مسلط شوید تا یاد بگیرید تا کدهای boilerplate را حذف کنید.
معماری: اصول اساسی معماری تمیز را با تمرکز بر قانون وابستگی و جداسازی مسئولیتها پیاده کنید.
زیرساخت: یک محیط Monorepo بسازید و بکاند Supabase را طراحی کنید (SQL و RLS، توابع و Triggers)
توسعه: قابلیتهای اصلی (احراز هویت، پستها، جستجو) را با استفاده از BLoC و باس رویداد جهانی پیادهسازی کنید.
پیشرفته: بهصورت عمیق وارد Supabase Realtime شوید تا تشخیص داده لایو و همزمانسازی UI را یاد بگیرید.
سطح بعدی: بازبینی پروژه و نگاهی استراتژیک به اینکه این معماری چگونه به سایر کتابخانههای مدیریت state گسترش پیدا میکند.
مخاطبان دوره:
توسعهدهندگان Flutter که اپلیکیشنهای پایه ساختهاند و آمادهاند با معماریهای حرفهای و آماده تولید کار کنند.
توسعهدهندگانی که با رشد پروژهها در نگهداری کد دچار مشکل شدهاند و به دنبال معماری تمیز به عنوان یک راهحل قطعی هستند.
توسعهدهندگان مستقل یا مهندسان استارتاپی که میخواهند با استفاده از Supabase (BaaS) اپلیکیشنهای پربازده را سریع راهاندازی کنند.
افرادی که به دنبال نمایش مهارتهای طراحی اپلیکیشن مقیاسپذیر و مدیریت Monorepo در رزومه حرفهای خود هستند.
مباحث آموزشی و کد منبع ارائه شده:
اسلایدهای PDF باکیفیت: فایلهای ارائه PDF شامل نظریههای کلیدی و نمودارهای معماری برای هر بخش ارائه شدهاند. (از تب Resources هر بخش دانلود کنید)
کد منبع نهایی ارائه میشود:
سطح پایه: کد کامل ابزارهای بهرهوری و سینتکسهای اصلی (مانند data_class) که در بخش 3 پوشش داده شدهاند، ارائه میشود.
پروژه اصلی: ساختار monorepo و کد پیادهسازی نهایی کل اپلیکیشن community_board از بخش 4 به بعد ارائه میشود.
لینکهای کد منبع و دستورالعملهای استفاده، در اولین درس بخشهای 3 و 4 به صورت کامل ارائه خواهند شد.
فقط یاد نگیرید «چگونه» بسازید؛ بفهمید «چرا» اینگونه طراحی میکنیم. در این مسیر همراه ما شوید تا مهارتهای توسعه خود را به سطحی بالاتر ارتقا دهید.
این دوره برای چه کسانی مناسب است؟
توسعهدهندگان Flutter که اپلیکیشنهای پایه ساختهاند و آمادهاند با معماریهای حرفهای و واقعی کار کنند.
توسعهدهندگانی که با رشد کد، در نگهداری آن دچار مشکل شدهاند و به دنبال معماری تمیز به عنوان راهحل هستند.
توسعهدهندگان مستقل یا مهندسان استارتاپی که میخواهند با استفاده از Supabase (BaaS) اپلیکیشنهای پربازده را سریع راهاندازی کنند.
کسانی که میخواهند BLoC را نه فقط برای بروزرسانیهای ساده state، بلکه در ترکیب با معماری ساختاریافته بهخوبی یاد بگیرند.
دانشجویان یا جویندگان کار که میخواهند مهارتهای طراحی اپلیکیشن مقیاسپذیر را در پورتفولیوی خود نمایش دهند.