Wiki · Технологии разработки
SwiftUI
SwiftUI – это фреймворк Apple для создания интерфейса приложений под iPhone, iPad, Mac, Apple Watch, Apple TV и Vision Pro на языке Swift. Экран описывают кодом как результат текущих данных, и при их изменении SwiftUI сам обновляет интерфейс.
В оценке iOS-приложения подрядчик пишет «интерфейс на SwiftUI» или «на UIKit». Для заказчика выбор между ними влияет на скорость доработок, на то, с какой версии iOS приложение будет работать, и на то, как оно переживёт очередную смену дизайна системы.
Откуда взялся SwiftUI и почему UIKit никуда не делся
SwiftUI создала Apple и показала на конференции WWDC в 2019 году, работает он начиная с iOS 13. До этого интерфейсы для iPhone строили на UIKit, а для Mac на AppKit, и оба фреймворка никуда не делись. Apple прямо пишет, что SwiftUI рассчитан на работу рядом с ними и его можно внедрять в существующие приложения постепенно. Новые возможности SwiftUI Apple показывает каждый год на WWDC, а до пользователей они доходят осенью вместе с новой iOS.
Главное преимущество для бизнеса: один набор инструментов на все устройства Apple. Экран, сделанный для iPhone, проще адаптировать под iPad или Mac, чем переписывать заново.
Декларативный код и предпросмотр в Xcode
В UIKit программист создаёт элементы экрана и сам меняет их при каждом событии. В SwiftUI он описывает, как экран выглядит при текущих данных. Вот кнопка корзины со счётчиком:
struct CartButton: View {
@State private var count = 0
var body: some View {
Button("Cart: \(count)") { count += 1 }
}
}
Пометка @State говорит: за этим значением нужно следить. Когда count меняется, SwiftUI сам перерисует кнопку. Такой подход называют декларативным, и он почти один в один совпадает с идеей Jetpack Compose на Android.
Во время работы в Xcode экран виден в окне предпросмотра. Разработчик меняет код и сразу видит результат, а в интерактивном режиме может нажимать кнопки, как на телефоне.
Что SwiftUI даёт бизнесу и чего не умеет
- Меньше кода на экран, поэтому правки интерфейса делают быстрее.
- Стандартные элементы сами подстраиваются под новый дизайн системы при пересборке приложения.
- Стандартные элементы сами учитывают настройки доступности: крупный шрифт, уменьшение прозрачности и движения.
- SwiftUI и UIKit смешиваются в одном приложении в обе стороны. Поэтому останавливать развитие приложения ради полного переезда на SwiftUI незачем: новые экраны делают на нём, старые переносят при доработках.
- SwiftUI обновляется вместе с iOS. Новые возможности фреймворка работают только на новых версиях системы.
- Только устройства Apple. Для Android интерфейс делают отдельно.

SwiftUI, UIKit, Compose или Flutter
| Вариант | Когда подходит |
|---|---|
| SwiftUI | Новое приложение или новые экраны под устройства Apple |
| UIKit | Поддержка существующих экранов и сложные нестандартные элементы |
| Jetpack Compose | Тот же подход для Android-версии приложения |
| Flutter | Один код интерфейса на iOS и Android, свой дизайн вместо системного |
Как выбрать минимальную версию iOS
Это решение напрямую связано со SwiftUI. Чем старше минимальная версия iOS, тем больше людей смогут установить приложение, но тем больше свежих возможностей SwiftUI придётся заменять обходными путями. Например, если приложение должно работать на iOS 16, всё, что появилось в SwiftUI позже, разработчик сможет включать только с проверкой версии системы, а для старых телефонов делать запасной вариант. По данным Apple на 7 июня 2026 года, iOS 26 стояла на 79% всех iPhone, которые заходили в App Store, и на 86% iPhone, выпущенных за последние четыре года.
Выбранная наугад версия либо отрежет часть клиентов, либо заставит платить за обходные пути, которые никому не нужны. Поэтому сначала посмотрите на свою аудиторию. Отчёт об операционных системах есть в веб-аналитике, например в Google Analytics: если ваши клиенты заходят на сайт с iPhone, там видно, какие версии iOS у них стоят.
Новый дизайн Liquid Glass
В iOS 26 Apple сменила внешний вид системы на Liquid Glass. Если приложение собрано из стандартных элементов SwiftUI или UIKit, после пересборки в Xcode 26 панели, кнопки и меню сами получают новый вид. Нестандартные фоны и самодельные панели могут конфликтовать с эффектами системы, и Apple советует их проверить. Для отсрочки есть ключ UIDesignRequiresCompatibility, который оставляет прежний вид при сборке на новом SDK.
Вывод для заказчика простой: чем больше в приложении стандартных элементов, тем дешевле обходится каждая смена дизайна iOS. Это стоит обсудить с дизайнером ещё на этапе UI. Самодельные панели и кнопки там, где хватило бы системных, превращаются в переделку при каждом новом дизайне iOS.
Как по коду отличить SwiftUI от UIKit
По репозиторию. Признаки SwiftUI: строка import SwiftUI в начале файлов и структуры с var body: some View. Признаки UIKit: классы на основе UIViewController и файлы .storyboard или .xib. Оба набора признаков в одном проекте означают смешанный интерфейс, и это нормально.

