## Реактивное программирование

1. :heavy_check_mark: [Using Combine](https://heckj.github.io/swiftui-notes/)
2. [The Reactive Manifesto](https://www.reactivemanifesto.org/)

Реактивное программирование — это пример [FP-подхода](./2.2.2.1.1%20FunctionalProgramming(FP).md) к разработке пользовательского интерфейса.

Реактивное программирование — это новый и самый высокий уровень абстракции для асинхронной работы с данными.

В его основе лежит паттерн проектирования [Observer](/2%20ComputerScience/2.4%20Architecture/2.4.1%20PatternsAndPrinciple/2.4.1.3%20DesignPattern/2.4.1.3.2%20Behavioral/Observer.md).

### +/- реактивного подхода:

| Плюсы | Минусы |
|---|---|
| Скорость разработки | Сложно «въехать» в новый подход и терминологию |
| Читаемость кода | Дешевизна разработки за счет ее скорости, но вместе с тем и повышение стоимости из-за потребности в найме разработчиков со знанием реактивных подходов (чтобы поддерживать новое детище) |
| Актуальность данных | |

В iOS-разработке время от времени появляются новые инструменты для создания приложений в реактивном подходе, но фаворитов только два: RxSwift и Combine.

![](https://habrastorage.org/r/w1560/getpro/habr/upload_files/23a/ba5/d0d/23aba5d0dce4fe6cb04b8cbff048721b.png)

---

[2.2.2.1.1 Functional Programming Theme](./2.2.2.1.1%20FunctionalProgramming(FP).md) | [Back To iTWiki Contents](https://github.com/eldaroid/iTWiki) | [2.2.2.2 Imperative Theme](../2.2.2.2%20Imperative/)
