JavaRush/Курси/Курс Swift

Курс Swift

Пройдіть шлях від базового синтаксису до архітектури високонавантажених застосунків. 72 рівні, 1000+ інтерактивних задач з миттєвим код-рев'ю. Ви навчитеся писати надійні CLI-інструменти, тестувати логіку, працювати з мережею та багатопотоковістю через async/await. Зробіть крок у бекенд-розробку швидкою та безпечною мовою, де платять більше, а конкуренція нижча.
4.9
500+ відгуків
30k випускників побудували кар'єру в ІТ
Детальна програма навчання
  • Команди та перша програма на Swift
  • Змінні, константи (let/var) та базова типізація
  • Робота з цілими числами, рядками та введення даних
  • Умовні оператори та базова логіка
  • Цикли та керування потоком виконання
  • Встановлення IDE, SDK, Noctule та налаштування проєкту
  • Рядки: операції, форматування, split та trim
  • Switch та діапазони: базовий pattern matching
  • Функції: параметри, labels, inout та tuple-повернення
  • Optionals глибше: if let, guard let, ??, chaining
  • Array: основи роботи з масивами
  • Array під капотом: ArraySlice, COW та вартість операцій
  • Dictionary: ключ-значення та частотні карти
  • Set та кортежі (tuples)
  • Рядки під капотом: Character, індекси та Substring
  • Замикання I: синтаксис, map, filter, compactMap
  • Замикання II: reduce, пайплайни та читабельність коду
  • Протоколи Sequence, Collection та lazy-обчислення
  • Порівняння та сортування: Equatable, Comparable, бінарний пошук
  • Рекурсія та алгоритмічне розбиття задач
  • Алгоритми на масивах: two pointers, sliding window, prefix sums
  • Алгоритми з Dictionary та Set: hashing, grouping, indexing
  • Struct I: основи структур, дані та методи
  • Struct II: computed properties, observers, проєктування типів
  • Enum I: основи, raw values, CaseIterable
  • Enum II: associated values для станів та команд
  • Optionals поглиблено: binding, chaining, map, flatMap
  • Ініціалізація: failable init (?) та Value Objects
  • Помилки I: протокол Error, throws, try, do/catch
  • Помилки II: try?, try!, шари обробки та UX помилок
  • Керування потоком: Result, defer, assert, precondition
  • Дати та час: Date, Calendar, форматування (ISO8601)
  • CLI I: парсинг аргументів командного рядка та токенізація
  • CLI II: регулярні вирази (Regex) та валідація
  • Керування пам'яттю: Value vs Reference семантика
  • Class: основи, init, deinit, ідентичність об'єктів
  • ARC: керування пам'яттю, retain cycles, weak, unowned
  • Замикання в пам'яті: escaping та capture lists
  • ООП: успадкування, композиція та type casting
  • Протоколи I: контракти, композиція та any
  • Протоколи II: default-реалізації та POP (Protocol-Oriented Programming)
  • Extensions та вступ до Generics
  • Generics I: обмеження (where), алгоритми та rethrows
  • Generics II: практика на Stack, інваріанти, Hashable
  • Просунуті протоколи: associatedtype, Comparable, ID
  • Type Erasure: Existentials та старт архітектури
  • Архітектура: DTO, Domain, роутинг помилок та межі модулів
  • SwiftPM I: таргети, залежності, build, run, test
  • SwiftPM II: Access control, SemVer та локальні пакети
  • Інженерія: API-дизайн, документація та основи Git
  • CI/CD базово: GitHub та вступ до XCTest
  • Тестування I: патерн AAA, testable, table-driven тести
  • Тестування II: Mocks та interaction-тести
  • Інженерія: стратегії дебагінгу та інфраструктура логування
  • Файлова система: FileManager, шляхи та data-dir
  • Текстові файли: I/O операції, UTF-8, CSV, streaming
  • Бінарні файли: Data, байти, hex dump, chunked I/O
  • Парсинг I: JSON, базовий Codable
  • Парсинг II: просунутий Codable (CodingKeys, стратегії)
  • Дані: schemaVersion, міграції та валідація
  • Дані: патерн Repository, backup, надійний запис
  • Індексація, міні-профілювання та основи HTTP
  • Мережа I: URLSession, URLRequest, URLComponents
  • Мережа II: Endpoint builder, DTO-мапінг, вступ до async/await
  • Async/Await I: Task, cancellation, таймаути
  • Мережа III: відмовостійкість, retry, моки та async-тестування
  • Мережа IV: кешування, rate limiting та пайплайни
  • Concurrency I: async let та structured concurrency
  • Concurrency II: TaskGroup, пріоритети та ліміти
  • Concurrency III: Actors, Sendable, захист стейту, reentrancy
  • Concurrency IV: AsyncSequence, AsyncStream, буферизація
  • Фіналізація CLI: індикація прогресу, unsafe memory, оптимізація та крос-компіляція
360+
Лекцій
1000+
Завдань
72
Тести
А також:
  • Миттєва перевірка
  • AI code validator
  • Плагін для IDE
  • WebIDE
  • Гейміфікація
  • Мотиваційні лекції