flux, redux, reswift
TRANSCRIPT
Flux
• Архитектура приложения
• Flux - однонаправленный поток данных со специфичными событиями и слушателями
Проблемы FB
• Проблема отображения непросмотренных тредов и отображения списка тредов
• Изменение одной модели влечет за собой изменение других
• MVC не понравилось
Dispatcher
• Рассылает действия зарегистрированным хранилищам
• Может управлять порядком
• Может ожидать ответа от предыдущего хранилища
Store• Что-то вроде модели
• Предлагается складывать коллекции
• Может храниться время и состояние
• VM?
• Можно сделать полноценным хранилищем?
Action
• Содержит тип и данные
• Пересылаются Dispatcher'ом в Store
• Могут появляться как из UI, так и из нотификаций, демонов и прочего
Важные моменты
• Однонаправленность
• Состояние хранится в хранилищах
• Синхронное обновление
• Нет каскадных обновлений данных
Reflux
• Более функциональный
• Нет Dispatcher
• Хранилища могут слушать другие хранилища
• Поддерживаются параллельные потоки данных
Преимущества
• Понятный однонаправленный поток данных
• Все кроме View реюзабельно
• Простота дебага по полученным экшенам