اصول همزمانی در Swift
✅ سرفصل و جزئیات آموزش
آنچه یاد خواهید گرفت:
- درک کنید همزمانی چیست و چرا برای توسعه مدرن iOS ضروری است؟
- یاد میگیرید قبل از async/await چگونه از Grand Central Dispatch (GCD) و completion handlers استفاده میشد.
- تسلط به مدل جدید همزمانی Swift - بررسی async/await، تسک و TaskGroup
- مشکلات عملکردی ناشی از مسدود شدن thread اصلی را شناسایی و فیکس میکنید.
- از MainActor به درستی استفاده میکنید تا رابط کاربری شما واکنشگرا و thread-safe بماند.
- کدهای موجود مبتنی بر callback را با استفاده از continuations به async/await تبدیل میکنید.
- همزمانی ساختاریافته و لغو را با TaskGroup و مودیفایرهای تسک بررسی میکنید.
- نقش Sendable را درک کرده و میبینید Swift چگونه ایمنی داده را بین threads اعمال میکند.
- با AsyncSequence برای مدیریت استریمهای داده غیرهمزمان کار میکنید.
- یاد میگیرید Actors چگونه از رقابت داده جلوگیری میکنند و طراحی کد همزمان را سادهتر میسازند.
- مثالهای واقعی میسازید که شبکهسازی و تسکهای غیرهمزمان و actor isolation را با هم ترکیب میکنند.
پیشنیازهای دوره
- درک پایه از برنامهنویسی Swift (متغیرها، توابع، structs و کلاسها)
- آشنایی با SwiftUI یا UIKit مفید است، اما الزامی نیست.
- Xcode 15 یا نسخههای جدیدتر روی Mac شما نصب شده باشد.
- تمایل به نوشتن کدهای غیرهمزمان سریعتر، تمیزتر و ایمنتر
- نیازی به تجربه قبلی در همزمانی نیست. ما از اصول شروع میکنیم و تا مباحث پیشرفته پیش میرویم.
توضیحات دوره
با تسلط به مدل مدرن همزمانی Swift، اپلیکیشنهای iOS سریعتر، روانتر و واکنشگراتر بسازید.
اگر تا به حال با فریز شدن رابط کاربری، completion handlers تودرتو یا callback hell درگیر بودهاید، این دوره نگاه شما را به برنامهنویسی غیرهمزمان در Swift کاملاً تغییر میدهد. سیستم جدید همزمانی Apple که با async/await، تسک و MainActor و Actors قدرت میگیرد نوشتن کد همزمان را ایمنتر، تمیزتر و سادهتر از همیشه کرده است. اما برای استفاده واقعی از این قدرت، باید بدانید این سیستم در under the hood چگونه کار میکند.
آنچه در اصول همزمانی در Swift یاد میگیرید:
- همزمانی واقعاً چیست و چرا اهمیت دارد؟
- چگونه Grand Central Dispatch (GCD) و completion handlers مسیر را برای async/await هموار کردند؟
- چگونه کدهای قدیمی مبتنی بر callback را با سینتکس مدرن async/await بازنویسی کنید؟
- نقش MainActor چیست و چگونه از مسدود کردن thread اصلی جلوگیری کنید؟
- چگونه از تسک، TaskGroup و Task.detached برای همزمانی ساختاریافته استفاده کنید؟
- چگونه Swift با Sendable و Actors داده را به صورت ایمن جدا میکند؟
- چگونه با AsyncSequence استریمهای داده غیرهمزمان را ایجاد و consume کنید؟
شما مثالهای واقعی، دموهای عملی و پروژههای قابل دانلود را خواهید دید که هر مفهوم را گامبهگام توضیح میدهند.
در پایان دوره، اعتمادبهنفس لازم را برای ساخت اپلیکیشنهای concurrency-safe خواهید داشت؛ اپلیکیشنهای که فوقالعاده سریع به نظر میرسند و هرگز فریز نمیشوند که مهارتی ضروری برای هر توسعهدهنده جدی iOS است.
اگر آمادهاید کدی بنویسید که هم مدرن و هم کارآمد باشد، همین حالا در دوره شرکت کنید و اصول همزمانی در Swift را یاد بگیرید.
این دوره برای چه کسانی مناسب است؟
- توسعهدهندگان iOS که میخواهند به مدل مدرن همزمانی Swift مسلط شوند.
- توسعهدهندگانی که از callback hell و completion handlers گیجکننده خسته شدهاند.
- توسعهدهندگان SwiftUI و UIKit که میخواهند اپلیکیشنهایی روان، واکنشگرا و بدون فریز شدن بسازند.
- برنامهنویسان سطح متوسط Swift که میخواهند درک خود را از async/await و actors و همزمانی ساختاریافته ارتقا دهند.
- کسی که میخواهد بداند Swift چگونه threads، تسکها و ایمنی داده را در under the hood مدیریت میکند.
- مدرسان، رهبران تیم یا منتورهایی که میخواهند مفاهیم همزمانی را شفاف و مطمئن آموزش دهند.
اصول همزمانی در Swift
-
مقدمه 02:13
-
فایلهای تمرینی 00:36
-
درک همزمانی 06:18
-
Grand Central Dispatch 04:51
-
قبل از Async/Await - معرفی Completion Handlers و DispatchQueues 16:33
-
قبل از Async/Await - معرفی Completion Handlers تودرتو 12:18
-
بروزرسانی اپلیکیشن برای استفاده از Async/Await 07:47
-
Async/Await چگونه کار میکند؟ 06:17
-
MainActor چیست؟ 05:57
-
انجام عملیاتهای پرمصرف روی thread اصلی (روش نادرست) 03:21
-
حل مشکل با انتقال تسک پرمصرف از thread اصلی 07:12
-
Task.Detached 14:39
-
تأثیرات actor isolation پیشفرض و MainActor 09:51
-
Continuation چیست؟ 01:44
-
تبدیل تابع callback به تابع Async/Await با استفاده از Continuation 12:39
-
Unsafe و Checked Continuations 09:17
-
Async let 09:59
-
Async let در یک حلقه (روش نادرست) 07:12
-
Task Group 10:55
-
لغو تسکها 09:15
-
task Modifier. 10:31
-
Sendables چه هستند؟ 08:35
-
پیادهسازی Sendables 10:31
-
مقدمه ماژول 02:34
-
حلقه زدن روی Sequence بدون AsyncSequence 07:23
-
حلقه زدن روی AsyncSequence با استفاده از await 03:07
-
AsyncSequence داخلی در فریمورک iOS 06:53
-
تطبیق Callbacks و Handlers موجود با AsyncSequence با استفاده از AsyncStream 09:42
-
Actors در Swift چه هستند؟ 07:15
-
درک Actors 08:12
-
مثالهای حساب بانکی با استفاده از Actors 09:24
-
مثال Actors - انتقال وجه در حساب بانکی 08:43
-
درک کلیدواژه nonisolated در Swift 04:51
مشخصات آموزش
اصول همزمانی در Swift
- تاریخ به روز رسانی: 1405/04/02
- سطح دوره:Alls
- تعداد درس:33
- مدت زمان :04:16:38
- حجم :2.7GB
- زبان:دوبله زبان فارسی
- دوره آموزشی:AI Academy