قیمت این دوره: 99,000 تومان
  • مدرس دوره : رامین صیقلی
  • تعداد ویدیوها : 17 ویدیو
  • مدت زمان دوره : 1:25:00
  • سطح دوره : پیشرفته
  • وضعیت دوره : به اتمام رسیده
  • تاریخ آخرین بروزرسانی : 1404/06/11
ثبتـــ نام در این دوره ثبت نام در دوره
کامل‌ترین راهنمای کار با Coroutines در کاتلین - با مثال‌های عملی

کامل‌ترین راهنمای کار با Coroutines در کاتلین - با مثال‌های عملی

در دنیای امروز توسعهٔ اپلیکیشن‌های مدرن با  kotlin(به‌ویژه در اندروید)، نیاز به اجرای هم‌زمان و مدیریت کارهای غیرهم‌زمان به‌شدت افزایش پیدا کرده. کوروتین‌ها در کاتلین راه‌حل رسمی و قدرتمند برای مدیریت هم‌زمانی (Concurrency) هستند که به‌صورت سبک‌وزن، امن و ساده جایگزین Threadهای پیچیده می‌شن.

اگر تا الان با Thread، Callback یا حتی AsyncTask کار کردی و دنبال راهی تمیزتر، ساختاریافته‌تر و منعطف‌تر هستی، کوروتین دقیقاً همون چیزیه که باید یاد بگیری. این ابزار، نه‌تنها کدتو خواناتر و قابل تست‌تر می‌کنه، بلکه با کمک قابلیت‌هایی مثل Structured Concurrency، جلوی خیلی از مشکلات حافظه، نشت منابع، و race condition رو می‌گیره.

پیش‌نیازهای این دوره:

برای یادگیری این دوره بهتره که:

با زبان Kotlin در سطح مقدماتی آشنا باشی (syntax، توابع، کلاس‌ها و غیره)

مفاهیم پایه‌ای برنامه‌نویسی شی‌گرا (OOP) رو بدونی

اگه تجربهٔ کار با Thread یا Callback در اندروید یا هر زبان دیگه‌ای داری، یادگیری کوروتین برات خیلی شیرین‌تر می‌شه

توی این دوره چه چیزهایی یاد می‌گیری؟

این دوره قدم‌به‌قدم تو رو با همه مفاهیم مهم کوروتین آشنا می‌کنه، از جمله:

تفاوت Scopeها مثل CoroutineScope، ViewModelScope، LifecycleScope، GlobalScope و MainScope

متدهای کلیدی: launch، async، withContext، runBlocking

مفهوم Dispatcher و تعیین Thread اجرای کوروتین‌ها

مدیریت Jobها و تفاوت Job و SupervisorJob

لغو کوروتین‌ها، تفاوت cancel و cancelAndJoin و رفتار در Dispatcherها

کار با timeout (withTimeout, withTimeoutOrNull)

مدیریت خطا (CoroutineExceptionHandler)

propagation و مفهوم CoroutineContext

تست کوروتین‌ها با ابزارهای اختصاصی تست

نکات مهم بهینه‌سازی و performance

و حتی تبدیل APIهای Callback محور به توابع suspend

تمامی مفاهیم با مثال‌های واقعی، کاربردی و توضیحاتی ساده ولی دقیق آموزش داده می‌شن.

 


مناسب توسعه‌دهندگان اندروید و تمام برنامه‌نویسان کاتلین که دنبال مسلط شدن به core concurrency با Coroutines هستن.

 

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

مقدمه و آشنایی با کوروتین‌ها
مفاهیم اولیه کوروتین
ساختار و Scope کوروتین‌ها
Dispatcherها و کنترل Thread
مدیریت Job و ساختاردهی کوروتین‌ها
زمان‌بندی و کنترل Timeout
مدیریت خطا در Coroutines
مفاهیم پیشرفته Context و Propagation
بهینه‌سازی و Performance
ارتباط با APIهای callbackی


پیش نیاز های دوره :

  1. آشنایی با کاتلین و شی گرائی

فهرستـــ ویدیوها

مدت زمان دوره 1:25:00
  • با مشاهده آنلاین جلسات در سایت ، هزینه اینترنت شما به صورت نیم بها محاسبه خواهد شد.

1
  • 01-مزیت استفاده از Coroutine به جای Thread در برنامه‌نویسی اندروید

00:06:47

در توسعه اپلیکیشن‌های اندروید، استفاده از Coroutine جایگزین مدرنی برای Thread است که مدیریت هم‌زمانی را ساده‌تر و بهینه‌تر می‌کند. کوروتین‌ها مصرف منابع کمتری دارند، کدنویسی را تمیزتر می‌کنند و باعث جلوگیری از خطای ANR می‌شوند. در مصاحبه‌های فنی اندروید نیز انتظار می‌رود به جای Thread از Coroutines استفاده کنید.

