Реактивный подход в разработке для IOS

Реактивный подход в разработке для IOS
разработка для IOS

Часто, при создании достаточно сложных приложений на JavaScript наступает тот момент, когда становиться совершенно непонятно почему приложение перестало работать как надо, или наоборот вдруг заработало. Cвязей между элементами приложения становится так много, что уследить за ними даже с хорошими дебаггером очень трудно.
Реактивное программирование (Functional Reactive Programming) — парадигма программирования, ориентированная на потоки данных и распространение изменений. Это означает, что должна существовать возможность легко выражать статические и динамические потоки данных, а также то, что выполняемая модель должна автоматически распространять изменения сквозь поток данных.
Реактивные приложения представляют собой сбалансированный подход для решения современных проблем в разработке приложений для IOS (программных систем). Они построены на каркасе, ориентированном на события и передаче сообщений, и обеспечивают инструменты для обеспечения масштабируемости и отказоустойчивости. Поверх этого они поддерживают насыщенные и отзывчивые интерфейсы взаимодействия с пользователем.
Если не вдаваться в детали функционального программирования, то можно выделить несколько моментов FRP особо притягательных для разработки:

  • явные состояния
  • распространение изменений
  • работа не данными, а с источниками данных

Благодаря фреймворку ReactiveCocoa, новая парадигма программирования все чаще используется среди iOS разработчиков.
Отказоустойчивость, отзывчивость, ориентированность на события и масштабируемость — вот четыре принципа реактивного программирования.
Основные преимущества реактивного подхода:

  • loose coupling — потоки события позволяют уменьшить связанность между различными частями кода;
  • explicit state — состояние программы определяется набором событий, и поэтому им становится легко управлять.

В качестве альтернативы реактивному подходу есть как минимум два интересных фреймворка:PromiseKit и CollapsingFutures

Имя

Телефон

Email

Компания

Сообщение

Прикрепить файл