آموزش برنامه‌نویسی پیشرفته فلاتر: Supabase، معماری Clean و Bloc - آخرین آپدیت

دانلود Scalable Flutter App: Supabase, Clean Architecture & Bloc

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره: در این دوره، فلاتر حرفه‌ای را بیاموزید: ساخت یک اپلیکیشن جامع و مقیاس‌پذیر اجتماعی با استفاده از معماری Clean، سرویس Supabase، مدیریت وضعیت BLoC و ساختار Monorepo. معماری Clean کاربردی: یاد بگیرید چگونه ساختارهای مستحکم، مقیاس‌پذیر و قابل تست را با جداسازی کدها به لایه‌های Presentation، Domain و Data طراحی کنید. Fullstack با Supabase: پیاده‌سازی و یکپارچه‌سازی سیستم احراز هویت، پایگاه داده، ذخیره‌سازی فایل‌ها و قابلیت‌های Realtime با Supabase، بدون نیاز به نوشتن کدهای پیچیده Backend. همگام‌سازی وضعیت با BLoC و Event Bus: تسلط بر مدیریت وضعیت پیشرفته از طریق پیاده‌سازی معماری Event Bus برای حفظ یکپارچگی داده‌ها در صفحات مختلف. ایجاد محیط Monorepo: تجربه توسعه حرفه‌ای با تفکیک قابلیت‌ها به پکیج‌های قابل استفاده مجدد برای به حداکثر رساندن بهره‌وری کد. قابلیت‌های پیشرفته: پیاده‌سازی ویژگی‌های استاندارد صنعتی مانند جستجوی واکنش‌گرا با Debounce، اسکرول نامحدود (Infinite Scroll) و سیستم اعلان‌های آنی (Realtime). پیش نیازها: دانش مقدماتی فلاتر: توانایی استفاده از ویجت‌های پایه و درک مفاهیم برنامه‌نویسی Asynchronous (async/await). مبانی دارت: آشنایی با مفاهیم پایه OOP مانند کلاس‌ها و ارث‌بری. آشنایی با مدیریت وضعیت: تجربه کار با هر یک از راهکارهای مدیریت وضعیت (Provider, Riverpod, GetX و غیره) مفید است. حتی اگر با BLoC آشنا نیستید، اصول پایه شما را پیش می‌برد. مبانی SQL CRUD: درک اولیه از خواندن و نوشتن داده‌ها توصیه می‌شود. کوئری‌های پیچیده و سیاست‌های RLS به صورت گام‌به‌گام در دوره آموزش داده می‌شوند. ذهنیت رشد: نیازی نیست متخصص باشید؛ اگر اشتیاق یادگیری معماری‌های مقیاس‌پذیر را دارید، آماده‌اید!

"از مبانی فلاتر فراتر بروید و به معمار نرم‌افزاری تبدیل شوید که قادر به طراحی اپلیکیشن‌های حرفه‌ای و آماده انتشار (Production-Ready) است."

آیا آماده‌اید تا از ساخت اپلیکیشن‌های ساده مانند Counter یا TODO عبور کنید و با چالش‌های پیچیده سرویس‌های واقعی روبرو شوید؟ اگر تا به حال تجربه کرده‌اید که با افزودن قابلیت‌های جدید، کدهای شما در هم گره بخورند یا حس کرده‌اید هر تغییر کوچک باعث شکستن بخش‌های دیگر اپلیکیشن می‌شود، این دوره برای شما طراحی شده است.

این دوره فراتر از یک آموزش ساده ساخت اپلیکیشن است؛ این یک غوطه‌وری عمیق در متدولوژی‌های اثبات شده توسعه برای ایجاد اپلیکیشن‌های مقیاس‌پذیر و قابل نگهداری است که در طول زمان کارایی خود را حفظ می‌کنند.

چرا این دوره در عصر هوش مصنوعی اهمیت دارد؟

