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

Preview:

Citation preview

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

Зачем мы делаем SPA?

1)Скорость отклика

2)Заимствование паттернов из десктоп мира

3)Перенос части логики на клиент

4)Рынок, требующий такие приложения

Networking

Rendering performance

Rendering performance

Rendering performance

Rendering performance

CSS Triggers

Вычисления

Вычисления

Вычисления

Вычисления

Garbage collection

Who cares about M?

js-data.io

Side effects

Data changing strategy1)Push/Pull Observer

2)Data binding (get/set)

3)Dirty checking

4)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 ImmutableMutable

• Сравнения по значениям• Оптимизация платформ• Все знают как это

работает

Immutable• Сравнения по ссылке

• Дополнительные зависимости

• Падение производительности на маленьких объемах

• Надо обучать команду

Как итог1)Достаточно простой концепт2)Простые функции и объекты3)Последовательная работа с данными4)Это не только о React.js5)Отличная интеграция с любыми библиотеками

Behavior-Event-State-Tree (BEST)

BEST

BEST

BEST

MVI

Intent

Model

View

@Blackrabbit99

Recommended