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
  • 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-валидатор кода
  • Плагин для IDE
  • WebIDE
  • Геймификация
  • Мотивационные лекции