در عصری که AI می‌تواند تکه کدهایی را در چند ثانیه تولید کند، نقش یک توسعه‌دهنده حرفه‌ای چیست؟

  • فراتر از تکه کدها: هوش مصنوعی در نوشتن توابع عالی است، اما هنوز نمی‌تواند یک سیستم پیچیده و به هم پیوسته را طراحی کند. درک معماری Clean به این معناست که می‌دانید چگونه آن قطعات تولید شده توسط AI را در یک کل مقیاس‌پذیر سازماندهی کنید.

  • مزیت معمار نرم‌افزار: با کاهش سد ورود به دنیای کدنویسی توسط AI، بازار با "کدهای تکه‌تکه" پر خواهد شد. ارزش واقعی در معمار (Architect) خواهد بود؛ کسی که می‌تواند بدهی فنی (Technical Debt) را مدیریت کند، قابلیت نگهداری را تضمین نماید و یک "ظرف" (معماری) مستحکم برای نگه داشتن منطق برنامه طراحی کند.

  • آینده‌ساز کردن مسیر شغلی: این دوره شما را از یک "کدنویس" که دستورات را اجرا می‌کند، به یک "معمار" تبدیل می‌کند که AI را به عنوان یک ابزار به خدمت می‌گیرد، نه اینکه جایگزین او شود.

سه ستون اصلی این دوره

ما یک اپلیکیشن با کارایی بالا به نام 'Community Board' را از صفر خواهیم ساخت که بر سه ستون فنی ضروری برای پروژه‌های بزرگ استوار است:

  1. معماری مستحکم (Clean Architecture): تبدیل کدهای آشفته به ساختاری منظم. یاد بگیرید چگونه مسئولیت‌ها را در لایه‌های مجزا تقسیم کنید تا ساختاری ایجاد شود که تست، نگهداری و توسعه آن آسان باشد.

  2. بک‌اند مدرن (Supabase): عبور از تنظیمات پیچیده سرور. بهره‌گیری از Supabase (یک سرویس Backend-as-a-Service قدرتمند) برای پیاده‌سازی دیتابیس، احراز هویت و قابلیت‌های آنی در کمترین زمان ممکن.

  3. مدیریت وضعیت بهینه (BLoC & Event Bus): تسلط بر BLoC که استاندارد صنعت فلاتر است و ترکیب آن با معماری Global Event Bus برای همگام‌سازی داده‌ها در صفحات مختلف با دقت و ظرافت.

ویژگی‌های کلیدی یادگیری

  • ساخت یک اپلیکیشن اجتماعی واقعی: پیاده‌سازی قابلیت‌های استاندارد شامل احراز هویت، عملیات CRUD پست‌ها، لایک و کامنت‌های آنی، مدیریت پروفایل و جستجوی واکنش‌گرا.

  • راه‌اندازی حرفه‌ای Monorepo: یاد بگیرید چگونه قابلیت‌ها را به پکیج‌های مستقل تفکیک کنید تا قابلیت استفاده مجدد از کدها به حداکثر برسد و پروژه‌های بزرگ را مانند یک حرفه‌ای مدیریت کنید.

  • استریم‌های پیشرفته و کنترل آنی: تسلط بر Supabase Realtime برای همگام‌سازی فوری داده‌ها و استفاده از تکنیک‌های پیشرفته استریم مانند Debounce و switchMap برای تجربه جستجوی بهینه.

  • جوهر مقیاس‌پذیری: طراحی معماری‌ای چنان انعطاف‌پذیر که بتوانید ابزار مدیریت وضعیت خود را بدون تغییر دادن حتی یک خط از منطق اصلی کسب‌وکار (Business Logic) عوض کنید.

نقشه راه آموزشی

  1. پایه‌ها: تسلط بر محیط VS Code و ابزارهای ضروری بهره‌وری برای حذف کدهای تکراری (Boilerplate).

  2. معماری: استقرار اصول محوری معماری Clean با تمرکز بر قانون وابستگی و جداسازی مسئولیت‌ها.

  3. زیرساخت: ایجاد محیط Monorepo و طراحی بک‌اند Supabase (شامل SQL, RLS, Functions و Triggers).

  4. توسعه: پیاده‌سازی قابلیت‌های اصلی (احراز هویت، پست‌ها، جستجو) با استفاده از BLoC در ترکیب با Global Event Bus.

  5. سطح پیشرفته: بررسی عمیق Supabase Realtime برای شناسایی داده‌های زنده و همگام‌سازی رابط کاربری.

  6. گام نهایی: بازبینی پروژه و نگاه استراتژیک به نحوه گسترش این معماری به سایر کتابخانه‌های مدیریت وضعیت.

