دوره پیشرفته فلاتر - معماری تمیز با MVVM
✅ سرفصل و جزئیات آموزش
آنچه یاد خواهید گرفت:
- الگوی طراحی معماری تمیز
- MVVM - مدل - نمای - مدل نمایشی
- ورودیها و خروجیهای ViewModel
- Base ViewModel و Base UseCase
- لایه برنامه - تزریق وابستگی، مدیر مسیرها و کلاس اپلیکیشن
- لایه برنامه - اکستنشن ها و توابع مشترک
- لایه داده - منابع داده (منبع داده از راه دور/ منبع داده محلی)
- لایه داده - API Service Client (مشابه Retrofit در اندروید)
- لایه داده - فراخوانی APIها (منبع داده از راه دور)
- لایه داده - افزودن Logger Interceptor
- لایه داده - کش کردن پاسخهای API (منبع داده محلی)
- لایه داده - سریالسازی Json و حاشیهنویسیها
- لایه داده - پیادهسازی مخزن (Repository)
- لایه داده - مپر (تبدیل پاسخها به مدلها)
- لایه داده - مپر (استفاده از مفهوم toDomain)
- لایه داده - اعمال ایمنی Null
- لایه داده - ایجاد Mock APIs (Stub APIs)
- لایه دامنه - مدلها
- لایه دامنه - رابطهای مخزن
- لایه دامنه - UseCases
- لایه دامنه - مفاهیم Either (چپ - شکست) / (راست - موفقیت)
- لایه دامنه - کلاسهای داده
- لایه presentation - بررسی UI (Splash - Onboarding - لاگین - ثبتنام - فراموشی رمز عبور - اصلی - جزئیات - تنظیمات - نوتیفیکیشن - جستجو)
- لایه presentation -بررسی State Renderer (استیت های تمام صفحه - استیت های پاپ آپ)
- لایه presentation - مدیریت استیت (Stream Controller - RX Dart - Stream Builder)
- لایه presentation - محلیسازی (انگلیسی - عربی)، (RTL - LTR)
- لایه presentation - مدیر داراییها (آیکنها و اندازههای تصاویر اندروید و iOS)
- لایه presentation - مدیران (فونتها - استایل ها - تمها - رشتهها - مقادیر - رنگها)
- لایه presentation - استفاده از انیمیشنهای Json
- لایه presentation - استفاده از تصاویر SVG
- استفاده از 18 بسته Flutter
- دریافت اطلاعات دستگاه (اندروید - iOS)
- استفاده از کلاسهای انتزاعی
پیش نیازهای دوره
- دانش Dart و Flutter الزامی است
- نصب Android Studio یا Visual Studio و آمادهسازی Flutter SDK
توضیحات دوره
فلاتر به عنوان ابزار UI گوگل برای ساخت برنامههای زیبا و بومی برای موبایل (اندروید، iOS)، دسکتاپ (لینوکس، مک، ویندوز، گوگل فوشیا) و وب از یک کد پایگاه واحد تعریف شده است. از آنجا که فلاتر چندسکویی است، میتوانید از یک کد پایه برای برنامه iOS و اندروید خود استفاده کنید.
این امر میتواند به طور قطع زمان و منابع شما را صرفهجویی کند. این دوره به شما کمک میکند تا از یک توسعهدهنده مبتدی به یک توسعهدهنده باتجربه تبدیل شوید. شما دانش لازم برای "چگونه یک پروژه منظم را پیادهسازی کنید؟" را خواهید داشت. کد شما به راحتی قابل خواندن، نگهداری و پایدار خواهد بود. شما از یک پروژه واقعی تجربه واقعی خواهید گرفت تا از ابتدا شروع به کدنویسی کنید و پروژه معماری تمیز را با MVVM بسازید. شما گام به گام لایه presentation، لایه داده، لایه دامنه و لایه برنامه را خواهید ساخت. این معماری طراحی شده است تا ساخت اپلیکیشنهای پایدار را حتی زمانی که عناصر خارجی مانند UI، پایگاههای داده یا APIهای خارجی همیشه در حال تغییر هستند، آسانتر کند.
در واقع مجموعهای از اصول طراحی بهترین شیوه است که به شما کمک میکند منطق تجاری یا منطق دامنه را در کنار هم نگهدارید و وابستگیها را در سیستم به حداقل برسانید. پس از اتمام این دوره میتوانید کد منبع این دوره را دوباره استفاده کنید و آن را سفارشی کنید تا پروژه معماری تمیز خود را با MVVM به صورت حرفهای بسازید.
این دوره برای چه کسانی مناسب است؟
- توسعهدهندهای که اطلاعاتی در مورد Dart و Flutter دارد.
- توسعهدهنده مبتدی و جونیور که میخواهد فلاتر را به طور کامل یاد بگیرد.
- توسعهدهندهای که به دنبال مباحث پیشرفته در فلاتر است.
- توسعهدهندهای که نیاز به ایجاد یک پروژه منظم با معماری تمیز و MVVM دارد.
- توسعهدهندهای که دورههای مبتدی را گذرانده و هنوز به اطلاعات بیشتری نیاز دارد.
- توسعهدهندهای که نیاز به یک دوره برای تبدیل شدن به یک توسعهدهنده فلاتر آماده به کار دارد.
دوره پیشرفته فلاتر - معماری تمیز با MVVM
-
درباره دوره 01:07
-
محتوای دوره 04:21
-
این دوره برای چه کسانی مناسب است؟ 00:42
-
ایجاد کلاس برنامه 13:36
-
ایجاد Colors Manager 11:47
-
ایجاد Fonts Manager 10:22
-
ایجاد Values Manager 03:37
-
ایجاد Styles Manager 10:05
-
ایجاد Theme Manager 06:04
-
اضافه کردن تم کارت 02:13
-
اضافه کردن تم نوار برنامه 03:56
-
اضافه کردن تم دکمه 06:05
-
اضافه کردن تم متن 05:29
-
اضافه کردن تم فیلد متن 11:32
-
شروع به افزودن Theme Manager 09:24
-
پایان افزودن Theme Manager 07:47
-
اضافه کردن Strings Manager 03:16
-
چگونه اندازههای تصویر را در فلاتر انتخاب کنیم؟ 07:06
-
بهترین روش برای افزودن آیکونها به پروژه فلاتر 06:27
-
شروع Splash Screen 08:23
-
اضافه کردن تایمر به Splash Screen 06:13
-
تغییر نام برنامه، آیکون لانچر و حذف صفحه سفید در شروع برای اندروید 15:06
-
تغییر نام برنامه، آیکون لانچر و حذف صفحه سفید در شروع برای iOS - شماره 1 08:26
-
تغییر نام برنامه، آیکون لانچر و حذف صفحه سفید در شروع برای iOS - شماره 2 05:18
-
اضافه کردن داراییها برای صفحه Onboarding 08:47
-
پیادهسازی صفحه Onboarding - بخش 1 11:14
-
پیادهسازی صفحه Onboarding - بخش 2 08:14
-
پیادهسازی صفحه Onboarding - بخش 3 09:22
-
پیادهسازی صفحه Onboarding - بخش 4 15:16
-
پیادهسازی صفحه Onboarding - بخش 5 10:10
-
پیادهسازی صفحه Onboarding - بخش 6 03:11
-
شگفتی 01:44
-
MVVM چیست؟ 04:56
-
ایجاد Base ViewModel 05:03
-
ایجاد ViewModel صفحه Onboarding 09:24
-
Stream Controller چیست؟ 03:01
-
اضافه کردن Stream Controller به Onboarding Viewmodel 07:00
-
پیادهسازی منطق Onboarding Viewmodel 11:41
-
ادامه پیادهسازی منطق Onboarding Viewmodel 03:25
-
اتصال Onboarding Viewmodel به View 05:18
-
چگونه دادهها را از Viewmodel در View دریافت کنیم؟ 11:53
-
معماری تمیز چیست؟ 04:52
-
ایجاد APIهای Mock 09:13
-
لایه داده - افزودن وابستگیها برای لایه شبکه 04:51
-
لایه داده - افزودن پاسخ های API 09:54
-
لایه داده - سریالسازی Json 12:57
-
لایه داده - افزودن سرویس API Client (Retrofit) 09:12
-
لایه دامنه - ایجاد مدلها 04:19
-
لایه برنامه - ایجاد توابع اکستنشن ها 04:38
-
لایه داده - ایجاد مپرها و اعمال ایمنی Null 11:49
-
مفاهیم Either 02:28
-
لایه دامنه - افزودن مخزن، درخواست و خطا 07:15
-
لایه داده - منبع داده از راه دور 06:46
-
لایه داده - افزودن Netowrk Data Checker 06:14
-
لایه داده - افزودن Repository Implementer 12:35
-
لایه داده - افزودن Data Source Enum 05:22
-
لایه داده - افزودن کدهای پاسخ 06:26
-
لایه داده - افزودن پیامهای پاسخ 03:57
-
لایه داده - افزودن گسترش بر روی منابع داده 06:06
-
لایه داده - افزودن کلاس Error Handler 14:19
-
لایه داده - اعمال ErrorHandler بر روی Repository Implementer 07:10
-
لایه داده - افزودن Dio Factory 08:50
-
لایه داده - افزودن Dio Logger Interceptor 05:15
-
لایه Presentation - افزودن Language Manager 04:08
-
لایه برنامه - افزودن تنظیمات برنامه 06:41
-
بهروزرسانی Dio Factory با تنظیمات برنامه 02:16
-
لایه دامنه - افزودن Base UseCase 04:37
-
لایه دامنه - افزودن UseCase لاگین 04:25
-
لایه دامنه - دریافت اطلاعات دستگاه - بخش 1 06:34
-
لایه دامنه - دریافت اطلاعات دستگاه - بخش 2 03:56
-
اضافه کردن Login Viewmodel 09:17
-
اضافه کردن Streams به Login ViewModel 07:30
-
اضافه کردن کلاسهای داده به Login ViewModel 09:02
-
استفاده از کلاسهای داده 01:56
-
اضافه کردن UseCase ورود به Login ViewModel 05:18
-
بستن Login ViewModel به Login View 05:55
-
Login View UI 13:22
-
ادامه Login View UI 07:40
-
نهاییسازی Login UI 03:43
-
اضافه کردن Stream Controller برای دکمه Login 10:35
-
تست پیادهسازی Login UI 05:14
-
اضافه کردن متنهای فراموشی رمز عبور و ثبتنام 07:00
-
اضافه کردن ماژول برنامه تزریق وابستگی 10:52
-
اضافه کردن نمونههای تزریق وابستگی 10:13
-
اضافه کردن ماژول ورود تزریق وابستگی 05:59
-
چگونه از نمونه تزریق وابستگی استفاده کنیم؟ 02:40
-
اجازه دهید برنامه درخواست HTTP انجام دهد (فقط HTTPs نباشد) 03:51
-
تست Login API 07:09
-
نمایش Popup State Renderer 02:04
-
نمایش Full Screen State Renderer 02:59
-
اضافه کردن پیادهسازی State Renderer 12:29
-
اضافه کردن پیادهسازی State Renderer - بخش 2 05:51
-
اضافه کردن پیادهسازی State Renderer - بخش 3 08:05
-
اضافه کردن پیادهسازی State Renderer - بخش 4 06:25
-
اضافه کردن پیادهسازی State Renderer - بخش 5 07:50
-
اضافه کردن پیادهسازی State Renderer - بخش 6 05:12
-
اضافه کردن پیادهسازی State Renderer - بخش 7 07:04
-
اعمال State Renderer - استیت بارگذاری 05:29
-
اعمال State Renderer - استیت خطا - استیت خالی - استیت محتوا 04:31
-
اضافه کردن گسترش بر روی State Renderer implementer 05:00
-
اضافه کردن پیادهسازی برای Loading State Case 08:41
-
اضافه کردن پیادهسازی برای کیس ها (استیت خطا - استیت خالی - استیت محتوا) 02:58
-
مدیریت نمایش چندین دیالوگ پاپآپ 05:26
-
اضافه کردن Input Stream Controller درون Base ViewModel 07:54
-
بهروزرسانی Login View با کنترلر استیت جریان 06:05
-
بهروزرسانی Login ViewModel با کنترلر استیت جریان 06:29
-
تست پیادهسازی State Renderer 02:19
-
بهروزرسانی Login API در Mock Stub 02:21
-
مدیریت نتیجه موفقیت ورود برای رفتن به صفحه اصلی 06:57
-
بهروزرسانی ناوبری مسیرها با تنظیمات برنامه 11:32
-
آزمایش ناوبری از صفحه Splash 01:50
-
تکلیف شماره 1 نیازمندی و ایجاد Mock API None
-
تکلیف شماره 1 نیازمندی و ایجاد Mock API 04:21
-
تکلیف شماره 1 کلیدهای راه حل 05:29
-
دریافت تکلیف شماره 1 کد منبع از گیتهاب 03:55
-
نیازمندیهای تکلیف 01:43
-
کلیدهای راه حل تکلیف شماره 2 02:53
-
ایجاد Pull Request برای راه حل تکلیف شماره 2 01:09
-
ایجاد Mock API برای صفحه ثبتنام 05:33
-
اضافه کردن رابط Register API و مخزن 05:34
-
اضافه کردن فراخوانی API ثبتنام در پیادهسازی مخزن، منبع داده از راه دور و Usecase 06:29
-
اضافه کردن Stream Controllerها به Register ViewModel 05:20
-
اضافه کردن ورودی و خروجی Register ViewModel 08:51
-
پیادهسازیهای ورودیها و خروجیهای Register ViewModel 08:06
-
اضافه کردن پیادهسازیهای Streams در Register ViewModel 07:16
-
اضافه کردن View Object Data Class 03:43
-
بهروزرسانی کلاس داده Object در Register View 10:54
-
اعمال اعتبارسنجی در ViewModel رجیستر 08:09
-
اضافه کردن پیادهسازی Register API درون ViewModel 04:21
-
بستن Register ViewModel به View و افزودن تزریق وابستگی 08:29
-
اضافه کردن Stream Builders درون Register View 04:18
-
اضافه کردن UI برای صفحه رجیستر 04:57
-
اضافه کردن UI برای صفحه رجیستر - بخش 2 13:07
-
اضافه کردن UI برای صفحه رجیستر - بخش 3 04:29
-
اضافه کردن UI برای صفحه رجیستر - بخش 4 12:21
-
اضافه کردن UI برای صفحه رجیستر - بخش 5 10:04
-
اضافه کردن UI برای صفحه رجیستر - بخش 6 02:55
-
رفع مشکلات پیادهسازی UI برای صفحه رجیستر 08:01
-
تست جریان ثبتنام 04:11
-
نهاییسازی جریان ثبتنام 11:41
-
رفتن به صفحه اصلی 03:24
-
اضافه کردن صفحات درون Main View 10:22
-
نهاییسازی اضافه کردن صفحات درون Main View 07:08
-
تست صفحات درون Main View 02:38
-
ایجاد API Mock برای صفحه اصلی 06:07
-
اضافه کردن پاسخهای Home API 10:01
-
اضافه کردن مدلهای Home API 04:20
-
اضافه کردن مپرها برای Home APIs 04:46
-
ادامه اضافه کردن مپرها برای Home API 08:29
-
اضافه کردن Home API درون App Service Client 03:17
-
بهروزرسانی منبع داده از راه دور و مخزن با Home API 03:20
-
اضافه کردن UseCase خانه 02:12
-
اضافه کردن Home ViewModel و Rxdart 06:22
-
اضافه کردن ورودیها و خروجیهای Home ViewModel 05:31
-
اضافه کردن پیادهسازی Home API در ViewModel 07:45
-
اضافه کردن Home View، اضافه کردن تزریق وابستگی و بستن View به ViewModel 04:06
-
Home View UI 11:02
-
اضافه کردن Banner Carousel Widget 13:05
-
اضافه کردن Services Widget 11:36
-
اضافه کردن Stores Widget 11:46
-
تست پیادهسازی خانه و رفع مشکلات 07:11
-
نیازمندیهای تکلیف 05:31
-
کلیدهای راه حل تکلیف 03:00
-
شروع به پیادهسازی کش کردن 10:43
-
اضافه کردن بازیابی دادههای کششده از منبع داده محلی 10:20
-
بهروزرسانی پیادهساز مخزن با منبع داده محلی 07:20
-
تست کش کردن در صفحه اصلی 02:10
-
نیازمندیهای تکلیف - ایجاد Mock API 03:45
-
کلیدهای راه حل تکلیف 03:49
-
اضافه کردن UI صفحه تنظیمات 12:32
-
نهاییسازی صفحه تنظیمات 08:51
-
شروع به پیادهسازی محلیسازی 05:26
-
بهروزرسانی رشتههای برنامه 09:03
-
ادامه بهروزرسانی رشتههای برنامه 15:50
-
بهروزرسانی تنظیمات برنامه با تغییرات زبان 08:22
-
بهروزرسانی تابع Main با محلیسازی 03:02
-
بهروزرسانی کلاس اپلیکیشن و صفحه تنظیمات با محلیسازی 04:21
-
آزمایش محلیسازی 11:20
-
چگونه کد منبع را از گیتهاب بگیریم؟ 03:27
-
چگونه در نمونه تزریق وابستگی تغییرات ایجاد کنیم؟ 15:27
-
کسب تجربه بیشتر 00:58
مشخصات آموزش
دوره پیشرفته فلاتر - معماری تمیز با MVVM
- تاریخ به روز رسانی: 1404/06/14
- سطح دوره:متوسط
- تعداد درس:181
- مدت زمان :20:30:18
- حجم :11.24GB
- زبان:دوبله زبان فارسی
- دوره آموزشی:AI Academy