В общем когда 3 года назад погрузился в Angular2+ и Observable, то концепция мне
понравилась.
Было просто невероятно удобно работать с кучей асинхронных событий, при этом
кода было мало и он легко читался.
Потом я понял, что много кто (в том числе коллеги) не понимают толком - как это
дело работает.
Я решил что дело в отсутствии нормальной документации на русском языке и написал
такую:
m.habr.com/ru/post/337512
О типичных вариантах использования Observable в Angular
Сейчас склоняюсь к тому, что концепт этот сложноват. Мало кто хочет разбираться
в нем подробно или просто не имеет времени.
А те, кто разобрался, начинают испытывать проблемы, когда всё это смешивается со
стейтом (ngrx/data).
Потому что внимание надо держать на максимуме, легко оставить подписку
незавершенной, откуда сайд эффекты, сложновоспроизводимые баги и утечки памяти.
Добавим к этому DI, о нюансах работы которого тоже забывают и получаем сложную
систему не устойчивую к ошибкам.
А система должна быть устойчива к ошибкам в коде. То есть пришёл программист,
который не особо вникая наговнякал фичу и залил её в мастер, пока мейнтейнер на
больничном. При этом ничего не должно ломаться, даже если программист сделал
что-то неправильно и часть кода без тестов.