این دوره برای چه کسانی است؟

  • توسعه‌دهندگان فلاتر که اپلیکیشن‌های پایه ساخته‌اند و آماده‌اند تا با معماری‌های حرفه‌ای و آماده تولید آشنا شوند.

  • توسعه‌دهندگانی که با رشد پروژه‌هایشان در نگهداری کد دچار مشکل شده‌اند و به دنبال راهکاری قطعی مانند "معماری Clean" هستند.

  • توسعه‌دهندگان مستقل یا مهندسان استارتاپی که می‌خواهند سریعاً اپلیکیشن‌هایی با کارایی بالا را با استفاده از Supabase (BaaS) روانه بازار کنند.

  • جوی‌کارانی که می‌خواهند مهارت‌های "طراحی اپلیکیشن مقیاس‌پذیر" و "مدیریت Monorepo" را در رزومه حرفه‌ای خود به نمایش بگذارند.

پیش‌نیازها

  • مبانی فلاتر و دارت: باید با ویجت‌های پایه راحت باشید و درک اولیه‌ای از برنامه‌نویسی Asynchronous (async/await) داشته باشید.

  • آشنایی با مدیریت وضعیت: تجربه کار با هر راهکاری (Provider, Riverpod, GetX و غیره) مفید است. حتی اگر با BLoC آشنا نیستید، می‌توانید دوره را دنبال کنید.

  • دانش پایه SQL: درک اولیه از خواندن/نوشتن داده‌ها توصیه می‌شود. سیاست‌های پیچیده دیتابیس (RLS) و توابع به صورت گام‌به‌گام آموزش داده می‌شوند.

ارائه مطالب آموزشی و سورس کد

  • اسلایدهای PDF با کیفیت: ارائه مطالب تئوری و نمودارهای معماری برای هر بخش (قابل دانلود از تب Resources هر بخش).

  • ارائه سورس کد نهایی:

    سطح پایه: کد کامل ابزارهای بهره‌وری و سینتکس‌های اصلی (مانند data_class) ارائه شده در بخش ۳.

    پروژه اصلی: ساختار Monorepo و کد پیاده‌سازی نهایی برای کل اپلیکیشن community_board از بخش ۴ به بعد.

  • لینک‌های سورس کد و دستورالعمل‌های استفاده به طور دقیق در اولین درس از بخش‌های ۳ و ۴ ارائه خواهد شد.

فقط یاد نگیرید "چگونه" بسازید؛ درک کنید "چرا" اینگونه طراحی می‌کنیم. در این مسیر برای ارتقای مهارت‌های توسعه خود به سطح بعدی به من بپیوندید!


سرفصل ها و درس ها

مقدمه Introduction

  • مرور کلی آموزش Tutorial Overview

  • مرور اپلیکیشن Community Board Community Board App Overview

  • ویژگی‌های خاص و مقیاس‌پذیری اپلیکیشن Special Feature & App Scalability

  • مخاطبان هدف، پیش‌نیازها و ساختار کلی Target Audience, Required Background, Overall Structure

  • راهنمای استفاده از مطالب آموزشی (PDF) و سورس کد گیت‌هاب Guidance on Using Learning Materials (PDF) and GitHub Source Code

پایه‌های توسعه: مفاهیم محوری و ابزارهای بهره‌وری Development Foundations: Core Concepts and Productivity Tools

  • راهنمای استفاده از کدهای تمرینی و گیت‌هاب Guide to Using Practice Code and GitHub

  • به‌روزرسانی‌های مهم سینتکس (Dart/Flutter) Major Syntax Updates (Dart/Flutter)

  • افزونه تولیدکننده Data Class در دارت (۱) Dart Data Class Generator Extension (1)

  • افزونه تولیدکننده Data Class در دارت (۲) Dart Data Class Generator Extension (2)

  • افزونه‌های bloc و freezed bloc & freezed extension

  • افزونه‌های کاربردی VSCode Useful VSCode extensions

  • کلاس‌های قابل فراخوانی (Callable Classes) Callable Classes

  • مدیریت خطا با Either (۱) Error Handling with Either (1)

  • مدیریت خطا با Either (۲) Error Handling with Either (2)

  • مبانی json_serializable (۱) json_serializable primer (1)

  • مبانی json_serializable (۲) json_serializable primer (2)

  • مبانی پکیج injectable (۱) injectable package primer (1)

  • مبانی پکیج injectable (۲) injectable package primer (2)

  • مبانی پکیج injectable (۳) injectable package primer (3)

  • مبانی پکیج injectable (۴) injectable package primer (4)

مروری بر معماری Clean Clean Architecture Overview

  • مرور معماری Clean (۱) Clearn Architecture Overview (1)

  • مرور معماری Clean (۲) Clean Architecutre Overview (2)

  • مرور معماری Clean (۳) Clean Architecture Overview (3)

  • مرور معماری Clean (۴) Clean Architecture Overview (4)

  • مرور معماری Clean (۵) Clean Architecture Overview (5)

  • ساختار پوشه‌بندی در معماری Clean Clean Architecture Folder Structure

