فلوتر پیشرفته: MVVM با ارائه دهنده، Riverpod | BLoC

Advanced Flutter: MVVM with Provider, Riverpod | BLoC

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: راهنمای عمیق برای Clearn Architecture با MVVM در Flutter: تسلط بر مدیریت ایالت با ارائه دهنده، Riverpod + BLoC تسلط بر معماری MVVM در Flutter پیاده سازی راه حل های مدیریت ایالت های مختلف setState، Provider، Riverpod، مدیریت BLoC State Rest یکپارچه سازی API و نحوه انجام عملیات CRUD Clean-code بنویسید و از کدهای Boilerplate خودداری کنید آماده شدن برای پروژه های Flutter در دنیای واقعی پیش نیازها: دانش پایه در Flutter

در این دوره جامع که برای توسعه دهندگان متوسط ​​تا پیشرفته و متخصص طراحی شده است، به اعماق معماری MVVM Flutter با مدیریت های مختلف وضعیت شیرجه بزنید. بیاموزید که چگونه یک برنامه فیلم پویا بسازید که با REST API تعامل داشته باشد، موارد دلخواه محلی را مدیریت کند، و نگاشت ژانر را برای عملکردهای پیشرفته با تم های تیره و روشن ترکیب کند. این دوره شما را در مسیر پیاده‌سازی MVVM با استراتژی‌های مدیریت دولتی مختلف راهنمایی می‌کند - setState، Provider، Riverpod و BLoC - که هر کدام در بخش‌های اختصاصی پوشش داده شده‌اند تا درک کاملی از هر رویکرد به شما ارائه دهد.

پیش نیازها:

  • دانش اولیه برنامه نویسی

  • آشنایی اولیه با ابزارک فلاتر و دارت

  • درک پایه از API های REST یک امتیاز مثبت است، اما ما این را با جزئیات پوشش می دهیم

  • اشتیاق برای یادگیری عمیق مدیریت دولتی

  • Macbook یا Windows برای توسعه

  • هر IDE ترجیحی (مانند Android Studio یا IntelliJ IDEA)، یا ویرایشگر متن ترجیحی (مانند VS Code) - نه مایکروسافت ورد!

تجهیزات ضبط:

  • نرم افزار ویرایش ویدئو: Camtasia 2023

  • میکروفون: آبی Yeti X

این تنظیم تضمین می‌کند که همه ویدیوهای دوره واضح و حرفه‌ای تولید شده‌اند.

آنچه خواهید آموخت:

  • پیاده سازی معماری MVVM در Flutter برای توسعه برنامه مقیاس پذیر

  • اتصال به یک REST API برای واکشی و نمایش داده‌های فیلم

  • مدیریت داده های محلی برای موارد دلخواه کاربر

  • تکنیک های پیشرفته مدیریت حالت با setState، Provider، Riverpod و BLoC

  • مدیریت تم در برنامه‌های Flutter برای حالت‌های روشن و تاریک پویا

ساختار دوره:

  • مدت زمان: تقریباً 12 ساعت محتوا

  • بخش MVVM، بخش UI، بخش API، و بخش‌های مختلف برای مدیریت‌های ایالت

  • طول سخنرانی: هر سخنرانی حدود 10 دقیقه است

بعد از این دوره چه انتظاری باید داشت:

  • تسلط در استفاده از معماری MVVM برای برنامه های پیچیده Flutter

  • درک عمیق از تکنیک های مختلف مدیریت دولتی و زمان استفاده از آنها

  • مهارت طراحی و مدیریت هر دو تم و پایگاه داده محلی در Flutter

  • قابلیت افزایش یافته برای مدیریت پروژه های Flutter در دنیای واقعی که به مدیریت پیشرفته حالت و یکپارچه سازی API نیاز دارند

محدودیت ها و نکات:

  • کد دوره برای همه پلتفرم های پشتیبانی شده توسط Flutter کار می کند

  • پروژه دوره برای پاسخگویی حالت پرتره طراحی شده است.

منابع:

  • کد منبع کامل برنامه فیلم برای مدیریت هر ایالت توضیح داده شده در دوره آموزشی (setState، Provider، Riverpod، BLoC)

  • راهنماهای گام به گام برای اجرای هر ویژگی

  • دسترسی به اسلایدها و مطالب خواندنی اضافی


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

