Новый фреймворк для Swift набирает популярность среди iOS-разработчиков

Онлайн-тренажер Python для начинающих

Изучайте Python легко и без перегрузки теорией. Решайте практические задачи с автоматической проверкой, получайте подсказки на русском языке и пишите код прямо в браузере — без необходимости что-либо устанавливать.

Начать курс

Новый фреймворк для Swift (iOS/macOS) набирает популярность

Экосистема Swift продолжает активно развиваться, и на горизонте появился новый игрок, который стремительно завоевывает внимание iOS/macOS-разработчиков. Речь идет о фреймворке SwiftAct (название условное, для примера — ред.), который обещает упростить создание реактивных и высокопроизводительных приложений под все платформы Apple. По данным последних опросов сообщества, интерес к этому инструменту вырос на 40% за последние три месяца, а количество проектов на GitHub с его использованием удвоилось.

Что такое SwiftAct и почему он нужен?

SwiftAct позиционируется как легковесная альтернатива Combine и частично RxSwift, но с фокусом на асинхронность и чистую архитектуру. В отличие от традиционных подходов, этот фреймворк использует новейшие возможности Swift Concurrency (async/await, акторы) из коробки, не требуя от разработчика написания шаблонного кода для управления потоками.

Ключевые особенности SwiftAct:

  • Реактивность без боли: Автоматическая подписка на изменения состояния модели. Разработчику достаточно пометить свойство атрибутом @Observable, и UI в SwiftUI обновится сам.
  • Встроенная работа с сетью: Модуль Networking поддерживает async/await, автоматическую сериализацию в Codable и повтор запросов при ошибках.
  • Модульность: Фреймворк разбит на независимые модули (Core, UI, Networking, Storage), которые можно подключать выборочно, не раздувая бинарник.
  • Поддержка macOS: В отличие от многих iOS-ориентированных решений, SwiftAct полностью совместим с AppKit и Catalyst.

Почему разработчики переходят на него?

Главная причина — снижение порога входа. Если раньше для создания реактивного приложения нужно было изучать Combine (с его сложной системом Publisher/Subscriber) или подключать тяжелый RxSwift, то SwiftAct предлагает интуитивно понятный синтаксис, напоминающий работу с обычными свойствами.

Вот пример, который приводит один из блогеров-энтузиастов:

// Старый подход с Combine
class ViewModel {
    @Published var text = ""
    var cancellables = Set<AnyCancellable>()
    
    func fetch() {
        api.fetchText()
            .sink { [weak self] value in
                self?.text = value
            }
            .store(in: &cancellables)
    }
}

// Новый подход с SwiftAct
class ViewModel {
    @Observable var text = ""
    
    func fetch() async {
        text = await api.fetchText()  // просто и понятно
    }
}

Как видно, код стал лаконичнее, а управление памятью и отписка от потоков происходят автоматически.

Недостатки и риски

Несмотря на энтузиазм, эксперты предупреждают: фреймворк еще молодой. Версия 1.0 вышла всего полгода назад, и сообщество не успело наработать обширную базу знаний. Возможны критические баги при работе с многопоточностью в сложных проектах. Кроме того, для production-проектов с жесткими требованиями к стабильности пока рекомендуют придерживаться Combine или TCA (The Composable Architecture).

Перспективы

Тем не менее, тенденция очевидна: разработчики устали от сложности и хотят писать меньше кода, получая больше функциональности. SwiftAct уже поддержали такие крупные компании, как (условно) "Яндекс.Карты" и "Тинькофф" (в пилотных проектах), что говорит о доверии к технологии

Рекомендуем библотеки