دوره جامع کاتلین ۲۰۲۶: آموزش صفر تا صد و جامع - آخرین آپدیت

دانلود Kotlin 2026: The Mega Course – All-in-One

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره: از صفر تا تبدیل شدن به توسعه‌دهنده آماده‌به‌کار کاتلین | جامع‌ترین برنامه آموزشی جهان مبانی برنامه‌نویسی برنامه‌نویسی شی‌گرا (OOP) الگوهای طراحی (Design Patterns) برنامه‌نویسی تابعی (Functional Programming) کوروتین‌ها و Flow برنامه‌نویسی چندنخی و ناهمگام (Asynchronous) بررسی عمیق مجموعه‌ها: ArrayList, LinkedList, HashMap, HashSet, TreeSet؛ پیچیدگی الگوریتمی عملیات‌ها کاتلین پیشرفته: Invariance/Covariance/Contravariance؛ inline/noinline/crossinline؛ reified و غیره ساخت سیستم‌های نرم‌افزاری پیچیده آمادگی برای مصاحبه‌های شغلی شبکه‌سازی (Networking) ورودی/خروجی فایل و سریال‌سازی (Serialization) پیش نیازها: هیچ دانش قبلی مورد نیاز نیست. ما تمام موارد لازم را از ابتدایی‌ترین مفاهیم پوشش می‌دهیم و هر مرحله را با هم پیش می‌رویم. شما فقط به یک کامپیوتر و دسترسی به اینترنت نیاز دارید — سایر ابزارها را در طول دوره نصب و پیکربندی خواهیم کرد.

سلام به همگی، به دوره کامل کاتلین: از صفر تا آماده‌به‌کار خوش آمدید!

نام من آندری سومیناست.

این دوره برای هر کسی است که می‌خواهد کاتلین را بیاموزد — زبانی مدرن که برای ساخت اپلیکیشن‌های اندروید، برنامه‌های سمت سرور و پروژه‌های چندپلتفرمی استفاده می‌شود. این دوره به‌گونه‌ای طراحی شده که بتوانید از صفر شروع کنید، حتی اگر هیچ تجربه برنامه‌نویسی قبلی ندارید. فقط مبانی نیست— ما به جزئیات ظریف زبان می‌پردازیم و به‌صورت عملیتمرین می‌کنیم تا در پایان، برای مصاحبه‌های شغلی کاتلین کاملاً آماده باشید. در طول دوره، تکالیف و پروژه‌های کاربردیرا انجام خواهید داد که هر موضوع را تثبیت کرده و به شما در کسب مهارت‌های توسعه واقعی کمک می‌کند.

برای شما در تسلط بر کاتلین آرزوی موفقیت دارم — امیدوارم دانش جدید و الهامی برای فتح دنیای برنامه‌نویسی کسب کنید! در دوره می‌بینمتان!

چرا کاتلین؟
زیرا یک زبان مدرن با پشتیبانی رسمی گوگلاست. کاتلین با بهره‌گیری از تجربیات ده‌ها زبان دیگر، بهترین متدها (Best Practices)را حفظ کرده و پیچیدگی‌های غیرضروری را حذف نموده است. کدها کوتاه‌تر و شفاف‌تر هستندو نوشتن به زبان کاتلین سریع و راحتاست. قابلیت Null-safety داخلی و مدل مدرن هم‌روندی با کوروتین‌ها، پایداری و امنیت اپلیکیشن را افزایش می‌دهد. علاوه بر این، کاتلین کاملاً با جاوا و اکوسیستم JVM سازگار است، بنابراین می‌توانید از کتابخانه‌های موجود و ابزارهای آشنا بدون هیچ مانعی استفاده کنید. مهم‌تر از همه، کاتلین چشم‌انداز روشنی دارد: توسعه فعال، پشتیبانی گسترده صنعت و تقاضای بالای بازار.


سرفصل ها و درس ها

