سلام. میخوایم توی این مجموعه مقالات، کوروتین ها (coroutines) و کاربرد های اون ها رو با همدیگه یاد بگیریم.
کوروتین ها یک ابزار هستن برای برنامه نویس های کاتلین. این ابزار قابلیت های خیلی زیادی رو نصیب ما میکنه.
برای مثال، ما با استفاده کوروتین ها میتونیم یک سری کار ها رو به صورت همزمان (concurrent) انجام بدیم.
یکی از مسائلی که توی برنامه نویسی داریم اینه که گاهی اوقات میخوایم یک سری کار ها رو همزمان با همدیگه انجام بدیم نه به صورت متوالی یا پشت سر هم! (حالا جلوتر این موضوع برامون روشن تر میشه که دقیقا منظورمون از متوالی چیه)
کوروتین ها این کار رو برای ما میکنن.
کوروتین ها این قابلیت رو به ما میدن تا بتونیم چند تا کار (task) رو همزمان انجام بدیم.
پس تا اینجا متوجه شدیم که کوروتین ها چه موجوداتی هستن و برامون چیکار میکنن.
اگر شما به عنوان یک برنامه نویس اندروید با زبان کاتلین مشغول به توسعه ی پروژه های خودتون هستید، برای استفاده از کوروتین نیازی به اضافه کردن هیچ کتابخونه و یا dependency خاصی ندارید.
زمانی که پروژه ی اندرویدی خودتون رو ایجاد میکنید، به صورت پیش فرض کتابخونه ی appcompat به پروژه ی شما اضافه شده و کوروتین ها به عنوان بخشی از این کتابخونه در دسترس شما هستن!
بنابراین به عنوان برنامه نویس اندروید برای استفاده از کوروتین ها نیازی به اضافه کردن هیچ کتابخونه ی خاصی ندارید!
اما اگر یک پروژه ی کاتلینی خام ایجاد کنید ، برای استفاده از کوروتین ها باید وابستگی (dependency) مربوط به کوروتین ها رو به پروژه ی خودتون اضافه کنید.
اگر پروژه ی شما از Gradle به عنوان build system استفاده میکرد، این وابستگی رو میتونید اضافه کنید :
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3")
و اگر از Maven استفاده میکرد به این شکل باید وابستگی رو اضافه کنید :
<dependency> <groupId>org.jetbrains.kotlinx</groupId> <artifactId>kotlinx-coroutines-core</artifactId> <version>1.7.3</version> </dependency>
با اضافه کردنِ این وابستگی به پروژه ی کاتلینی خودتون، کوروتین ها در دسترس شما خواهند بود و میتونید از اون ها توی روندِ توسعه ی خودتون استفاده کنید.
خب تا اینجا، امیدوارم که با کوروتین ها (Coroutiens) یک آشنایی نسبی ای پیدا کرده باشید.
در ادامه و توی این مجموعه از مقالات، ما سعی میکنیم تا کوروتین ها رو به زبان خیلی خیلی ساده کالبد شکافی کنیم و اون رو یاد بگیریم.
اگر یک برنامه نویس مبتدی هستید یا با کوروتین ها آشنایی ندارید قطعا ادامه ی این قسمت ها به دردتون خواهد خورد.
توی قسمت بعدی وارد استفاده ی عملی از کوروتین ها خواهیم شد و موارد زیر رو یاد خواهیم گرفت :
توی قسمت بعدی لذت استفاده از کوروتین ها رو تجربه میکنیم =)
همچنین برای درک بهتر از کاری که کوروتین ها برای ما میکنن، پیشنهاد میکنم حتما درباره ی دو مفهومِ Concurrency و Parallelism مطالعه ی کوچیکی انجام بدید.
توی منابع فارسی این صفحه رو بهتون پیشنهاد میکنم : Concurrency and Parallelism
اگه پیام یا نظری درباره ی این مجموعه داشتید حتما میتونید تا باهام درمیون بزارید =)