Назови популярные фреймворки для реактивного программирования на iOS.

Ответ

Основные фреймворки для реактивного программирования в iOS-экосистеме:

1. Combine (нативный от Apple)

  • Статус: Встроен в систему с iOS 13+.
  • Особенности: Интегрирован с Swift, использует Publisher и Subscriber. Идеален для новых проектов.
  • Пример:
    import Combine
    let publisher = Just("Hello, Combine!")
    let cancellable = publisher.sink { value in
    print(value) // Выведет "Hello, Combine!"
    }

2. RxSwift

  • Статус: Самая популярная сторонняя библиотека, порт ReactiveX.
  • Особенности: Богатейший набор операторов (Observable, Single, Completable), кроссплатформенные концепции.
  • Пример:
    import RxSwift
    let observable = Observable.just("Hello, RxSwift!")
    let disposable = observable.subscribe(onNext: { value in
    print(value)
    })

3. ReactiveSwift (ранее ReactiveCocoa)

  • Особенности: Фреймворк от GitHub, делает акцент на событиях и состояниях (Signal, SignalProducer, Property).
  • Пример:
    import ReactiveSwift
    let producer = SignalProducer(value: "Hello, ReactiveSwift!")
    producer.startWithValues { value in
    print(value)
    }

Выбор зависит от проекта: Combine — для современных таргетов, RxSwift — для максимальных возможностей и команды с опытом Rx, ReactiveSwift — для специфических паттернов, связанных с состоянием.