مونو‌ریپو: پی‌ریزی زیرساخت مقیاس‌پذیری Monorepo: Laying the Foundation for Scalability

  • ساختار پروژه اصلی و نقشه راه گسترش Main App Project Structure and Expansion Roadmap

  • چرا Monorepo و ساختار آن Why Monorepo & Monorepo structure

  • تنظیمات pubspec.yaml، فایل‌های Barrel و پکیج Core pubspec.yaml, barrel file, core package setup

  • راه‌اندازی پکیج Domain و پکیج data_supabase domain package, data_supabase package setup

  • تنظیمات فایل analysis_options.yaml analysis_options.yaml file setup

  • به‌روزرسانی سیاست‌های کلید Supabase Supabase Key Policy Update

  • راه‌اندازی bloc_app (۱) bloc_app setup (1)

  • راه‌اندازی bloc_app (۲) bloc_app setup (2)

بک‌اند Supabase Supbase Backend

  • راهنمای راه‌اندازی بک‌اند Supabase (سورس کد SQL) Supabase Backend Setup Guide (SQL Source Code)

  • جدول public.profiles public.profiles table

  • مقایسه جدول auth.users و public.profiles auth.users table vs public.profiles table

  • جداول public.posts، public.comments و public.likes public.posts, public.comments and public.likes tables

  • تنظیمات Storage در Supabase: تصاویر پست‌ها و آواتارها supabase storage setup: post-images and avatars

  • سیاست‌های امنیت سطح سطر (RLS) برای جدول پروفایل‌ها profiles table Row Level Security

  • سیاست‌های امنیت سطح سطر (RLS) برای جدول پست‌ها posts table Row Level Security

  • سیاست‌های امنیت سطح سطر برای جداول کامنت و لایک comment table and likes table Row Level Security

  • سیاست‌های امنیت سطح سطر برای ذخیره‌سازی تصاویر و آواتارها post-images storage and avatars storage Row Level Security

  • تابع Trigger برای مدیریت کاربر جدید (handle_new_user) handle_new_user trigger function

  • تابع Trigger برای به‌روزرسانی زمان (updated_at) updated_at trigger function

  • تابع Trigger برای به‌روزرسانی تعداد کامنت‌ها update_comments_count trigger function

  • تابع Trigger به‌روزرسانی لایک‌ها و تابع handle_like update_likes_count trigger function, handle_like function

  • تابع به‌روزرسانی پروفایل کاربر update_user_profile function

  • نماها (Views): post_display_view و comment_display_view Views: post_display_view, comment_display_view

  • توابع get_my_posts و search_posts get_my_posts function, search_posts function

  • توابع ایجاد و ویرایش پست و کامنت create_post, update_post, create_comment, update_comment functions

قابلیت احراز هویت Authenticatioin Feature

  • مرور کلی سیستم احراز هویت authentication overview

  • بخش Core: خطاها، استثناها و اینترفیس UseCase core: Failures & Exceptions, UseCase Interface

  • بخش Domain: موجودیت کاربر، اینترفیس AuthRepository و UseCaseها domain: UserEntity, AuthRepository Interface, UseCases

  • نکات مهم هنگام استفاده از Barrel files Cautions when using barrel files

  • بخش Data: مدل کاربر (UserModel) data: UserModel

  • بخش Data: اینترفیس AuthRemoteDataSource و پیاده‌سازی آن با Supabase data: AuthRemoteDataSource Interface, SupabaseAuthRemoteDataSource

  • بخش Data: پیاده‌سازی AuthRepositoryImpl data: AuthRepositoryImpl

  • بخش Presentation: استفاده از injectable presentation: injectable

  • بخش Presentation: ساختار وضعیت (بر پایه Enum در مقابل Sealed Class) presentation: state shape (enum based vs sealed class based)

  • بخش Presentation: قالب وضعیت بر پایه Sealed Class presentation: sealed class based state template

  • بخش Presentation: پیاده‌سازی AuthenticationBloc (۱) presentatioin: AuthenticationBloc (1)

  • بخش Presentation: پیاده‌سازی AuthenticationBloc (۲) presentation: AuthenticationBloc (2)

  • بخش Presentation: پیاده‌سازی LoginBloc presentation: LoginBloc

  • بخش Presentation: پیاده‌سازی SignupBloc presentation: SignupBloc

  • بخش Presentation: قالب کلی صفحات presentation: All pages template

  • بخش Presentation: ثابت‌های مسیریابی (Routing Constants) presentation: Routing Constants

  • بخش Presentation: ناوبری تب‌ها (Tab Navigation) presentation: TabNavigaition

  • بخش Presentation: راه‌اندازی GoRouter (۱) presentation: GoRouter Setup (1)

  • بخش Presentation: راه‌اندازی GoRouter (۲) presentation: GoRouter Setup (2)

  • بخش Presentation: ثبت GoRouter در برنامه presentation: Registering GoRouter

  • بخش Presentation: صفحه ورود (۱) presentation: LoginPage (1)

  • بخش Presentation: صفحه ورود (۲) presentation: LoginPage (2)

  • بخش Presentation: صفحه ثبت‌نام presentation: SignupPage

  • بخش Presentation: تست ورود و ثبت‌نام presentation: Login, Signup Test

