Data flow layer
Захарченко Артем
Зачем мы делаем SPA?
1)Скорость отклика
1)Заимствование паттернов из десктоп мира
1)Перенос части логики на клиент
1)Рынок, требующий такие приложения
Networking
Rendering performance
Rendering performance
Rendering performance
Rendering performance
CSS Triggers
Вычисления
Вычисления
Вычисления
Вычисления
Garbage collection
Who cares about M?
js-data.io
Side effects
Data changing strategy
1)Push/Pull Observer
1)Data binding (get/set)
1)Dirty checking
1)Immutable data structure
Чем же является приложение?
Принципы
• Single source of truth
• State is read-only
• Change are made with pure functions
Redux
Разделение ответственности
• Отрисовка отображения
• Получение данных из action
• Изменения данных в reducer
Redux
Предполагаем, что ваши данные не будут мутировать
Что это значит?
Состояние иммутабельно
Action
Reducer
Store
Mutable vs Immutable
Mutable
• Сравнения по значениям
• Оптимизация платформ
• Все знают как это
работает
Immutable
• Сравнения по ссылке
• Дополнительные
зависимости
• Падение
производительности на
маленьких объемах
• Надо обучать команду
Как итог
1)Достаточно простой концепт
2)Простые функции и объекты
3)Последовательная работа с данными
4)Это не только о React.js
5)Отличная интеграция с любыми библиотеками
Behavior-Event-State-Tree (BEST)
BEST
BEST
BEST
MVI
Intent
Model
View
@Blackrabbit99

Data flow layer. Захарченко Артем