Конференция завершена. Ждем вас на РИТ++ в следующий раз!

Angular: меняем магию change detection на реактивностьПриложения

Доклад отклонён
Федор Щудло
True Engineering

TeamLead и fullstack-разработчик на платформе .NET. Иногда пишет на Хабре - https://habrahabr.ru/users/fshchudlo/topics

Тезисы

Реактивный подход позволяет эффективно и надежно реализовать сценарии, сложные в классической парадигме: зависимость данных от самих себя, множество источников изменения состояния, обновление состояния по внешним событиям, реализация операции Undo и т.д.

Дополнительно в Angular использование реактивного подхода позволяет реализовать все приложение со стратегией OnPush.

Помимо широко известных преимуществ в производительности и устранения race conditions (вам знакома ошибка “Expression has changed after it was checked”? :)), OnPush отключает магию change detection. Вместо “оно как-то само работает”, мы вдумчиво проектируем data flow, поскольку теперь мы диктуем Angular'у правила игры, а не он нам.

Бесценное последствие такого подхода - полное понимание механики работы приложения. Постепенно развивается интуиция, и мы понимаем причину бага еще до того, как открыли код.

Все это заметно приближает к нулю вероятность того, что приложение превратится в монстра, над которыми разработчики потеряли контроль. А разработка больше походит на мистические обряды.

Так происходит, когда отключаешь магию. И сделать это проще, чем может показаться.

В докладе мы разберем, как перевести приложение на реактивные рельсы. Мы не будем использовать такие инструменты как state managers. Все нужное уже есть в Angular/RxJS, остается разобраться и начать использовать. А state manager нужной степени “прокачанности” можно подключить позже, если в этом действительно возникнет необходимость.

Single page application, толстый клиент
,
Асинхронное программирование, реактивное программирование
,
Архитектурные паттерны
,
React, Vue, Angular и другие JavaScript-фреймворки

Другие доклады секции Приложения