قابلیت پست‌ها Post Feature

  • بخش Domain: موجودیت نمایش پست (PostDisplay) domain: PostDisplay entity

  • بخش Domain: اینترفیس PostRepository و UseCase دریافت پست‌ها domain: PostRepository interface (getPosts), getPostsUseCase

  • بخش Data: مدل نمایش پست (PostDisplayModel) data: PostDisplayModel

  • بخش Data: پیاده‌سازی RemoteDataSource و Repository برای پست‌ها data: PostRemoteDataSource, SupabasePostRemoteDataSource, PostRepositoryImpl

  • بخش Presentation: استفاده از injectable Presentation: injectable

  • بخش Presentation: پیاده‌سازی PostListBloc (۱) presentation: PostListBloc (1)

  • بخش Presentation: پیاده‌سازی PostListBloc (۲) presentation: PostListBloc (2)

  • بخش Presentation: صفحه پست‌ها (PostPage) presentation: PostPage

  • راهنمای Pagination و فیزیک اسکرول در اندروید، iOS و وب Platform-Specific Scroll Physics & Pagination Guide (iOS, Android, Web)

  • بخش Presentation: ویجت کارت پست (PostCard) presentation: PostCard widget

  • بخش Domain: منطق ایجاد پست domain: Post Creation

  • بخش Data: پیاده‌سازی ایجاد پست data: Post Creation

  • بخش Presentation: پیاده‌سازی PostFormBloc presentation: PostFormBloc

  • بخش Presentation: صفحه فرم پست (PostFormPage) presentatioin: PostFormPage

  • بخش Presentation: تست صفحه فرم پست presentation: Testing PostFormPage (Post Creation Feature)

  • بخش Presentation: استفاده از GlobalEventBus برای اطلاع از ایجاد پست presentation: GlobalEventBus (PostCreatedDispatched)

  • بخش Presentation: جزئیات GlobalEventBus presentation: GlobalEventBus Detail

  • بخش Domain: منطق جزئیات پست domain: Post Detail

  • بخش Data: پیاده‌سازی جزئیات پست data: Post Detail

  • بخش Presentation: پیاده‌سازی PostDetailBloc presentation: PostDetailBloc

  • بخش Presentation: پیاده‌سازی CommentListBloc presentation: CommentListBloc

  • بخش Presentation: صفحه جزئیات پست (PostDetailPage) presentation: PostDetailPage

  • بخش Presentation: نمایش لیست کامنت‌ها و کارت کامنت presentation: CommentListView, CommentCard

  • بخش Domain و Data: پیاده‌سازی لایک domain, data: like

  • بخش Presentation: مدیریت لایک در PostListBloc و EventBus presentation: like - PostListBloc, GlobalEventBus

  • بخش Presentation: مدیریت لایک در PostDetailBloc و صفحه جزئیات presentation: like - PostDetailBloc, PostDetailPage

  • بخش Domain: منطق افزودن، ویرایش و حذف کامنت domain: Comment - Add, Edit, Delete

  • بخش Data: پیاده‌سازی افزودن، ویرایش و حذف کامنت data: Comment - Add, Edit, Delete

  • بخش Presentation: پیاده‌سازی CommentListBloc (۱) presentation: CommentListBloc (1)

  • بخش Presentation: پیاده‌سازی CommentListBloc (۲) presentation: CommentListBloc (2)

  • بخش Presentation: فیلد ورودی کامنت در صفحه جزئیات پست presentation: PostDetailPage - CommentInputField

  • بخش Presentation: نمایش کارت کامنت در صفحه جزئیات presentation: PostDetailPage - CommentCard

  • بخش Domain: منطق حذف و ویرایش پست domain: Post Deletion, Post Edit

  • بخش Data: پیاده‌سازی حذف و ویرایش پست data: Post Deletion, Post Edit

  • بخش Presentation: مدیریت حذف/ویرایش در PostDetailBloc و EventBus presentation: PostDetailBloc, GlobalEventBus

  • بخش Presentation: به‌روزرسانی PostFormBloc presentation: PostFormBloc

  • بخش Presentation: به‌روزرسانی PostDetailPage presentation: PostDetailPage

  • بخش Presentation: هماهنگی بین PostFormPage و PostDetailPage presentation: PostFormPage, PostDetailPage