مقدمه Introduction

  • مقدمه Introduction

  • دوره با بهترین قیمت Course for the best price

  • GitHub & Discord & Youtube & FB GitHub & Discord & Youtube & FB

  • در این دوره چه چیزی یاد خواهید گرفت؟ What will you learn in this course?

  • از این دوره و نحوه استفاده از منابع پیوست حداکثر استفاده را ببرید Get the most of this course and how to use the attached resources

  • نسخه نمایشی برنامه + اطلاعات بیشتر درباره این دوره App Demo + More About this course

  • نکات مهم دوره و Udemy Course and Udemy important hints

  • کد منبع در Github + سخنرانی های پیوست شده Source code on Github + Attached lectures

MVVM در عمق MVVM in Depth

  • MVVM چیست؟ یه توضیح خیلی مفصل What is MVVM? A very detailed explanation

  • یک پروژه Flutter کاملاً جدید ایجاد کنید Create a brand new Flutter project

  • ساختار پروژه را با استفاده از معماری MVVM ایجاد کنید Create the Project Structure Using the MVVM Architecture

پیاده سازی UI UI Implementation

  • بسته های مورد نیاز را در طول دوره اضافه کنید Add the required packages throughout the course

  • ایجاد تم برنامه Create The App Theme

  • شروع به ایجاد صفحه فیلم و تصویر شبکه ذخیره شده در حافظه پنهان کنید Start Creating the movies screen and the cached network image

  • شروع به پیاده سازی فیلم ویجت.mp4 کنید Start implementing the movies widget.mp4

  • ویجت btn مورد علاقه را پیاده سازی کنید Implement the favorite btn widget

  • ویجت پویا لیست ژن ها را ایجاد کنید Create the geners list dynamic widget

  • صفحه علاقه مندی ها را پیاده سازی کنید Implement the favorites screen

  • صفحه نمایش جزئیات فیلم را اجرا کنید Implement the Movie Details Screen

  • Error Widget و Splash Screen را پیاده سازی کنید Implement the Error Widget and the Splash Screen

ناوبری MVVM MVVM Navigation

  • با ناوبری در فلاتر با استفاده از روش تمیز شروع کنید Get Started With the Navigation In Flutter Using Clean Way

  • ناوبری را با استفاده از Clean Way به پایان برسانید Finish Navigation Using Clean Way

  • نمایش گفتگو با استفاده از روش تمیز Display dialog using the clean way

  • یک اسنک بار را با استفاده از روش تمیز نشان دهید Show a snackbar using the clean way

نمای کلی و یکپارچه سازی API API Overview and Integration

  • یک حساب کاربری در Movies DB ایجاد کنید و یک کلید API درخواست کنید Create an account on Movies DB and request an API Key

  • مروری بر اسناد API API Documentation Overview

  • مدل فیلم را ایجاد کنید Create the Movie Model

  • توضیح دهید که چرا باید از api ژانر استفاده کنیم و نقشه برداری را انجام دهیم Explain why we need to use the genre api and do the mapping

  • کلاس ثابت API را ایجاد کنید Create the API Constants Class

  • یک محیط امن برای کلیدهای API ایجاد کنید Create a secured envirement for the API KEYs

  • شروع به ادغام API در کد ما و ارسال درخواست کنید Start integrating the API in our code and send requests

  • تابع toString را در MoviesModel لغو کنید Override the toString Function in the MoviesModel

  • مدل ژانرهای فیلم و فراخوانی های API را پیاده سازی کنید Implement the Movie Genres Model and the API Calls

  • کلاس Repository را ایجاد کنید Create the Repository class

مجموعه مدیریت ایالتی setState State Management

  • مدیریت پیشرفته ایالتی محلی در مقابل مدیریت دولتی جهانی Advanced Local State Management vs Global State Management

  • با استفاده از مدیریت حالت setState، فیلم ها را با صفحه بندی واکشی کنید Fetch the movies with pagination using the setState state management

  • نمایش جزئیات صحیح فیلم بر روی صفحه نمایش Display the correct movie details on the screen

  • اضافه کردن انیمیشن برای تصویر Add animation for the image

  • ژانرها را در صفحه نمایش چلپ چلوپ واکشی کنید Fetch the genres in the splash screen

  • ژانرهای صحیح را روی صفحه نمایش دهید و نقشه برداری را انجام دهید Display the correct genres on the screen and do the mapping

  • دکمه امتحان مجدد را در مدیریت خطا تست کنید Test the retry button in the Error handling

  • btn مورد علاقه را با مدیریت setState پیاده سازی کنید و دلیل آن را نشان دهید Implement the favorite btn with the setState management and display why it is

  • اصلاح قالب بندی اعداد متوسط Fix the average number formatting

