Skip to content

SwiftUI Projects

Проекты идут по нарастающей: первые знакомят с View и state, следующие добавляют data flow, persistence, networking, graphics, accessibility и adaptive layout. Карточка показывает готовность по теории, но ничего не блокирует.

Общие версии и baseline описаны в version policy. Если проект использует более новый API, статья отмечает это рядом с примером. Каждый Project — сначала небольшой компилируемый vertical slice, затем самостоятельное изменение и только потом необязательное углубление.

Swift остаётся основой

В каждом проекте новые SwiftUI APIs опираются на знакомые Swift-концепции: Arrays, closures, structs, protocols и optionals.

Первые шаги в SwiftUI

Project 1Начальный

WeSplit

Приложение для разделения счёта между людьми и расчёта чаевых.

Form@StatePickerFocusState
0 / 8 предварительных тем изученоНачать проект →
Project 2Начальный

Guess the Flag

Игра-викторина: выбери правильный флаг и получи обратную связь.

StacksButtonImageAlert
0 / 6 предварительных тем изученоНачать проект →
Project 3Начальный

Views and Modifiers

Разбор composition, custom modifiers и того, как SwiftUI строит интерфейс.

View compositionModifiersViewBuilder
0 / 4 предварительных тем изученоНачать проект →
◇ КонтрольнаяПроверка навыков

Projects 1–3

Конвертер единиц, собранный из базовых controls SwiftUI.

Перейти к заданию →

Расширяем навыки

Project 4Начальный

BetterRest

Подбор времени сна с помощью формы, Date и модели Create ML.

DatePickerStepperCore ML
0 / 5 предварительных тем изученоНачать проект →
Project 5Начальный

Word Scramble

Игра со словами, списками, проверкой ввода и системным словарём.

ListTextFieldBundleonSubmit
0 / 4 предварительных тем изученоНачать проект →
Project 6Средний

Animations

Неявные, явные и управляемые жестами анимации SwiftUI.

AnimationwithAnimationDragGesture
0 / 4 предварительных тем изученоНачать проект →
◇ КонтрольнаяПроверка навыков

Projects 4–6

Игра «Камень, ножницы, бумага» с состоянием и анимацией.

Перейти к заданию →

Масштабируем приложения

Project 7Средний

iExpense

Трекер расходов с несколькими экранами и локальным хранением.

ObservableNavigationUserDefaultsCodable
0 / 7 предварительных тем изученоНачать проект →
Project 8Средний

Moonshot

Приложение о миссиях Apollo: локальный JSON, Codable и сложная навигация.

CodableScrollViewLazyVGridNavigationLink
0 / 6 предварительных тем изученоНачать проект →
Project 9Средний

Drawing

Рисование Shape, Paths, transforms и Metal shaders в SwiftUI.

PathShapeCanvasShaders
0 / 5 предварительных тем изученоНачать проект →
◇ КонтрольнаяПроверка навыков

Projects 7–9

Трекер привычек с navigation, Codable и пользовательским UI.

Перейти к заданию →

Работа с данными

Project 10Средний

Cupcake Corner

Заказ кексов: формы, Codable, async/await и сетевой запрос.

CodableURLSessionasync/awaitForm
0 / 7 предварительных тем изученоНачать проект →
Project 11Средний

Bookworm

Личная библиотека с формой, ratings и постоянным хранением данных.

SwiftData@QueryFormCustom View
0 / 5 предварительных тем изученоНачать проект →
Project 12Средний

SwiftData Deep Dive

Углубление в модели, predicates, сортировку и связи SwiftData.

@Model@QueryPredicateRelationships
0 / 5 предварительных тем изученоНачать проект →
◇ КонтрольнаяПроверка навыков

Projects 10–12

Приложение для сохранения людей и фотографий с постоянными данными.

Перейти к заданию →

Продвинутые темы

Project 13Продвинутый

Instafilter

Редактор фотографий с Core Image, PhotosPicker и confirmation dialogs.

PhotosPickerCore ImageonChangeShareLink
0 / 5 предварительных тем изученоНачать проект →
Project 14Продвинутый

Bucket List

Карта памятных мест с Face ID, сохранением файлов и Comparable.

MapKitLocalAuthenticationFileManagerComparable
0 / 6 предварительных тем изученоНачать проект →
Project 15Продвинутый

Accessibility

Практика VoiceOver, accessibility labels, values, traits и группировки.

VoiceOverLabelsTraitsAccessibility
0 / 4 предварительных тем изученоНачать проект →
Project 16Продвинутый

Hot Prospects

Контакты с QR-кодами, tabs, notifications и shared state.

TabViewSwiftDataNotificationsQR codes
0 / 6 предварительных тем изученоНачать проект →
Project 17Продвинутый

Flashzilla

Карточки для запоминания с жестами, таймером и accessibility.

GesturesTimerScene phaseAccessibility
0 / 5 предварительных тем изученоНачать проект →
Project 18Продвинутый

Layout and Geometry

Как SwiftUI предлагает размеры, размещает View и создаёт custom Layout.

GeometryReaderLayoutAlignmentScroll effects
0 / 5 предварительных тем изученоНачать проект →
Project 19Продвинутый

SnowSeeker

Адаптивный каталог горнолыжных курортов с двумя колонками и избранным.

NavigationSplitViewListSearchSize classes
0 / 7 предварительных тем изученоНачать проект →
◇ КонтрольнаяПроверка навыков

Final Exam

Итоговый проект: спроектировать и собрать полноценное SwiftUI-приложение.

Перейти к заданию →