Комментарии 16
Приведу небольшую цитату из своей будущей статьи:
В известной работе Kris Kowal " GTOR" реактивность понимается одновременно и более узко (механизм передачи данных между объектами), и более широко (рассматривая любую установку или чтение однократного или множественного значения, как частное проявление реактивности). В таком виде термин "реактивность" можно считать вырожденным, так как под него подходит вообще всё программирование как таковое.
Также можно встретить дословную трактовку "реактивности", как "программирование на реакциях", подразумевая на самом деле позднее связывание вызываемой стороны с вызывающей, что является одной из форм контроля потока исполнения (control flow). Более корректным термином для такой трактовки является "событийное программирование".
Приведённая же в данной работе формализация является более продуктивной, так как чётко ограничивает область действия определения разделяя реактивность от интерактивности, и подчёркивает важность не только, собственно, реакций, но и таких составных вещей как каскад и инварианты, которые дают настолько качественно иные свойства системы и способы написания кода, которые позволяют назвать это даже "реактивной парадигмой", где разработчик занимается контролем не потока исполнения инструкций (control flow), а контролем потоков данных между состояниями (data flow).
С помощью RxJS разработчики могут
писать только максимально отвратительный, вырвиглазный неподдерживаемый write-only код, это да.
За 10 лет был на проектах и везде прекрасно rxjs работает в связке с angular.
Кстати, использование этого стека в корп сегменте с очень большими проектами может что-то сказать в пользу rxjs. Входной порог чуть выше, но жизнь хорошо упрощается.
Ага, и поэтому его сейчас стремительно переводят на сигналы.
Поддержу. Классная библиотека, если понимаешь чего от неехочешь
За 10 лет был на проектах и везде прекрасно rxjs работает в связке с angular.
Да, разумеется прекрасно, так, что когда видишь этот код, то хочется чтобы тот кто его писал ливнул из профессии незамедлительно.
Кстати, использование этого стека в корп сегменте с очень большими проектами может что-то сказать в пользу rxjs
Ясно, у всех hello world, а у angular избранные проекты, поэтому вырвиглаз код это "норма". Расходимся
Так и не понял, что тогда не реактивное программирование...
То есть если какое-то событие происходит 1000 раз в секунду, то тысячекратная перерисовка интерфейса на 60 герцовом мониторе позволит мне "с лёгкостью обрабатывать огромные массивы данных и создавать адаптивный опыт и что-то там ещё из маркетинговой чуши"?
Чем оно отличается от событийной концепции со слушателями и обработчиками событий?
"Если вы видели Эксель - это именно оно"
Описывать реактивное программирование с помощью библиотеки, сочетающей несколько парадигм довольно странно.
Я думал тут будет - заказчик пришёл и попросил фичу А. Через 60 секунд она нужна в продакшн. И тут то и вступает реактивное программирование и супер шустрый ci cd пайплайн, который это доставит. И интеграционные тесты ещё реактивно пробегут
Что такое реактивное программирование? Руководство для начинающих по написанию реактивного кода