شروع کد برای مدیریت های مختلف ایالتی Code Starter For Different State Managements

  • شروع کد برای مدیریت های مختلف ایالتی Code Starter For Different State Managements

ارائه دهنده مدیریت دولتی با MVVM Provider State Management With MVVM

  • مدیریت دولتی ارائه دهنده را به صورت تئوری توضیح دهید Explain the Provider State Management in theory

  • اجرای مدیریت Theme State را با ارائه دهنده شروع کنید Start implementing the Theme State management with provider

  • اطلاعات بیشتر در مورد ویجت مصرف کننده در ارائه دهنده More about the Consumer Widget in Provider

  • آخرین تم ذخیره شده را بارگیری کنید Load the last saved theme

  • ارائه دهنده فیلم را پیاده سازی کنید Implement the Movies Provider

  • با استفاده از مدیریت وضعیت ارائه دهنده، صفحه نمایش اسپلش را اجرا کنید Implement the splash screen using the provider state management

  • نحوه اتصال کد برنامه ما با استفاده از MVVM را مرور کنید Recap how our App code is connected together using MVVM

  • کنترل خطا را در Splash Screen تست کنید Test the error handling in the Splash Screen

  • صفحه بندی را با استفاده از مدیریت ایالت ارائه دهنده پیاده سازی کنید Implement the pagination using the provider state management

  • با استفاده از روشی جدید از ارائه دهنده، اطلاعات فیلم ها را روی صفحه نمایش دهید Display the movies information on the screen using a new way from the Provider

  • ژانرهای صحیح را روی صفحه نمایش دهید Display the correct genres on the screen

  • ارائه دهنده علاقه مندی ها را پیاده سازی کنید Implement the Favorites Provider

  • به کاربر اجازه دهید تا از موارد دلخواه خود اضافه و حذف کند Allow the user to add and remove from his favorites

  • فیلم های مورد علاقه را بارگیری کنید Load the favorite movies

  • موارد دلخواه را در صفحه Favorites نمایش دهید Display the favorites in the Favorites Screen

  • مسابقه - ارائه دهنده مدیریت دولتی Quiz - Provider State Management

Riverpod State Management با MVVM Riverpod State Management with MVVM

  • با مدیریت دولتی Riverpod شروع کنید Get Started with the Riverpod state management

  • ارائه دهنده تم را ایجاد کنید Create the theme provider

  • ارائه دهنده تم را با استفاده از Riverpod نهایی کنید Finalize the theme provider using Riverpod

  • نحوه پیاده‌سازی ارائه‌دهنده تم با استفاده از riverpod و نحوه اجرای آن را مرور کنید Recap on how we implemented the theme provider using the riverpod and how thi

  • ویجت Consumer را در Riverpod معرفی کنید Introduce the Consumer widget in Riverpod

  • اجرای حالت فیلم را شروع کنید Start Implementing the movies state

  • برای اینکه بتوانید وضعیت فیلم ها را به روز کنید، تابع copyWith را ایجاد کنید Create the copyWith Function to be able to update the movies state

  • ارائه دهنده فیلم را ایجاد کنید Create the movies provider

  • Splash Screen را با استفاده از Future Builder پیاده سازی کنید Implement the Splash Screen using Future Builder

  • Splash Screen را با استفاده از async notifier پیاده سازی کنید Implement the Splash Screen using async notifier

  • کنترل خطا را در Splash Screen - Riverpod تست کنید Test the error handling in the Splash Screen - Riverpod

  • setState() یا markNeedsBuild() فراخوانی شده در حین ساخت را رفع کنید. Fix the setState() or markNeedsBuild() called during build.

  • autoDispose & ref.keepAlive() autoDispose & ref.keepAlive()

  • فیلم ها را واکشی کنید و صفحه بندی را در صفحه فیلم اجرا کنید Fetch movies and implement the pagination in the Movies Screen

  • با استفاده از Riverpod داده های صحیح فیلم را روی صفحه نمایش دهید Display the correct movie data on the screen using the Riverpod

  • رفع اشکال فیلم های تکراری Fix the duplicated movies bug

  • ایالت و ارائه دهنده مورد علاقه را اجرا کنید Implement the favorites state and provider

  • به کاربر اجازه دهید تا از موارد دلخواه خود اضافه و حذف کند Allow the user to add and remove from his favorites

  • موارد دلخواه را در شروع برنامه بارگیری کنید Load the favorites on the App start

  • موارد مورد علاقه صحیح را روی صفحه نمایش دهید Display the correct favs on the screen

  • ارائه دهنده جریان را توضیح دهید Explain Stream Provider

  • با استفاده از Riverpod ناظر ورود به سیستم را توضیح دهید Explain the logging observer using the Riverpod

  • ConsumerStfulWidget را توضیح دهید - از آن صرف نظر نکنید Explain the ConsumerStfulWidget - dont skip

  • ژانرهای صحیح فیلم را روی صفحه نمایش دهید Display the correct movie genres on the screen

  • ژنراتور ریورپاد Riverpod Generator

  • مسابقه Riverpod Riverpod Quiz

