Что такое реактивное программирование? Не Rx. И даже не Excel. Это архитектурный паттерн, позволяющий абсолютно иначе писать код. В статье мы устаканим фундаментальные знания, утвердимся в том, что React.js всё же является реактивным, и подумаем о том, как и когда нужно, а когда не нужно применять паттерны реактивного программирования.Читать полностью »
Рубрика «rxjs»
Архитектура и реактивное программирование
2023-05-24 в 9:00, admin, рубрики: javascript, mobx, React, react.js, reactive programming, reactivity, ReactJS, Reatom, ruvds_статьи, rx, rxjs, state, state management, state manager, Блог компании RUVDS.com, Программирование, реакт, реактивное программирование, реактивность, состояниеРазбираемся в сортах реактивности
2021-11-04 в 4:14, admin, рубрики: $hyoo, $mol, angular, cellx, ChronoGraph, effector, FRP, javascript, mobx, ORP, React, reactive programming, reactivity, Reatom, rxjs, state management, svelte, vue, Анализ и проектирование систем, Блог компании TIMEWEB, Программирование, Разработка веб-сайтовЗдравствуйте, меня зовут Дмитрий Карловский и я… прилетел к вам на турбо-реактивном самолёте. Основная суть реактивного двигателя изображена на картинке.
Тут, казалось бы, хаотичное взаимодействие между молекулами, приводит к тому, что улетающие молекулы опосредованно передают импульс корпусу двигателя. Что ж, давайте подумаем, как реактивные принципы решают или наоборот усугубляют проблемы в программировании. Сравним различные подходы к реактивному программированию. И вытащим на поверхность все их подводные камни.
Это — текстовая расшифровка выступления на SECON.Weekend Frontend'21. Вы можете посмотреть видео запись, прочитать как статью, либо открыть в интерфейсе проведения презентаций.
Используем DI в Angular по максимуму — концепция частных провайдеров
2020-06-23 в 13:05, admin, рубрики: angular, dependancy injection, javascript, ng, providers, rxjs, TypeScript, Блог компании Tinkoff.ruВ Angular очень мощный механизм Dependency Injection. Он позволяет передавать по вашему приложению любые данные, преобразовывать и переопределять их в нужных частях.
Поэтому мы можем делать архитектуру приложений более простой и гибкой: понятный поток данных, минимальная связанность кода, легкость при тестировании или замене зависимостей.
Тем не менее DI в приложениях используется достаточно скромно. Как правило, это внедрение сервисов или передача каких-то глобальных данных сверху вниз по дереву внедрения зависимостей.
В этой статье я хотел бы показать альтернативный вариант работы с полученными из DI данными. Цель: упростить компоненты, директивы и сервисы, которые эти данные используют.
Знание и состояние
2020-03-27 в 9:06, admin, рубрики: graphql, javascript, mobx, observable, redux, rxjs, state, state manager, архитектура, Программирование, Разработка веб-сайтов, Совершенный кодСердце любого современного сайта или браузерного приложения (что SPA, что PWA, что любые другие три буквы) — это его State, или состояние.
Мы можем сколько угодно спорить о том, что лучше — React, Vue, Svelte, Angular, можем продолжать пользоваться jQuery, но в действительности это не так важно. Это та часть нашего приложения, которое мы видим — его “мышцы“ и “кожа”. Но то, как вы думаете — какими терминами оперируете, какие механики используете для даже визуализации в голове того, как в вашем приложении “текут” данные — все это идет из его скелета. Из state manager-а.
Помните, пару лет назад у нас была усталость от JavaScript-а? Сейчас я вижу у огромного количества людей усталость от state manger-ов. Redux? Да, да and да. RxJS? Тоже. MobX? Если он такой простой — блин, почему у него есть в документации страница западни.html?
Ответ “почему многим так тяжело” есть, но сначала надо точно сформулировать проблему.
Выбирая state manger — мы выбираем образ мышления. Вариантов сейчас много, но самые популярные подходы бьются на 3 группы:
Подписок в коде компонента следует избегать, перекладывая эту задачу на AsyncPipe, однако не всегда это возможно. Есть разные способы завершать подписки, но все они сводятся к двум — ручная отписка или использование takeUntil.
Со временем я все чаще стал использовать свой декоратор для отписок. Рассмотрим как он устроен и применяется, быть может вам понравится этот способ.
Angular: понятное введение в NGRX
2020-02-24 в 8:47, admin, рубрики: angular, ngrx, node.js, rxjs, TypeScriptЦель этой статьи — дать чистое и ясное представление о ngrx. Для этого я объясню, что нужно знать и понимать о ngrx, а затем мы увидим это в действии с простыми и понятными примерами кода.
Вот список тем, которые мы будем обсуждать в этой статье:
- Что такое ngrx
- Преимущества использования ngrx
- Недостатки использования ngrx
- Когда использовать ngrx
- Действия, Редукторы, Селекторы, Хранилище и Эффекты
Продолжение статьи с примером использования: «Angular: пример использования NGRX».
Читать полностью »
Что делает реактивную систему хорошей?
2020-02-22 в 15:29, admin, рубрики: elm, ember octane, Ember.js, emberjs, javascript, reactivity, ReactJS, redux, rxjs, vuejs, декларативное программирование, Программирование, Разработка веб-сайтов, реактивное программирование, реактивностьЭтот пост является вторым в серии статей об авто-трекинге — новой системе реактивности в Ember.js. Я также обсуждаю концепцию реактивности в целом, и как она проявляется в JavaScript.
От переводчика: Крис Гарретт — работает в компании LinkedIn и является одним из core-контрибьюторов js-фреймворка Ember. Он принимал активное участие в создании нового издания фреймворка — Ember Octane. Одним из краеугольных камней этой редакции является новая система реактивности на основе автоматического отслеживания (autotracking). Несмотря на то, что его серия написана для Ember-разработчиков в ней затрагиваются концепции, которые полезно знать всем веб-программистам.
Читать полностью »
Интерактивная выгрузка файлов на сервер с помощью RxJS
2020-02-10 в 18:01, admin, рубрики: angular, javascript, reactive programming, rxjs
Прошло много времени с тех пор, как я написал свою последнюю статью по основам RxJS. В комментариях меня попросили показать более сложные примеры, которые могут пригодиться на практике. Поэтому я решил немного разбавить теорию и сегодня мы поговорим про выгрузку файлов.Читать полностью »
Множественные запросы к API с помощью mergeMap и forkJoin вместо subscribe
2019-10-15 в 12:41, admin, рубрики: angular, javascript, rxjs, TypeScript
Руководство по использованию mergeMap и forkJoin вместо простых подписок для множественных запросов к API.
В этой статье я покажу два подхода к обработке множественных запросов в Angular с использованием mergeMap и forkJoin.
Читать полностью »
Взаимодействие между компонентами Angular с использованием RxJS
2019-10-11 в 11:17, admin, рубрики: angular, javascript, rxjs, TypeScriptРуководство о том, как использовать Subject RxJS и BehaviourSubject RxJS для связи между компонентами Angular.
В этой статье я буду использовать RxJS, чтобы показать как компоненты взаимодействуют, когда они не знают друг друга или не имеют общих родительских / дочерних отношений.
Содержание:
- Проблема
- Способ 1: Транспорт событий
- Способ 2: Сервис-наблюдатель
- Применение