- مدرس دوره : رامین صیقلی ( رزومه )
- تعداد ویدیوها : 17 ویدیو
- مدت زمان دوره : 1:25:00
- سطح دوره : پیشرفته
- وضعیت دوره : به اتمام رسیده
- تاریخ آخرین بروزرسانی : 1404/06/11

کاملترین راهنمای کار با 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:25:00با مشاهده آنلاین جلسات در سایت ، هزینه اینترنت شما به صورت نیم بها محاسبه خواهد شد.
01-مزیت استفاده از Coroutine به جای Thread در برنامهنویسی اندروید
در توسعه اپلیکیشنهای اندروید، استفاده از Coroutine جایگزین مدرنی برای Thread است که مدیریت همزمانی را سادهتر و بهینهتر میکند. کوروتینها مصرف منابع کمتری دارند، کدنویسی را تمیزتر میکنند و باعث جلوگیری از خطای ANR میشوند. در مصاحبههای فنی اندروید نیز انتظار میرود به جای Thread از Coroutines استفاده کنید.
02-Callback و Callback Hell در اندروید و نقش Coroutine
توی این ویدیو با مفهوم سادهی Callback آشنا میشی و میفهمی چرا Callback Hell میتونه کدت رو به فاجعه تبدیل کنه.
03-تفاوت Concurrency و Parallelism در اندروید
توی این ویدیو با مفاهیم Concurrency و Parallelism آشنا میشی و میفهمی چطور Coroutine با یه Thread همزمان چندتا کار رو هندل میکنه.
04-فرق Synchronous و Asynchronous در اندروید
توی این قسمت یاد میگیری Synchronous یعنی چی و چه زمانی کاربرد داره. بعدش میریم سراغ Asynchronous و میفهمی چطور برنامه میتونه همزمان چند کار انجام بده. در نهایت رابطه Async با Concurrency و Parallelism رو کامل برات باز میکنم!
05-Scope در Coroutine
توی این قسمت یاد میگیری Scope چیه و چرا توی مدیریت عمر coroutine اهمیت داره. میفهمی بدون Scope چه فاجعههایی ممکنه توی اندروید رخ بده.
06-CoroutineScope در اندروید
توی این قسمت یاد میگیری CoroutineScope دقیقاً چیه و چطور عمر Coroutine رو کنترل میکنه. فرقش با مفهوم Scope رو توضیح میدیم و یاد میگیری چطوری یه Scope بسازی و ازش استفاده کنی.
07-Dispatcher در Coroutine (کنترل اجرای نخها در اندروید)
توی این ویدیو یاد میگیری Dispatcher چیه و چطور نخ اجرای Coroutine رو مشخص میکنه. با انواع Dispatcher آشنا میشی و میفهمی کِی و کجا باید از هرکدوم استفاده کنی.
08-Job در Coroutine (چطور Coroutine رو کنترل و مدیریت کنیم؟)
توی این ویدیو میفهمی Job توی Coroutine دقیقاً چیه و چطور میتونی باهاش یه Coroutine رو کنترل کنی. وضعیتهای مختلف Job، متدهای کاربردی مثل cancel و join رو یاد میگیری.
09-ViewModelScope در اندروید
توی این قسمت یاد میگیری ViewModelScope دقیقاً چیه و چه ویژگی هایی داره.
10-LifecycleScope در اندروید
توی این ویدیو قراره مفهوم Lifecycle توی اندروید رو کامل بشناسیم و با LifecycleScope آشنا بشیم.
11-GlobalScope در اندروید (آیا GlobalScope توی اندروید خطرناکه؟)
توی این ویدیو میفهمیم GlobalScope دقیقاً چیه، کِی استفاده میشه و چه وقتی نباید سراغش بریم! همین طور متوجه میشیم چطور استفاده اشتباه ازش میتونه باعث Memory Leak یا کرش اپلیکیشن بشه. اگه اپت برات مهمه، حتماً قبل از استفاده از GlobalScope این ویدیو رو ببین! ⚠️
12-MainScope در اندروید (اجرای امن روی UI)
توی این ویدیو یاد میگیریم MainScope دقیقاً چیه و چرا برای اجرای کارهای UI روی Main Thread انتخاب مناسبیه.
13-runBlocking در اندروید(کِی استفاده کنیم، کِی نکنیم؟)
تو این ویدیو قراره با runBlocking توی Kotlin آشنا بشی و بفهمی چهجوری کار میکنه.
14-Launch در کوروتین و پارامتر block
توی این قسمت به بررسی launch در کوروتین می پردازیم و با پارامتر سوم launch یعنی block آشنا میشیم.
مخصوص اعضای ویژه


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