مقدمه Introduction

  • برنامه‌نویسی چیست؟ What is programming?

  • چرا به زبان‌های برنامه‌نویسی نیاز داریم؟ Why do we need programming languages?

سینتکس پایه Basic syntax

  • دانلود محیط توسعه Downloading the development environment

  • اولین برنامه First program

  • خواندن از کنسول و متغیرها Reading from the console. Variables

  • کاراکترهای خاص و تمپلیت‌ها Special characters and templates

  • نوع داده اعداد صحیح Int Integer type Int

  • تقسیم اعداد صحیح Integer division

  • عملگر شرطی Conditional operator

  • عملگر شرطی بخش دوم: ترکیب‌ها Conditional operator. Part 2. Combining

  • متغیرهای تغییرپذیر (Mutable) Mutable variables

  • اعداد اعشاری Floating-point numbers

  • آشنایی با مجموعه‌ها Introduction to collections

  • حلقه‌های Repeat و While Repeat and While loops

  • حلقه For و ویژگی size For loop and the size property

  • بازه ها (Ranges) Ranges

  • انواع اعداد صحیح Long, Short, Byte Integer types Long, Short, Byte

  • تبدیل if و when به عبارت (Expression) If and when are expressions

  • نوع داده کاراکتر (Char) Character data type

  • حلقه Do while و متد split Do-while and split

برنامه‌نویسی شی‌گرا Object-Oriented Programming

  • مقدمه‌ای بر OOP Introduction to OOP

  • ساخت کلاس و شیء Creating a class and an object

  • آشنایی با توابع Introduction to functions

  • توابع دارای پارامتر Functions with parameters

  • کلمه کلیدی this و پارامترهای نام‌دار The keyword this and named parameters

  • آشنایی با سازنده‌ها (Constructors) Introduction to constructors

  • اوورلود کردن سازنده‌ها Constructor overloading

  • سازنده اصلی (Primary Constructor) Primary constructor

  • نوع بازگشتی توابع Return type of functions

  • مقدمه‌ای بر ارث‌بری Introduction to inheritance

  • مفاهیم Upcast, Downcast, Smartcast Upcast, Downcast, Smartcast

  • مقدمه‌ای بر چندریختی (Polymorphism) Introduction to polymorphism

  • تمرین: ساخت حسابدار و متد super Practice: creating an accountant. The super method

  • انام (Enum) Enum

  • کار با فایل‌ها و مجموعه‌های تغییرپذیر Working with files and mutable collections

  • سریال‌سازی و دسریال‌سازی دستی Manual serialization and deserialization

  • حذف المان‌ها از لیست Removing elements from a list

  • بازسازی کد (Refactoring) Refactoring

  • آزمون Examination

  • کپسوله‌سازی و اصلاح‌کننده‌های دسترسی Encapsulation and access modifiers

  • کلاس‌های انتزاعی (Abstract) Abstract classes

  • اینترفیس‌ها Interfaces

  • کلاس Any و متد toString The Any class and the toString method

  • مرور کلی OOP OOP overview

تعمق در کاتلین Diving into Kotlin

  • گترها و ستراها بخش اول Getters and setters. Part 1

  • گترها و ستراها بخش دوم Getters and setters. Part 2

  • اصل تک‌مسئولیتی (SRP) Single Responsibility Principle

  • رفکتورینگ و StringBuilder Refactoring and StringBuilder

  • شیء سینگلتون (Singleton) Singleton Object

  • مفهوم Backing Field Backing Field

  • متد copy The copy method

  • متد equals The equals method

  • متد hashCode و مجموعه‌های Set The hashCode method. Set collections

  • کلاس‌های داده (Data Classes) Data Classes

  • نکات تکمیلی درباره متد copy Additional notes on the copy method

  • تایپ‌های Nullable Nullable Types

  • عملگر Elvis و Unit Elvis and Unit

  • مدیریت خطا با Try catch Try catch

  • تایپ Nothing Nothing

