محمد کاردان
محمد کاردان
خواندن ۳ دقیقه·۱ سال پیش

کوروتین به زبان ساده - قسمت ۱

Kotlin coroutines
Kotlin coroutines

سلام. میخوایم توی این مجموعه مقالات، کوروتین ها (coroutines) و کاربرد های اون ها رو با همدیگه یاد بگیریم.

کوروتین ها (coroutines) چه موجوداتی هستن؟

کوروتین ها یک ابزار هستن برای برنامه نویس های کاتلین. این ابزار قابلیت های خیلی زیادی رو نصیب ما میکنه.

برای مثال، ما با استفاده کوروتین ها میتونیم یک سری کار ها رو به صورت همزمان (concurrent) انجام بدیم.

یکی از مسائلی که توی برنامه نویسی داریم اینه که گاهی اوقات میخوایم یک سری کار ها رو همزمان با همدیگه انجام بدیم نه به صورت متوالی یا پشت سر هم! (حالا جلوتر این موضوع برامون روشن تر میشه که دقیقا منظورمون از متوالی چیه)

کوروتین ها این کار رو برای ما میکنن.

کوروتین ها این قابلیت رو به ما میدن تا بتونیم چند تا کار (task) رو همزمان انجام بدیم.

پس تا اینجا متوجه شدیم که کوروتین ها چه موجوداتی هستن و برامون چیکار میکنن.

چطوری میتونیم از کوروتین ها استفاده کنیم ؟

اگر شما به عنوان یک برنامه نویس اندروید با زبان کاتلین مشغول به توسعه ی پروژه های خودتون هستید، برای استفاده از کوروتین نیازی به اضافه کردن هیچ کتابخونه و یا dependency خاصی ندارید.

زمانی که پروژه ی اندرویدی خودتون رو ایجاد میکنید، به صورت پیش فرض کتابخونه ی appcompat به پروژه ی شما اضافه شده و کوروتین ها به عنوان بخشی از این کتابخونه در دسترس شما هستن!

بنابراین به عنوان برنامه نویس اندروید برای استفاده از کوروتین ها نیازی به اضافه کردن هیچ کتابخونه ی خاصی ندارید!

اما اگر یک پروژه ی کاتلینی خام ایجاد کنید ، برای استفاده از کوروتین ها باید وابستگی (dependency) مربوط به کوروتین ها رو به پروژه ی خودتون اضافه کنید.

اگر پروژه ی شما از Gradle به عنوان build system استفاده میکرد، این وابستگی رو میتونید اضافه کنید :

implementation(&quotorg.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3&quot)

و اگر از Maven استفاده میکرد به این شکل باید وابستگی رو اضافه کنید :

<dependency> <groupId>org.jetbrains.kotlinx</groupId> <artifactId>kotlinx-coroutines-core</artifactId> <version>1.7.3</version> </dependency>

با اضافه کردنِ این وابستگی به پروژه ی کاتلینی خودتون، کوروتین ها در دسترس شما خواهند بود و میتونید از اون ها توی روندِ توسعه ی خودتون استفاده کنید.


نتیجه ی قسمت اول

خب تا اینجا، امیدوارم که با کوروتین ها (Coroutiens) یک آشنایی نسبی ای پیدا کرده باشید.

در ادامه و توی این مجموعه از مقالات، ما سعی میکنیم تا کوروتین ها رو به زبان خیلی خیلی ساده کالبد شکافی کنیم و اون رو یاد بگیریم.

اگر یک برنامه نویس مبتدی هستید یا با کوروتین ها آشنایی ندارید قطعا ادامه ی این قسمت ها به دردتون خواهد خورد.

توی قسمت بعدی وارد استفاده ی عملی از کوروتین ها خواهیم شد و موارد زیر رو یاد خواهیم گرفت :

  • یک کوروتین توی کد چه شکلیه ؟ (اجزاش رو کاملا بررسی میکنیم)
  • چطوری یک کار رو با استفاده از کوروتین میتونیم انجام بدیم و چه فایده ای برامون داره؟
  • چطوری با کوروتین چندین کار (task) رو به شکل همزمان انجام بدیم؟

توی قسمت بعدی لذت استفاده از کوروتین ها رو تجربه میکنیم =)

همچنین برای درک بهتر از کاری که کوروتین ها برای ما میکنن، پیشنهاد میکنم حتما درباره ی دو مفهومِ Concurrency و Parallelism مطالعه ی کوچیکی انجام بدید.

توی منابع فارسی این صفحه رو بهتون پیشنهاد میکنم : Concurrency and Parallelism

اگه پیام یا نظری درباره ی این مجموعه داشتید حتما میتونید تا باهام درمیون بزارید =)

برنامه نویسیبرنامه نویسی اندرویدکاتلینکوروتینcoroutines
برنامه نویسِ اندروید
شاید از این پست‌ها خوشتان بیاید