مدیریت دولتی BLoC BLoC State Management

  • معرفی BLoC - نظریه BLoC Intro - Theory

  • بسته های مورد نیاز را برای استفاده از BLoC در برنامه ما اضافه کنید Add the required packages to use the BLoC in our App

  • هدف بسته Equatable را توضیح دهید Explain the purpose of the Equatable package

  • شروع به ایجاد بلوک تم، ایجاد رویدادها و حالت ها کنید Start creating the Theme Bloc, Create the events and the states

  • اجرای بلوک تم را نهایی کنید Finalize implementing the Theme Bloc

  • آخرین تم ذخیره شده را بارگیری کنید Load the last saved theme

  • به کاربر اجازه دهید با استفاده از BLoC موضوع را تغییر دهد Allow the user to toggle the theme using BLoC

  • از getIt با BLoC استفاده کنید Use getIt with the BLoC

  • وضعیت فیلم و رویدادها را ایجاد کنید Create the Movies State and Events

  • توابع بلوک فیلم ها را ایجاد کنید Create the movies bloc functions

  • با استفاده از Movies BLoC ما شروع به اجرای صفحه نمایش اسپلش کنید Start implementing the splash screen using our Movies BLoC

  • Bloc Listener را معرفی کنید و کد splash screen را نهایی کنید Introduce the Bloc Listener and finalize the splash screen code

  • بررسی خطاها - در صفحه نمایش اسپلش - BLoC Test the Error Handling - In the Splash Screen - BLoC

  • صفحه بندی فیلم ها را با استفاده از BLoC پیاده سازی کنید Implement the movies pagination using the BLoC

  • داده های صحیح فیلم ها را روی صفحه نمایش دهید Display the correct movies data on the screen

  • ژانرهای صحیح را روی صفحه نمایش دهید Display the correct genres on the screen

  • حالت و رویدادهای مورد علاقه را برای BLoC مورد علاقه ما ایجاد کنید Create the Favorites State and Events for our Favorites BLoC

  • توابع BLoC مورد علاقه را اجرا کنید Implement the Favorites BLoC Functions

  • به کاربر اجازه دهید به موارد دلخواه خود اضافه کند Allow the User to add to his favorites

  • ویجت MultiBlocListener را معرفی کنید و موارد دلخواه را در Splash بارگذاری کنید Introduce the MultiBlocListener Widget and Load the favorites in the Splash

  • رفع اشکال افزودن یا حذف از موارد دلخواه Fix the add or remove from favorites bug

  • نمایش فیلم های مورد علاقه بر روی صفحه نمایش Display the favorite movies on the screen

  • ویجت BlockConsumer را معرفی کنید Introduce the BlocConsumer widget

  • آزمون BLoC BLoC Quiz

نتیجه گیری Conclusion

  • مقایسه بلوک، ارائه دهنده، ریورپاد و MVVM در فلاتر Comparison of Bloc, Provider, Riverpod, and MVVM in Flutter

  • نتیجه گیری - خلاصه دوره Conclusion - Course Recap

نمایش نظرات

فلوتر پیشرفته: MVVM با ارائه دهنده، Riverpod | BLoC
جزییات دوره
11.5 hours
108
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
2,152
4.8 از 5
دارد
دارد
دارد
Hadi Kachmar
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Hadi Kachmar Hadi Kachmar

نام من هادی است ، و دارای مدرک کارشناسی ارشد علوم مهندسی کامپیوتر و ارتباطات است. من به عنوان یک توسعه دهنده تلفن همراه بومی کار کردم ، سپس Flutter را سالها پیش آموختم و از اهمیت آن آگاه شدم. سپس به فکر ایجاد دوره ای افتادم که به شما کمک می کند Flutter را برای ساخت برنامه های خود درک کنید ، و سعی کردم همه موارد را پوشش دهم تا شما را به سطح متوسط + برسانم.