Wiki · Технологии разработки
Swift
Swift – это язык программирования Apple для приложений под iPhone, iPad, Mac, Apple Watch, Apple TV и Vision Pro. Язык открытый, кроме устройств Apple он работает на Linux и Windows.
Если подрядчик предлагает «нативное приложение для iOS», скорее всего, писать будут на Swift. Это означает отдельный проект под устройства Apple со своими требованиями: компьютер Mac, среда Xcode, аккаунт разработчика и ежегодные обновления под новую iOS. Разберём, что из этого важно заказчику.
От замены Objective-C до Swift 6.4
Apple представила Swift в 2014 году как замену Objective-C, на котором до этого писали приложения для iPhone и Mac. В декабре 2015 года язык открыли по лицензии Apache 2.0, сейчас он развивается на swift.org при участии сообщества. В сентябре 2024 года вышел Swift 6 с новым режимом, где компилятор находит гонки данных: ошибки, когда две части программы одновременно меняют одни и те же данные. На октябрь 2026 года актуальна версия Swift 6.4 (сентябрь 2026).
Как выглядит код и чем он защищает
Возьмём заказ, у которого может не быть телефона:
struct Order {
let id: Int
var phone: String?
}
let order = Order(id: 15, phone: nil)
print(order.phone ?? "not set")
Знак вопроса после String означает, что значения может не быть, и компилятор не даст использовать его без проверки. Apple перечисляет и другие встроенные защиты: переменные всегда получают значение до использования, выход за границы массива и переполнение чисел проверяются, памятью язык управляет сам. Для бизнеса это означает понятную вещь: при переполнении приложение остановится с ошибкой, а не посчитает итог заказа молча и неправильно.
Swift компилируется в машинный код через LLVM, поэтому приложения на нём работают быстро.
iPhone, Mac, часы и сервер: где работает Swift
- Приложения для iPhone и iPad. Это основная область, на ней держится почти вся заказная iOS-разработка.
- Программы для Mac, Apple Watch, Apple TV и Vision Pro. Язык и многие библиотеки Apple общие для всех её устройств, поэтому версию для часов или планшета часто делают рядом с приложением для iPhone, в том же проекте.
- Серверы на Linux и встраиваемые устройства. Apple прямо называет эти области, но в заказной разработке для бизнеса они встречаются намного реже.

Swift, Objective-C, Flutter или Kotlin Multiplatform
| Вариант | Для какой задачи подходит |
|---|---|
| Swift и SwiftUI | Новое приложение для iPhone, нужны свежие возможности iOS сразу после выхода |
| Objective-C | Поддержка старого кода. Swift и Objective-C работают в одном проекте |
| Flutter, React Native | Одно приложение с общим кодом на iOS и Android |
| Kotlin Multiplatform | Общая логика на Kotlin для обеих платформ, интерфейс iOS на SwiftUI |
Что нужно iOS-проекту, кроме программиста
- Нужен Mac. Xcode, в котором собирают и публикуют приложения для iPhone, работает только на macOS.
- Нужен свой аккаунт в программе Apple Developer. Оформляйте его на компанию, а не на исполнителя.
- Ежегодные обновления обязательны. С 28 апреля 2026 года App Store принимает только сборки из Xcode 26 с SDK iOS 26. Приложение, которое год не трогали, сначала придётся обновить под новый Xcode, и только потом выпускать срочную правку.
- Новую iOS лучше встречать заранее. Apple выпускает бета-версии системы для разработчиков за несколько месяцев до релиза, и на них стоит проверить приложение, чтобы не узнавать о проблемах из отзывов.
- Отдельная команда. Swift-разработчик пишет под Apple, приложение для Android на Kotlin делает другой специалист.
При пересборке в Xcode 26 стандартные элементы интерфейса сами получают новый вид Liquid Glass, а нестандартные кнопки и панели придётся проверить и, возможно, доработать. Подробнее об этом в статье про SwiftUI.
Ещё одна деталь для того, кто отвечает за сервер. По умолчанию iOS требует, чтобы приложение обменивалось данными с сервером только по HTTPS (механизм App Transport Security). Если API вашего сайта до сих пор работает по HTTP, это нужно исправить до запуска приложения.
Что посмотреть в репозитории iOS-проекта
Попросите доступ к репозиторию и посмотрите на файлы. Код на Swift лежит в файлах .swift, на Objective-C в парах .h и .m. В настройках проекта Xcode есть параметр Swift Language Version: он показывает, в каком режиме собирается код, Swift 5 или Swift 6. Перевод большого проекта в режим Swift 6 со строгой проверкой гонок данных бывает заметной работой, её стоит оценить отдельно.