برنامه‌نویسی تابعی Functional programming

  • سریال‌سازی در کاتلین (Kotlin Serialization) Kotlin Serialization

  • دریافت داده‌های تست Getting test data

  • توابع خالص (Pure Functions) Pure functions

  • کلاس‌های بی‌نام (Anonymous Classes) Anonymous classes

  • عبارات لامبدا (Lambda expressions) Lambda expressions

  • مقدمه‌ای بر Generics Introduction to Generics

  • توابع Extension Extension functions

  • توابع Inline Inline functions

  • مثال‌هایی از توابع مرتبه بالا (Higher order) Examples of higher-order functions

  • تابع let The let function

  • تابع also The also function

  • مجموعه‌های Map Map collections

  • استفاده از Map برای بهبود کارایی Map for performance improvement

  • توابع With و Apply The With and Apply functions

  • تابع Run و ارجاع به متد The Run function and Method reference

الگوهای طراحی Design patterns

  • مبانی چندنخی (Multithreading) Basics of multithreading

  • مفاهیم Singleton, Companion, Init Singleton. Companion. Init.

  • روش‌های پیاده‌سازی سینگلتون Singleton. Implementation methods

  • همگام‌سازی در سینگلتون Singleton. Synchronization

  • ساخت رابط کاربری (GUI) Creating a GUI

  • الگوی Observer: مقدمه Observer. Introduction

  • الگوی Observer: وابستگی به انتزاع‌ها Observer. Dependency on abstractions

  • الگوی Observer: اینترفیس تابعی Observer. Functional interface

  • الگوی Observer: اینترفیس Observable Observer. Observable interface

  • الگوی Observer: MutableObservable Observer. MutableObservable

  • الگوی Observer: Backing field و جمع‌بندی Observer. Backing field and summary

  • الگوی Command و BlockingQueue Command and BlockingQueue

  • اینترفیس‌های Sealed Sealed Interface

  • الگوی Builder Builder

ساختار مجموعه‌ها Structure of collections

  • جونی‌ت (JUnit) بخش اول Junit Part 1

  • جونی‌ت بخش دوم: تست‌های پارامتریک Junit Part 2. Parameterized Test

  • آرایه‌ها Arrays

  • آرایه‌لیست (ArrayList) بخش اول ArrayList. Part 1

  • آرایه‌لیست بخش دوم ArrayList. Part 2

  • آرایه‌لیست بخش سوم: ثابت‌ها و عملگرها ArrayList. Part 3. Constants and operators

  • پیچیدگی الگوریتمی Algorithmic complexity

  • تست استثناها و System.arraycopy Testing exceptions. System.arraycopy

  • لیست پیوندی (LinkedList): نحوه عملکرد LinkedList. How it works

  • پیاده‌سازی LinkedList LinkedList. Implementation

  • لیست پیوندی دوطرفه LinkedList. Doubly linked list

  • هش‌ست (HashSet): نحوه عملکرد HashSet. How it works

  • پیاده‌سازی HashSet بخش اول HashSet. Implementation. Part 1

  • پیاده‌سازی HashSet بخش دوم HashSet. Implementation. Part 2

  • سوالات مصاحبه HashSet HashSet. Interview questions

  • مجموعه‌های پارامتریک Parameterized collections

  • مجموعه‌ها و Iterable Collections and Iterable

  • مفهوم MutableIterable MutableIterable

  • پیاده‌سازی‌های Set Set implementations

  • ساختار TreeSet TreeSet structure

  • مجموعه‌های تغییرناپذیر (Immutable) Immutable collections

  • مجموعه‌های Map Map collections

  • استفاده از Map در داخل Set Using Map inside Set

  • مصاحبه در مورد مجموعه‌ها Collections interview