Приложения для iPhone и iPad проектируем и разрабатываем по услуге «Разработка мобильного приложения», интерфейсы кабинетов по услуге «Разработка личного кабинета». Если проект уже работает на SwiftUI, берём его на доработку и поддержку.
Кнопки, View, версии iOS и соседство с UIKit
Как сделать кнопку в SwiftUI?
Через элемент Button: в круглых скобках подпись, в фигурных действие по нажатию, как в примере со счётчиком корзины выше. Внешний вид задают модификаторами, например .buttonStyle(.borderedProminent) даёт системную залитую кнопку. Такая кнопка сама перестроится под новый дизайн iOS, а самодельную придётся перерисовывать.
Чем SwiftUI отличается от UIKit?
Подходом и охватом. UIKit требует вручную обновлять каждую надпись и кнопку, когда меняются данные, а в SwiftUI экран пересчитывается сам. UIKit работает на iPhone и iPad с 2008 года, и на нём держится много действующих приложений, SwiftUI же один на все устройства Apple.
Что такое View в SwiftUI?
Так называют любой кусок интерфейса, от надписи до целого экрана. Технически это структура со свойством body, которое описывает её содержимое, а большие экраны складывают из маленьких View, как из кубиков.
Как вывести картинку и текст на экран SwiftUI?
Текст выводит Text, картинку Image: по имени из каталога ресурсов проекта или по названию системной иконки из набора SF Symbols. Шрифт, цвет и масштаб задают модификаторами, а картинке обычно сразу добавляют resizable, чтобы она подстраивалась под отведённую рамку.
На каких iPhone запустится приложение на SwiftUI?
Формально на всех с iOS 13 и новее, но на практике минимальную версию поднимают, чтобы не писать обходы для старых систем. В июне 2026 года на iOS 26 работали 79% iPhone, заходивших в App Store, а версии систем у ваших посетителей покажет отчёт в Google Analytics.
Где скачать SwiftUI и нужен ли для него Mac?
Отдельно SwiftUI не скачивают: он входит в инструменты Apple вместе с Xcode, а Xcode бесплатно ставится из Mac App Store и работает только на macOS. Без Mac можно разве что попробовать SwiftUI на iPad в Swift Playgrounds, но рабочий проект ведут в Xcode.
Как отложить новый вид Liquid Glass, если приложение к нему не готово?
В настройках приложения есть ключ UIDesignRequiresCompatibility: с ним сборка на новом SDK сохраняет прежний облик. Это отсрочка, а не решение. Пока она действует, проверьте нестандартные фоны и панели, которые спорят с эффектами системы, и заложите их переделку в план.
Перенесётся ли код на SwiftUI в Android-версию?
Нет, SwiftUI работает только на устройствах Apple. Для Android экраны пишут заново, обычно на Jetpack Compose: идея там та же, поэтому разбивку на экраны и состояния можно повторить, но код пишется с нуля. Если нужен один код интерфейса на обе платформы, смотрят в сторону Flutter.
Документация Apple
- Apple Developer: SwiftUI
- Apple Developer Documentation: Adopting Liquid Glass
- Apple Developer: статистика версий iOS и iPadOS в App Store
- WWDC19: Introducing SwiftUI
См. также: Юзабилити, Google Analytics, Мобильное приложение, Дизайн-система.
Остались вопросы по теме «SwiftUI»?
Напишите нам в Telegram или MAX. Ответит специалист, который отвечает за эту тему, или руководитель проектов в рабочее время.
Отвечает по темеСергей ЧерняковWeb-разработчикНад статьёй работали
Услуги
Услуги по теме
Посчитайте стоимость проекта за 2 минуты
Калькулятор соберёт смету по нашим тарифам: сайт, дизайн, интеграции и поддержка.
