TGViewer
Мобильный трудоголик Мобильный трудоголик @hardworkerit · 1.64K subscribers
Post #339 1.17K
🔢 Обратная миграция: почему крупные проекты смотрят в сторону UIKit.

Последние несколько лет SwiftUI позиционировался как будущее разработки под Apple-экосистему. Однако в 2024-2025 годах наметился парадоксальный тренд: все больше разработчиков и компаний сознательно возвращаются к классическому стеку - UIKit. Это не просто ностальгия по старым методам, а стратегическое переосмысление выбора инструментов в новых условиях.


Смена приоритетов - от скорости написания к скорости чтения и контролю:

Изначальное преимущество SwiftUI было очевидно: декларативный синтаксис радикально ускорял создание интерфейсов. Разработчик описывал, что должно быть, а система решала, как это отрисовать. Это был прорыв для стартапов и быстрого прототипирования.

Однако с повсеместным внедрением ИИ-инструментов (Copilot, Cursor, Claude Code) парадигма сместилась. Писать код становится проще, а читать и поддерживать - сложнее. И здесь UIKit с его императивным, явным стилем выигрывает.

🔵Прямолинейность UIKit: архитектура MVC/MVVM задает четкую структуру. Вы точно знаете, где искать логику жестов (UIGestureRecognizer во viewDidLoad), где обновляется layout (viewDidLayoutSubviews), и как данные попадают в представление. Это предсказуемо и легко читается как человеком, так и ИИ-ассистентом.

🔵Магия SwiftUI: мощные property wrappers (@State, @Binding, @EnvironmentObject) и модификаторы создают сложные, неочевидные связи данных. Чтобы понять поток информации в нетривиальном экране, часто приходится «разматывать» цепочки зависимостей, что замедляет ревью и рефакторинг.


Архитектура как скелет приложения:

SwiftUI поощряет минималистичные архитектуры вроде Model-View (MV), где бизнес-логика, состояние и представление часто перемешаны в одном файле. Это отлично для простых экранов, но превращается в кошмар для сложных, долгоживущих проектов.

UIKit, со своей «многословной» архитектурой, вынуждает к дисциплине. Разделение ответственности между ViewController, Model и Router/Coordinator создает каркас, который:

🔵Масштабируется. Новые разработчики быстрее входят в проект, понимая стандартные места для разных типов кода.

🔵Облегчает работу ИИ. Четкий запрос вроде «добавь обработку свайпа в делегат коллекции в CollectionViewController» дает более точный и интегрируемый результат.

🔵Дает полный контроль. Прямой доступ к жизненному циклу view (viewWillAppear, viewDidDisappear), нативным делегатам (UIScrollViewDelegate, UICollectionViewDelegate) и методам анимации (UIView.animate) остается незаменимым для создания сложных взаимодействий.


🔗 Ссылка на подробную статью


💡 Вывод:

Выбор между UIKit и SwiftUI больше не является линейным путем «от старого к новому». Это стратегическое решение, основанное на контексте проекта:

🔵Выбирайте SwiftUI, если: вы создаете MVP, простые кроссплатформенные приложения (с SwiftUI на macOS/watchOS) или внутренние инструменты, где скорость создания важнее тонкой настройки и долгосрочной поддержки.

🔵Выбирайте UIKit, если: вы строите большое, сложное приложение с требованием к нативной производительности, кастомными, сложными взаимодействиями, долгим циклом жизни и командой, где читаемость и поддерживаемость кода - приоритет.

SwiftUI не умирает, он находит свою нишу. Но ренессанс UIKit доказывает, что проверенные, явные и контролируемые технологии часто побеждают в долгосрочной перспективе, особенно когда на сцену выходят инструменты, меняющие саму природу программирования с «написания» на «чтение и композицию».


➡️ Подписаться на канал
Мобильный трудоголик
  • 👍 19
  • ❤ 4
  • 🔥 1
  • 🤔 1
  • 👀 1
More from @hardworkerit
  1. Oct 2, 2026👣 Архитекторы, тестировщики и кодеры. Создаем мультиагентную команду Разработка с ИИ-аген…
  2. Oct 1, 2026🔢 Работа с Picture-in-Picture в iOS. Picture-in-Picture - системная функция iOS, которая…
  3. Sep 29, 2026🔢 Управление тулбарами на iPhone Duo. На iPhone Duo элементы управления навигацией, дейст…
  4. Sep 27, 2026🔢 Новые возможности Hashable в Swift 6.4 В Swift 6.4 добавили Hashable для нескольких тип…
  5. Sep 25, 2026🔢 Приватные свойства больше не ломают memberwise инициализатор в Swift 6.4 Swift автомати…
  6. Sep 24, 2026👨‍💻 Почему разработчики ненавидят своих менеджеров. Всем привет! Сегодня хочу разобрать…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →