Вс. Мар 22nd, 2026

Программа

Основные темы, которые надо освоить
  • UIKit
  • SwiftUI
  • Работа памяти в iOS
  • Проблемы многопоточности
  • Работа с сетью
  • Виды баз данных
  • CoreData
  • Основные архитектуры iOS приложений + Dependency Injection (DI)
  • ООП — объектно ориентированное программирование, переходящее в протокол ориентированное программирование
  • Git
  • Понятие реактивности + Combine
  • Xcode debugging (отладка)

В основном обучение на курсах ведется по следующему принципу:

  • От простого к сложному
  1. Выбирается тема из списка выше
  2. Даются азы
  3. Даются углубленные знания по ней
  4. Практическое задание высокой сложности
  • Дается хаотичный набор сложных тем, которые мало связаны между собой

Например вы можете сами нагуглить курс по iOS разработке на сайте «блаблалогия.ру». Сразу после первого раздела с константами и переменными идет набор сложных тем, не связанных между собой по сути.

Скрин:

Курсант, только научившийся печатать код в xCode должен переопределять методы и инициализацию классов!

Возьмем еще одну программу от бигтеха «Шмяндекс»:

Скрин

Я вообще не понимаю как навигация в проекте связана с ScrollView и дебагом приложений!

Исходя из собственного опыта, и опыта моих коллег по цеху, я пришел к выводу, что подобная система обучения является ущербной и заставляет курсанта на этапе подготовки к собеседованиями зазубривать материал, без понимания его смысла.

На мой взгляд, самый лучший порядок такой:

  1. Выбираем набор тем, которые взаимосвязаны между собой (например многопоточность + работа с сетью)
  2. На практическом примере понимаем зачем вообще нужна многопоточность
  3. На практическом примере элементарными методами учимся слать запросы в сеть
  4. На практическом примере создаем реальные ошибки и проблемы многопоточности и сетевых запросов
  5. На основе лучших практик на практическом примере решаем эти проблемы.

Таким образом курсант понимает зачем ему нужна эта тема, какие у нее есть проблемы и как их решать. А как красиво это все объяснить, он поймет на этапе подготовки к собеседованиям. И эти теоретические знания будут ложиться на практическую базу. Это позволяет уйти от бессмысленной зубрежки к простому структурированию знаний и закреплению результата.

Поэтому я несколько месяцев составлял список тем, и делил их по сложности, чтобы именно на практике, а не в теории закончить программу с мидловыми знаниями.

Список уроков тут. Успехов!