2
  • 02-Callback و Callback Hell در اندروید و نقش Coroutine

00:03:41

توی این ویدیو با مفهوم ساده‌ی Callback آشنا می‌شی و می‌فهمی چرا Callback Hell می‌تونه کدت رو به فاجعه تبدیل کنه.

3
  • 03-تفاوت Concurrency و Parallelism در اندروید

00:03:27

توی این ویدیو با مفاهیم Concurrency و Parallelism آشنا می‌شی و می‌فهمی چطور Coroutine با یه Thread همزمان چندتا کار رو هندل می‌کنه.

4
  • 04-فرق Synchronous و Asynchronous در اندروید

00:03:23

توی این قسمت یاد می‌گیری Synchronous یعنی چی و چه زمانی کاربرد داره. بعدش می‌ریم سراغ Asynchronous و می‌فهمی چطور برنامه می‌تونه همزمان چند کار انجام بده. در نهایت رابطه Async با Concurrency و Parallelism رو کامل برات باز می‌کنم!

5
  • 05-Scope در Coroutine

00:04:35

توی این قسمت یاد می‌گیری Scope چیه و چرا توی مدیریت عمر coroutine اهمیت داره. می‌فهمی بدون Scope چه فاجعه‌هایی ممکنه توی اندروید رخ بده.

6
  • 06-CoroutineScope در اندروید

00:03:52

توی این قسمت یاد می‌گیری CoroutineScope دقیقاً چیه و چطور عمر Coroutine رو کنترل می‌کنه. فرقش با مفهوم Scope رو توضیح می‌دیم و یاد می‌گیری چطوری یه Scope بسازی و ازش استفاده کنی.

7
  • 07-Dispatcher در Coroutine (کنترل اجرای نخ‌ها در اندروید)

00:04:33

توی این ویدیو یاد می‌گیری Dispatcher چیه و چطور نخ اجرای Coroutine رو مشخص می‌کنه. با انواع Dispatcher آشنا می‌شی و می‌فهمی کِی و کجا باید از هرکدوم استفاده کنی.

8
  • 08-Job در Coroutine (چطور Coroutine رو کنترل و مدیریت کنیم؟)

00:07:33

توی این ویدیو می‌فهمی Job توی Coroutine دقیقاً چیه و چطور می‌تونی باهاش یه Coroutine رو کنترل کنی. وضعیت‌های مختلف Job، متدهای کاربردی مثل cancel و join رو یاد می‌گیری.

9
  • 09-ViewModelScope در اندروید

00:03:32

توی این قسمت یاد می‌گیری ViewModelScope دقیقاً چیه و چه ویژگی هایی داره.

10
  • 10-LifecycleScope در اندروید

00:06:05

توی این ویدیو قراره مفهوم Lifecycle توی اندروید رو کامل بشناسیم و با LifecycleScope آشنا بشیم.

11
  • 11-GlobalScope در اندروید (آیا GlobalScope توی اندروید خطرناکه؟)

00:04:50

توی این ویدیو می‌فهمیم GlobalScope دقیقاً چیه، کِی استفاده می‌شه و چه وقتی نباید سراغش بریم! همین طور متوجه میشیم چطور استفاده اشتباه ازش می‌تونه باعث Memory Leak یا کرش اپلیکیشن بشه. اگه اپت برات مهمه، حتماً قبل از استفاده از GlobalScope این ویدیو رو ببین! ⚠️

12
  • 12-MainScope در اندروید (اجرای امن روی UI)

00:04:46

توی این ویدیو یاد می‌گیریم MainScope دقیقاً چیه و چرا برای اجرای کارهای UI روی Main Thread انتخاب مناسبیه.

13
  • 13-runBlocking در اندروید(کِی استفاده کنیم، کِی نکنیم؟)

00:03:48

تو این ویدیو قراره با runBlocking توی Kotlin آشنا بشی و بفهمی چه‌جوری کار میکنه.

14
  • 14-Launch در کوروتین و پارامتر block

00:05:14

توی این قسمت به بررسی launch در کوروتین می پردازیم و با پارامتر سوم launch یعنی block آشنا میشیم.

15
  • 15-بررسی Coroutine Context در Launch و Scope

00:09:11

توی این قسمت به بررسی پارامتر دوم Launch یعنی Coroutine Context می پردازیم.

16
  • 16-بررسی Start در Launch

00:05:22

توی این قسمت به بررسی پارامتر سوم Launch یعنی Start می پردازیم.

17
  • 17-Delay در کوروتین

00:04:34

توی این قسمت به بررسی Delay در Coroutine می پردازیم.


نظرات کاربران در رابطه با این دوره

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