Codeit Mobile
94 subscribers
3 photos
1 video
243 links
📱 آموزش برنامه‌نویسی موبایل

Kotlin • Android

🚀 آموزش ساده، کاربردی و پروژه‌محور
💡 مخصوص توسعه‌دهندگان موبایل
Download Telegram
چرا «Coroutines» در دنیای اندروید وجود دارن؟
چون مدیریت تسک‌های ناهمگام مثل درخواست شبکه یا دیتابیس، با «Thread»های معمولی کابوس‌ست 🧟
کالبک‌های تو در تو (Callback Hell) کد رو غیرقابل نگهداری می‌کنن 😵‍💫

«Coroutines» راهکاری سبک و ساختاریافته برای نوشتن کد ناهمگام به سبک ساده و ترتیبی ارائه می‌دن 🛠️
بدون بلاک کردن رشته اصلی (Main Thread)، می‌تونید کارهای طولانی رو معلق (Suspend) کنید و بعد ادامه بدید 🧵

📌 یک مثال عملی: فرض کنید دیتا از سرور می‌گیرید و در UI نمایش می‌دید.
با «Coroutines» این کار بدون هیچ کالبکی انجام میشه:

fun fetchUserData() {
viewModelScope.launch {
val user = withContext(Dispatchers.IO) { userRepository.getUser() }
// پس از دریافت، به UI برگرد
updateUI(user)
}
}

🧩 این کد چیکار می‌کنه؟
«launch» یک «Coroutine» جدید می‌سازه که در «viewModelScope» اجرا میشه.
«withContext(Dispatchers.IO)» عملیات سنگین رو به رشته مخصوص I/O می‌بره، بدون بلاک کردن Main.
وقتی نتیجه آماده شد، خودکار به رشته اصلی برمی‌گرده و «updateUI» اجرا میشه.

مزیت اصلی: کد هم‌خون با کدهای ترتیبی معمولی، اما عملکرد هم‌زمان و غیربلاک‌کننده.
بدون نیاز به مدیریت دستی Threadها و کاهش مصرف حافظه.

🚀 این اولین قدم برای تسلط بر برنامه‌نویسی ناهمگام در کاتلینه.
بقیه مفاهیم مثل «Structured Concurrency» و «Cancellation» رو در بخش‌های بعدی می‌بینیم.

#Codeit #Android #Kotlin #Jetpack #Coroutines #AsyncProgramming #KotlinCoroutines
🌐 Codeit → https://code-it.ir

━━━━━━━━━━━━━━━
@CodeitMobile
2