قابلیت پروفایل Profile Feature

  • بخش Domain: پروفایل کاربر domain

  • بخش Data: پروفایل کاربر data

  • بخش Presentation: پیاده‌سازی ProfileBloc presentation: ProfileBloc

  • بخش Domain و Data: دریافت پست‌های من domain, data: Get My Posts

  • بخش Presentation: استفاده از GlobalEventBus در پروفایل presentation: GlobalEventBus

  • بخش Presentation: پیاده‌سازی MyPostListBloc (۱) presentation: MyPostListBloc (1)

  • بخش Presentation: پیاده‌سازی MyPostListBloc (۲) presentation: MyPostListBloc (2)

  • بخش Presentation: صفحه پروفایل من (۱) presentation: MyProfilePage (1)

  • بخش Presentation: صفحه پروفایل من (۲) presentation: MyProfilePage (2)

  • بخش Presentation: پیاده‌سازی UserProfileBloc presentation: UserProfileBloc

  • بخش Presentation: صفحه پروفایل کاربر presentation: UserProfilePage

  • بخش Presentation: پیاده‌سازی EditProfileBloc presentation: EditProfileBloc

  • بخش Presentation: صفحه ویرایش پروفایل presentation: EditProfilePage

قابلیت جستجو Search Feature

  • بخش Domain: جستجو domain

  • بخش Data: جستجو data

  • بخش Presentation: پیاده‌سازی SearchBloc (۱) presentation: SearchBloc (1)

  • بخش Presentation: پیاده‌سازی SearchBloc (۲) presentation: SearchBloc (2)

  • بخش Presentation: پیاده‌سازی SearchBloc (۳) presentation: SearchBloc (3)

  • بخش Presentation: صفحه جستجو (۱) presentation: SearchPage (1)

  • بخش Presentation: صفحه جستجو (۲) presentation: SearchPage (2)

بازنویسی و بهینه‌سازی کد (Refactoring) Refactoring

  • معیارهای بازنویسی (Refactoring) Refactoring Criteria

  • پیاده‌سازی PaginationHandler PaginationHandler

  • بهینه‌سازی Bloc با استفاده از PaginationHandler Refactoring Bloc by applying PaginationHandler

  • پیاده‌سازی ToggleLikeHandler ToggleLikeHandler

  • بهینه‌سازی Bloc با استفاده از ToggleLikeHandler Refactoring Bloc by applying ToggleLikeHandler

قابلیت Realtime در Supabase Supabase Realtime

  • مرور کلی، تنظیمات، Domain و Data برای Realtime Overview, setup, domain, data

  • بخش Data: پیاده‌سازی RealtimeRepositoryImpl data: RealtimeRepositoryImpl

  • بخش Presentation: استفاده از injectable presentation: injectable

  • بخش Presentation: پیاده‌سازی RealtimeBloc presentation: RealtimeBloc

  • بخش Presentation: افزودن قابلیت‌های آنی به PostListBloc presentation: Adding real-time functionality to PostListBloc

  • بخش Presentation: افزودن قابلیت‌های آنی به ScaffoldWithNavBar presentation: Adding realtime functionality to ScaffoldWithNavBar

  • بخش Presentation: انتقال وضعیت به بالا (Lifting State Up) و تست presentation: Lifting State Up & Test

جمع‌بندی و بخش پایانی Outro

  • جمع‌بندی نهایی Outro

نمایش نظرات

آموزش برنامه‌نویسی پیشرفته فلاتر: Supabase، معماری Clean و Bloc
جزییات دوره
18.5 hours
146
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
186
4.8 از 5
دارد
دارد
دارد
Sangwook Cho
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Sangwook Cho Sangwook Cho

YourDevEdge