ناهمگامی و چندنخی Asynchrony and multithreading

  • ساخت رابط کاربری (GUI) Creating a GUI

  • افزودن منطق و متد String.format Adding logic and the String.format method

  • مکانیزم Callback Callback mechanism

  • توابع Suspend Suspend functions

  • بررسی زیرپوستی کوروتین‌ها Coroutines under the hood

  • سرویس‌های Executor Executor Services

  • هم‌روندی ساختاریافته بخش اول Structured Concurrency. Part 1

  • دیسپچر‌های Default و Unconfined Dispatchers Default and Unconfined

  • دیسپچر‌های IO و Main Dispatchers IO and Main

  • مفهوم Job و موازی‌سازی Job and parallelism

  • Async و Deferred Async and Deferred

  • سلسله‌مراتب Jobها Jobs Hierarchy

  • استثناها بخش اول Exceptions. Part 1

  • استثناها بخش دوم: Async Exceptions. Part 2. Async

  • لغو کوروتین‌ها (Cancellation) Coroutine cancellation

  • کوروتین‌های Suspend Suspend Coroutine

  • مفهوم SupervisorJob SupervisorJob

  • جریان‌های داده (Data Streams) چیستند؟ What are data streams

  • روش‌های ایجاد Sequence Ways to create a Sequence

  • شروع کار با Flow Getting started with Flow

  • مقدمه‌ای بر API Introduction to API

  • بارگذاری داده‌ها از شبکه Loading data from the network

  • ساخت GUI و کار با Regex Creating a GUI and working with Regex

  • سبک برنامه‌نویسی واکنشی (Reactive) Reactive style

  • کانال‌ها (Channels) و Debounce Channels and Debounce

  • جریان‌های داده سرد (Cold streams) Cold data streams

  • جریان‌های داده گرم (Hot streams) Hot data streams

  • متد ShareIn ShareIn

  • بافر و Backpressure Buffer and Backpressure

  • وضعیت صفحه به عنوان Flow Screen state as Flow

  • مفهوم MutableStateFlow MutableStateFlow

  • مقایسه SharedFlow و StateFlow SharedFlow vs StateFlow

  • مدیریت استثناها در Flow Exceptions in Flow

  • تمرین مدیریت استثناها Exception handling practice

  • عملگر FlowOn The FlowOn operator

  • ارث‌بری CoroutineScope CoroutineScope inheritance

  • همگام‌سازی کوروتین‌ها Coroutine synchronization

  • کانال‌ها (Channels) Channels

کاتلین به صورت مفصل Kotlin in detail

  • Invariance و Covariance Invariance and covariance

  • Contravariance Contravariance

  • پاک‌سازی نوع (Type erasure) Type erasure

  • Reified و Star Projection Reified and Star Projection

  • توابع Inline و بازگشت Non-local Inline and Non-local return

  • مفاهیم Crossinline و noinline Crossinline and noinline

  • کلاس‌های Value Value classes

  • پاداش ویژگی‌ها (Property delegation) Property delegation

  • پاداش پیاده‌سازی اینترفیس Interface implementation delegation

  • کلاس‌های Inner و Nested Inner and nested classes

  • اعلان Destructuring و infix Destructuring declaration and infix

  • ساختار حافظه در کاتلین Memory structure in Kotlin

  • نحوه عملکرد برنامه‌ها در جاوا و کاتلین How programs in Java and Kotlin work

  • اصلاح‌کننده internal The internal modifier

  • مصاحبه شغلی Interview

  • بخش نهایی Final

  • درس جایزه (Bonus) Bonus Lecture

نمایش نظرات

دوره جامع کاتلین ۲۰۲۶: آموزش صفر تا صد و جامع
جزییات دوره
37 hours
167
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
1,216
4.5 از 5
دارد
دارد
دارد
Andrey Sumin
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Andrey Sumin Andrey Sumin

توسعه‌دهنده ارشد اندروید • مدرس کاتلین و جاوا