Начала перевод этого замечательного курса, который дал старт не одной карьере iOS разработчика.
Курс Стэнфордского университета CS193P (Разработка приложений для iOS с помощью SwiftUI) версии Весна 2025 года уже полностью доступен online.
Все 16 лекций от профессора Пола Хегарти (Paul Hegarty) опубликованы в свободном доступе вместе с учебными материалами.
Основные изменения в версии 2025 года
В отличие от предыдущий версии курса CS193P 2023 года, курс CS193P 2025 года больше сосредоточен на основах потока данных Data Flow в Views и функциональном программировании, а также получил значительные обновления в структуре и содержании:
Актуальность Swift и SwiftUI
Курс CS193P 2025 года полностью переработан под актуальные версии Swift и SwiftUI. В отличие от 2023 года, где часть материала уже устарела на момент выхода (например, ObservableObject был заменён @Observable ещё до публикации курса), версия 2025 года изначально построена на современных инструментах и подходах.
Лекции записаны до выхода iOS 26 и Xcode 26, но код остается полностью совместимым с современными инструментами разработки
Демо-приложение / Проект
Наиболее заметное отличие. В 2023 году весь курс строился вокруг Memorize (игра на совпадение карточек) и затем Emoji Art (холст с drag-and-drop). В 2025 году они заменены единственным приложением CodeBreaker(игра в угадывание кода в стиле Wordle/Mastermind), которое разрабатывается с нуля на протяжении всех 16 лекций.
Архитектурная парадигма
В 2023 году курс явно и подробно обучал MVVM (Model-View-ViewModel), посвящая этому целые лекции. В 2025 году акцент смещается на более простое разделение Model + UI (ближе к MVI), что отражает то, как современный SwiftUI с @Observable делает отдельный слой ViewModel менее необходимым.
Лекции теперь уделяют больше внимания созданию интерфейсов, работающих одновременно на iPhone, iPad, и Mac, включая использование NavigationSplitView и работу с Size Classes.
Механизм реактивного UI
В 2023 году курс использовал ObservableObject / @ObservedObject ;@Published (старая система на основе Combine). В 2025 году это заменено новым макросом Apple @Observable, введённым в iOS 17 / Xcode 15, который чище и требует меньше шаблонного кода. Также рассматриваются продвинутые шаблоны использование @Bindable для обмена данными-источниками между Views.
Swift Concurrency / Async
В 2025 году курс охватывает те же основные принципы (MainActor, фоновые очереди, async/await), но интегрирует их напрямую с механизмом сохранения данных SwiftData (@Model, сложные предикаты, сохранение в базу данных). В нем также отражены инструменты Swift 6 concurrency.
Анимация
Рассматриваются почти те же основные идеи — неявная и явная анимация (с помощью `withAnimation`),анимация View модификаторов/Shapes, переходы transitions, .matchedGeometryEffect() и TimelineView для изменений во времени.
Но в курсе 2025 года рассматриваются .animation(nil) и .transaction() для выборочного подавления анимации. Обсуждается разница между подавлением анимации на основе изменений состояния и условий. В целом анимация изучается в контексте современной системы потока данных @Observable (изменения состояния запускают анимацию более чисто и эффективно).
Навигация
В обоих курсах используется шаблон NavigationStack / NavigationLink(value:) / NavigationDestination, появившийся после iOS 16 (заменяющий старый стиль NavigationView + destination-closure из курсов до 2022 года).
В период с 2023 по 2025 год не произошло существенной переработки API — основные принципы стабилизировались.
Однако в курсе 2025 году демонстрируются более идиоматические / эффективные шаблоны NavigationLink (например, прямая передача данных по сравнению со старыми подходами) и более органично интегрированы со списками List и моделью данных приложения.
SwiftData
Одно из ключевых добавлений 2025 года — изучение SwiftData ( @@Model, @Relationship, ModelContext, предикаты), фреймворка Apple для работы с базами данных, представленного в iOS 17. Он пришёл на смену CoreData и предлагает значительно более простой и декларативный способ сохранения данных, хорошо интегрированный с @Observable и SwiftUI. В курсе 2023 года эта тема отсутствовала полностью.
Качество видео
Практическое отличие: лекции 2023 года записаны как захват экрана со звуком (без полноценного видео). Лекции 2025 года — это полноценные видеозаписи, что значительно облегчает восприятие.
Итог: Версия 2025 года — это более современный и streamlined курс, построенный на актуальных идиомах Swift/SwiftUI (@Observable, более чистый поток данных Data Flow), тогда как версия 2023 года — более глубокое погружение с богатым содержанием по графике/анимации и явным обучением архитектуре MVVM.
Таким образом, курс CS193P 2025 года можно считать не просто обновлённой версией, а фактически новым курсом, отражающим современное состояние экосистемы Apple — от архитектуры и реактивности до постоянного хранения данных с помощью SwiftData.
Где найти материалы
- Официальный сайт курса: на cs193p.stanford.edu размещены ссылки на видео, задания (Homework) и демонстрационный код.
- Youtube: Полный плейлист из 16 лекций доступен на канале Stanford Online.
- Русский иллюстрированный перевод
- GitHub: множество ссылок, в том числе мой репозиторий с кодами начальных Лекций, которые профессор не приводит.
Требования к подготовке
Курс по-прежнему считается продвинутым. Официальное требование Стэнфорда включают уверенные знания в программировании (аналог курсов CS106A/B и CS107). По мнению экспертов с Reddit и LinkedIn, новичкам может быть сложно из-за высокой концентрации сложных концепций, таких как обертка свойства (property wrappers), непрозрачные ТИПы ( opaque types) и concurrency.