Решения, о которых потом жалеют в iOS-проекте
- Планировать команду без Mac и надеяться собрать приложение для iPhone на Windows.
- Переписывать рабочий код на Objective-C целиком вместо постепенного перехода.
- Не выпускать обновления больше года, а потом в спешке догонять требования App Store.
- Заказать нативное приложение, когда задачу закрыла бы удобная мобильная версия сайта.
Приложения для iPhone проектируем и разрабатываем по услуге «Разработка мобильного приложения», кабинеты для клиентов и сотрудников по услуге «Разработка личного кабинета». Если проект уже работает на Swift, берём его на доработку и поддержку.
Частые вопросы про Swift
Чем Swift отличается от Objective-C и стоит ли переписывать старый код?
Swift моложе, короче и сам ловит ошибки, которые в Objective-C всплывали уже у пользователей: пустые значения, выход за пределы массива, переполнение. Переписывать рабочий проект разом смысла нет. Оба языка уживаются в одном приложении, поэтому новые экраны пишут на Swift, а старые переводят, когда до них доходит доработка.
Как переводится swift и связан ли язык с банковской системой SWIFT?
По-английски swift значит «быстрый», а ещё так называют стрижа, отсюда птица на логотипе. С межбанковской системой SWIFT у языка общее только название.
Пишут ли на Swift серверную часть и API?
Пишут: Swift работает на Linux, и Apple сама относит серверы к областям применения языка. Но в заказной разработке это редкость. API для приложения чаще делают на том же стеке, что и сайт, под который проще найти команду и готовые решения.
Получится ли собрать приложение для iPhone на Windows?
Нет. Писать на Swift под Windows можно, язык там работает, но сборка, подпись и отправка в App Store идут через Xcode, а его выпускают только для macOS. Поэтому Mac обязательно есть в смете любого iOS-проекта.
Почему Swift называют безопасным языком?
Многие ошибки он не пропускает при сборке, а остальные останавливает сразу, не давая программе работать с испорченными данными. Переменную нельзя прочитать до присваивания, обращение к массиву проверяется на границы, освобождением памяти занимается сам язык. Начиная со Swift 6 компилятор вдобавок ищет гонки данных между потоками.
Что поменял Swift 6 и когда переводить на него проект?
Главная новинка Swift 6: строгий режим, в котором компилятор ловит одновременную запись в одни данные из разных потоков. Старый код может и дальше собираться в режиме Swift 5, режим задают в настройках Xcode. Переход большого приложения оценивают как отдельную задачу и ведут по модулям, а не попутно со срочной правкой.
Почему iOS-приложение приходится пересобирать каждый год?
Apple регулярно поднимает планку для сборок. Начиная с 28 апреля 2026 года в App Store проходят лишь приложения, собранные в Xcode 26 под iOS 26 SDK, так что даже срочную правку не выпустить, пока проект не обновлён. При пересборке стандартные элементы получают вид Liquid Glass, а самодельные кнопки и панели приходится проверять вручную.
Swift или Flutter: как выбрать для нового приложения?
Swift берут, когда приложение нужно прежде всего на iPhone и важны новинки iOS в день выхода, плотная работа с камерой, AR или датчиками. Flutter выгоднее, если нужны сразу iOS и Android с одинаковым интерфейсом и одна команда. При нативном пути помните, что Android-версию на Kotlin делает уже другой разработчик.
Зачем Swift-разработчик в команде, которая пишет на Flutter?
Для всего, чего нет в готовых плагинах. Основной код Flutter-приложения пишут на Dart, но нестандартную работу с iOS, например свежую функцию системы или своё оборудование, подключают кодом на Swift через платформенные каналы. Без человека, который понимает iOS-часть, такие задачи встают.
Какие требования iOS-приложение предъявляет к серверу сайта?
Главное из них: обмен данными только по HTTPS. Механизм App Transport Security по умолчанию блокирует запросы по открытому HTTP, а исключения из этого правила Apple просит обосновывать при проверке приложения. Поэтому сертификат на домен API ставят до первой тестовой сборки, а не накануне релиза.
Что почитать у Apple и на swift.org
- Apple Developer: Swift
- Swift.org: о проекте, Announcing Swift 6, Swift 6.4 Released
- Apple Developer: требования к SDK для публикации в App Store
Остались вопросы по теме «Swift»?
Напишите нам в Telegram или MAX. Ответит специалист, который отвечает за эту тему, или руководитель проектов в рабочее время.
Отвечает по темеСергей ЧерняковWeb-разработчикНад статьёй работали
Услуги
Услуги по теме
Посчитайте стоимость проекта за 2 минуты
Калькулятор соберёт смету по нашим тарифам: сайт, дизайн, интеграции и поддержка.
