#rxjs — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #rxjs, aggregated by home.social.
-
Разработка TypeScript-библиотеки для построения реактивных графов распространения и обработки данных
Как построить гибкий реактивный граф обработки данных, где узлы изолированы друг от друга, а связи между ними строятся автоматически на основе их возможностей? Рассказываю о разработке Transferum — легковесной TypeScript-библиотеки для реактивных потоков. Внутри: разбор системы вычислимых типов для проверки контрактов в compile-time, управление маршрутизацией данных в графе и примеры построения динамических пайплайнов для IoT-датчиков и панелей управления.
https://habr.com/ru/articles/1061630/
#typescript #frp #rxjs #reactive_programming #data_flow #open_source #архитектура_по
-
Как я перешёл с React на Angular и не пожалел
Когда я говорю, что перешёл с React на Angular, на меня смотрят примерно так же, как если бы я сказал, что добровольно переехал из Амстердама куда-нибудь в Челябинск. С непониманием и вопросом «а зачем». Если открыть типичный канал про разработку, там будет React, Next.js, React Native, снова React. Джуны учат его как первый фреймворк, мидлы обычно выносят в резюме жирным шрифтом. Angular воспринимается как что-то невероятно сложное, для мега-приложений масштаба «строим город на Луне» и бэкендеров, которым не повезло. Я тоже так думал. У меня за плечами был React, я понимал компонентный подход, умел работать с хуками, знал экосистему. И тут Angular. Готовых инструкций, как перейти с React на Angular, в сети практически нет. Зато есть тысячи статей про обратный путь. Пришлось разбираться самому, и вот что из этого вышло.
https://habr.com/ru/companies/centicore_group/articles/1048598/
#angular #react #фронтенд #TypeScript #RxJS #nx #ооп #архитектура_фронтенда #сравнение_фреймворков #личный_опыт
-
Пишем движок для блога на Rust
Недавно я решил завести собственный блог. Сначала посмотрел в сторону SSG, но они показались мне не слишком удобными для того сценария, который я хотел получить. Затем попробовал несколько CMS, однако быстро упёрся в другую проблему: мой сервер оказался слишком слабым для большинства современных решений. В итоге ни одно из готовых решений так и не смогло закрыть все мои требования одновременно. Так и появилась идея сделать небольшую файловую CMS на Rust, которая не требует базы данных, не потребляет много памяти и при этом остаётся достаточно гибкой для повседневного использования. Со временем идея небольшого блогового движка разрослась в полноценную CMS с SSR, виртуальной файловой системой, поддержкой локализации, визуальным редактором статей и горячей перезагрузкой контента. В этой статье я постараюсь показать, как всё это устроено изнутри.
-
Современный Angular: Заменяем жизненные циклы на сигналы
Если вы пишете на Angular, то наверняка часто используете хуки жизненного цикла вроде ngOnChanges , ngOnInit и ngOnDestroy . С появлением сигналов и концепции Zoneless (когда Zone.js уже не обязателен) у нас появились более элегантные и читаемые альтернативы. Давайте разберем, как современный подход позволяет упростить код и избавиться от "шумных" методов жизненного цикла.
https://habr.com/ru/articles/1040488/
#angular #javascript #typescript #signal #hooks #rxjs #программирование #вебразработа
-
Extended weekend hack. I was looking for a #nowplaying function that I can use anywhere and do anything with the data. Also, that will work continuously. Because I want to use it to promote artists to the audience during DJ sets. I had a solution that uses Serato Live Playlists, but it is not universal. Now I have this: https://hckr.tv/shazam/. It uses the #WebAudio Worklet, #RxJS, and #ShazamIO WASM to recognize tracks in the music stream directly in your browser.
-
Extended weekend hack. I was looking for a #nowplaying function that I can use anywhere and do anything with the data. Also, that will work continuously. Because I want to use it to promote artists to the audience during DJ sets. I had a solution that uses Serato Live Playlists, but it is not universal. Now I have this: https://hckr.tv/shazam/. It uses the #WebAudio Worklet, #RxJS, and #ShazamIO WASM to recognize tracks in the music stream directly in your browser.
-
[Перевод] Signal Forms в Angular
В Angular v21 у разработчиков появится новый, пока что экспериментальный, способ создавать формы: Signal Forms . После многих лет работы с формами, управляемыми шаблоном, template-driven forms ( ngModel ), и реактивными формами, reactive forms ( formGroup/formControl ), у нас появился третий подход, целиком основанный на сигналах и доступный в пакете @angular/forms/signals . В этой статье мы разберем основы: создание форм, обработку отправки и добавление валидации. Разобраться в формах
https://habr.com/ru/companies/otus/articles/1012734/
#js #Angular #Signal_Forms #сигналы #реактивные_формы #валидация_форм #FieldTree #TypeScript #RxJS #frontend_разработка
-
RxJS в Angular: 5 операторов, которые превращают хаос данных в симфонию
Стоит начать с боли всех разработчиков Angular: когда начинаешь свой проект, всё чисто и красиво. Но когда проект уже идёт, появляются подписки на подписки, данные из разных запросов нужно объединить, а пользователь начинает нажимать кнопки слишком быстро. И здесь приходит на помощь RxJS RxJS часто пугает своей сложностью. Прикол в том, что вам не нужно знать все 100+ операторов. Достаточно освоить базовую пятёрку, которая покроет 80%. И после того, как освоишь их, код становится намного читабельнее и быстрее.
https://habr.com/ru/companies/ruvds/articles/1008646/
#angular #frontend #frontend_разработка #webразработка #webпрограммирование #Rxjs #rxjs_operato #ruvds_статьи
-
Мы запихнули LifeOS в Telegram Mini App: как сделать сложный UI на React + Framer Motion и не сойти с ума
На рынке тысяча трекеров привычек. Еще тысяча трекеров зала. И еще сотня приложений для медитаций. Проблема одна: они разрозненны. Данные о том, что я плохо спал, никак не влияют на план тренировок в другом приложении. А медитация живет в вакууме от уровня стресса. Мы хотели создать LifeOS — единую систему управления собой, которая живет там, где я провожу 90% времени. В Telegram. Никаких впнов, ноушенов и тому подобное не надо. Но была проблема: стандартные Telegram WebApps часто выглядят... как веб-сайты из 2010-го. Мне нужен был «вайб» Apple: премиальный, темный, с глубокими тенями и, главное, тактильный. Так появился UltyMyLife. Вот как мы строили архитектуру дисциплины на React. Интересный факт: Перед тем как релизнуть проект, мы поняли, что нужен полный редизайн, и в итоге потратили еще пару недель.
https://habr.com/ru/articles/992100/
#telegrambot #telegram_api #telegram_mini_app #react #rxjs #framer_motion #javascript
-
От учебной проблемы до 1000 пользователей: как я писал интерактивный учебник по RxJS
История проекта началась в прошлом (2025) году. Я преподаю JavaScript в HTML Academy, и когда мне предложили взять поток начинающих разработчиков по Angular, я согласился. Мы успешно прошли базу, но когда дело дошло до HttpClient и обработки данных, я столкнулся с проблемой: студентам сложно понять Observable и реактивный подход, имея в багаже только промисы. На лекции мне задали резонный вопрос: А где посмотреть актуальные и понятные материалы по RxJS?. Я провел небольшой ресерч и понял, что ниша полупустая: видеокурсы - это долго, документация - сложно, а интерактивной практики почти нет. Так появился мой open-source проект. В этой статье я показываю честную аналитику за 90 дней: как набрать 1000 пользователей без рекламы, почему провалилась моя любимая фича и как пет-проект превращается в полноценный продукт. Смотреть аналитику
https://habr.com/ru/articles/991572/
#rxjs #angular #pet_project #open_source #frontend #reactive_programming #обучение_программированию #аналитика #mvp #javascript
-
Реактивная Архитектура: Пишем надежный Optimistic UI на чистом RxJS (Pattern Compensating Transaction)
Пользователи ненавидят спиннеры. Они хотят видеть лайк сразу после клика. Optimistic UI решает эту проблему, но создает новую: что делать, если сервер вернет ошибку? В императивном коде (Promise/async-await) откат состояния превращается в ад из try/catch и ручных мутаций переменных, порождая Race Conditions. В этой статье я покажу, как реализовать надежный паттерн Compensating Transaction на чистом RxJS . Мы построим архитектуру, где состояние это поток, который невозможно "сломать" частыми кликами или сетевыми сбоями. Никаких if/else, только чистые потоки. Построить реактивный UI
https://habr.com/ru/articles/974068/
#angular #rxjs #typescript #frontend #архитектура #паттерны_проектирования #optimistic_ui #reactive_programming #state_management #best_practices
-
I feel like the currently-proposed TC39 Observables lacking some value that can be supplied upon "completion" is a mistake. #RxJS #Observables #TC39 #ECMA262
-
I feel like the currently-proposed TC39 Observables lacking some value that can be supplied upon "completion" is a mistake.
-
I feel like the currently-proposed TC39 Observables lacking some value that can be supplied upon "completion" is a mistake.
-
Học hỏi từ Question 46: Hàm interval(period) tạo Observable phát ra dãy số tăng dần mỗi khoảng thời gian. Khi subscribe, biến đếm từ 0 và setInterval sẽ gửi giá trị mới; khi unsubscribe, timer dừng. #CodingChallenge #JavaScript #Observable #RxJS #LậpTrình #HọcLậpTrình #Tech
https://dev.to/tomivan/coding-challenge-practice-question-46-5ddl
-
🗺️ New package: `@ngworker/router-signal-store` 17.0.0
An #NgRx SignalStore-based version of `@ngworker/router-component-store` with no #RxJS dependency.
- `RouterSignalStore` shared API for DI
- `provideLocalRouterSignalStore` for local router signal store, a replacement for `ActivatedRoute`
- `provideGlobalRouterSignalStore` for global router signal store, a replacement for NgRx Router Store
- Strong and strict typing
- Serializable router statehttps://github.com/ngworker/router-component-store/releases/tag/router-signal-store-v17.0.0
#OpenSource #Angular -
🗺️ New package: `@ngworker/router-signal-store` 17.0.0
An #NgRx SignalStore-based version of `@ngworker/router-component-store` with no #RxJS dependency.
- `RouterSignalStore` shared API for DI
- `provideLocalRouterSignalStore` for local router signal store, a replacement for `ActivatedRoute`
- `provideGlobalRouterSignalStore` for global router signal store, a replacement for NgRx Router Store
- Strong and strict typing
- Serializable router statehttps://github.com/ngworker/router-component-store/releases/tag/router-signal-store-v17.0.0
#OpenSource #Angular -
Поиск на RxJS и Taiga UI
Привет, Хабр! Я Антон Марченко, разработчик в Т-Банке. Поделюсь интересной задачей по работе с потоками на RxJS, которую мы однажды решали. Представьте HR-портал ИТ-компании, в котором реализован поиск по постам и статьям. Нам предстояло внедрить на сайт несколько внешних поисков: по пользователям, ссылкам и исходникам. А еще предусмотреть скелетоны и обработку ошибок и заложить возможность добавлять новые внешние источники поиска динамически, не дорабатывая каждый раз пользовательский интерфейс.
-
Angular Signals + RxJS: объединяем два реактивных мира в одном стейт-менеджере
Angular долгое время ассоциировался с RxJS. Даже слишком: многие разработчики ощущали, что без Observable ничего не работает. Но вот в Angular 17 появляются Signals — синхронная реактивность прямо из коробки. В 17+ — они становятся мейнстримом. Возникает вопрос: а что делать с RxJS? Выбрасывать? Signals и RxJS — не конкуренты, а два мощных инструмента для решения разных задач. И если их правильно сочетать, можно построить удобную, масштабируемую и эффективную архитектуру.
-
Take a look inside observables with Bob Fornal at TechBash 2025.
Join us Nov 4-7 in the Poconos! Learn more and register: https://techbash.com/
#developers #angular #rxjs #javascript #webdev #kalahari #nepa
-
Take a look inside observables with Bob Fornal at TechBash 2025.
Join us Nov 4-7 in the Poconos! Learn more and register: https://techbash.com/
#developers #angular #rxjs #javascript #webdev #kalahari #nepa
-
От магии до понятной структуры: разбираемся, как работает Change Detection в Angular
В Angular любое изменение в компоненте, которое отображается на экране, является результатом работы механизма отслеживания изменений (Change Detection, CD). За этим процессом стоит Zone.js, который можно представить в роли дирижера, сообщающего компонентам о необходимости обновить DOM. Zone.js не запускает CD сам. Он лишь создает контекст, в котором Angular потом может его запустить. Его задача только уведомлять Angular о завершении асинхронных операций, после чего Angular решает, нужно ли проверять изменения. Чтобы понять важность такого подхода, нужно учитывать особенности JavaScript. В JavaScript асинхронные операции, такие как setTimeout или fetch, разрывают стек вызовов. Это значит, что callback-функция, выполняемая после завершения асинхронной операции, не имеет информации о контексте, в котором она была вызвана. Для фреймворка, который отслеживает изменения, это создает определенные трудности: как узнать, что асинхронная операция завершилась и, возможно, изменила данные? Заглянуть под капот
https://habr.com/ru/articles/925260/
#Angular #Change_Detection #Zonejs #Zoneless #Angular_Signals #Производительность #Оптимизация #RxJS #Архитектура #javascript
-
Как выжить в мире сложных интерфейсов в 2025-м: 7 работающих рецептов от React и CSS до дизайн-систем
Как говорил дядя Бен, большие продукты — это большая ответственность. И без сложных интерфейсов тут никуда: а с ними и исследования становятся труднее, и встречается больше препятствий на этапе кода — от нюансов реактивного программирования до риска утонуть в разнообразии CSS-спецификаций. Для
https://habr.com/ru/companies/ncloudtech/articles/924704/
#javascript #ux #митап #css #дизайнсистема #интерфейсы #фигма #figma #js #rxjs
-
Do you want to understand core concepts and operations of Reactive Programming nice and easy?
Dive into our tutorial, Rx Playground!
👉 http://sml.io/rxplaygroundRx Playground gives you:
✅ Interactive learning with real-time data flow
✅ Fun environment to experiment with Rx operators
✅ Beginner-friendly tutorial with advanced use cases📚 Learn how operators like map, merge, switchMap, debounceTime, and more really work by seeing them in action.
-
Do you want to understand core concepts and operations of Reactive Programming nice and easy?
Dive into our tutorial, Rx Playground!
👉 http://sml.io/rxplaygroundRx Playground gives you:
✅ Interactive learning with real-time data flow
✅ Fun environment to experiment with Rx operators
✅ Beginner-friendly tutorial with advanced use cases📚 Learn how operators like map, merge, switchMap, debounceTime, and more really work by seeing them in action.
-
Angular 20: Большое обновление для современного веба
Angular 20 — это мощное обновление, которое делает разработку веб-приложений быстрее, удобнее и современнее. Новые возможности шаблонов, стабильные сигналы, поддержка zoneless режима и интеграция с AI позволяют создавать высокопроизводительные приложения с минимальными усилиями. В этой статье разберём ключевые нововведения Angular 20 и покажем, как их использовать в ваших проектах.
https://habr.com/ru/articles/914934/
#ангуляр #angular_20 #rxjs #javascript #typescript #j #обновление
-
Explore #RxJS best practices designed for today’s modern ecosystem!
This #InfoQ article guides you through patterns that scale from Angular 16 all the way to Angular 17/18, helping you write cleaner, more efficient, and future-proof code.
📰 Read now: https://bit.ly/44Uvj7H
-
Explore #RxJS best practices designed for today’s modern ecosystem!
This #InfoQ article guides you through patterns that scale from Angular 16 all the way to Angular 17/18, helping you write cleaner, more efficient, and future-proof code.
📰 Read now: https://bit.ly/44Uvj7H
-
People keep saying RxJS (well, observables) aren't suitable for React.
No, RxJS (and observables) are absolutely perfect for React.
-
People keep saying RxJS (well, observables) aren't suitable for React.
No, RxJS (and observables) are absolutely perfect for React.
-
Has anyone here worked with RxDB (https://rxdb.info) before? 🤔
(Have I asked this question beige? 😅)
I like the concept and it seems robust from what I’ve been reading on the docs, but something about it rubs me the wrong way.
The tracking during dev perhaps that’s not possible to turn off? The quite aggressive marketing of the premium version? The constant popups while reading the docs?
Unsure, but I’d like to hear from people who have used it, if there are any.
-
Has anyone here worked with RxDB (https://rxdb.info) before? 🤔
(Have I asked this question beige? 😅)
I like the concept and it seems robust from what I’ve been reading on the docs, but something about it rubs me the wrong way.
The tracking during dev perhaps that’s not possible to turn off? The quite aggressive marketing of the premium version? The constant popups while reading the docs?
Unsure, but I’d like to hear from people who have used it, if there are any.
-
Toying with Javascript Promise and async and the like, I tried my own wrapper. The outcome was, I realized, somewhat like RxJS. Though in the example I toyed with, my wrapper could not genuinely deliver the outcome of a list of Promises (or setTimeout calls) and **tell when all were finished**.
So I looked how RxJS does it and ... it doesn't either 😎 . See https://codeberg.org/harald/Codeschnipselnotizen/src/branch/main/typescript/RxjsDoesNotWait.ts
https://rxjs.dev/guide/observable
#typescript #javascript #promise #rxjs #async #asynchell #programming
-
[Перевод] Что новенького в Angular 19
Всем привет, с вами Максим Иванов , и сегодня мы поговорим о некоторых улучшениях, которые появились в последней версии Angular 19 , вышедшей в ноябре 2024. Публикация довольно запоздалая с этой точки зрения, но мы сегодня постараемся рассмотреть некоторые нововведения более детально. Как и всегда ребята из Google дарят нам что-то новое, что сделает наши приложения еще более быстрыми и эффективными. И в этом нам помогут модерновые реактивные примитивы, инкрементальная гидратация и многое другое.
https://habr.com/ru/articles/884208/
#angular #angular2 #angularjs #angular_19 #rxjs #signal #google
-
IT IS A FUCKING GEM....
interval(50) .pipe( filter(() => storageService.isReady()), retry(100) ) .pipe(take(1)) .subscribe(() => { console.log("storage ready"); })
And I absolutely hate it. #rxjs #javascript #typescript -
IT IS A FUCKING GEM....
interval(50) .pipe( filter(() => storageService.isReady()), retry(100) ) .pipe(take(1)) .subscribe(() => { console.log("storage ready"); })
And I absolutely hate it. #rxjs #javascript #typescript -
I know how powerful #rxjs can be, but sometimes it's REALLY hurting my brain....
-
I know how powerful #rxjs can be, but sometimes it's REALLY hurting my brain....
-
I've been pondering about creating EventSourcing, CQRS & DDD scaffolding from scratch in TypeScript.
There doesn't seem to be an OpenSource basic scaffolding for this using RxJS? ( I mean the basic bang like NgRx ).
DDD -> NgRx
- Command -> Action ( in imperative )
- Command Handler -> Effect
- Domain Event -> Action ( in past tense )
- Aggregate state -> a Store entry
- Aggregate state's apply -> ReducerDid I get this right?
#RxJS #CQRS #EventSourcing #DDD #NgRx #TypeScript #OpenSource
-
I've been pondering about creating EventSourcing, CQRS & DDD scaffolding from scratch in TypeScript.
There doesn't seem to be an OpenSource basic scaffolding for this using RxJS? ( I mean the basic bang like NgRx ).
DDD -> NgRx
- Command -> Action ( in imperative )
- Command Handler -> Effect
- Domain Event -> Action ( in past tense )
- Aggregate state -> a Store entry
- Aggregate state's apply -> ReducerDid I get this right?
#RxJS #CQRS #EventSourcing #DDD #NgRx #TypeScript #OpenSource
-
Having worked with #Angular in-depth for 2 years now, I can articulate what I don’t like about the #framework.
1. #RxJS is a terrible primitive to build most #CRUD software upon. #Promises are better for most things, and event listeners are fine.
2. Its #DI system encourages long-lived, easily-accessible Singletons that are serious “foot guns.”
3. Data management is painful. Resolvers are a worse DX than either #EmberJS’s Ember Data or #React’s TanStack Query.
-
Having worked with #Angular in-depth for 2 years now, I can articulate what I don’t like about the #framework.
1. #RxJS is a terrible primitive to build most #CRUD software upon. #Promises are better for most things, and event listeners are fine.
2. Its #DI system encourages long-lived, easily-accessible Singletons that are serious “foot guns.”
3. Data management is painful. Resolvers are a worse DX than either #EmberJS’s Ember Data or #React’s TanStack Query.
-
Master Asynchronous JavaScript with RxJS.
https://buff.ly/41lIkVY
#javascript #rxjs #async #webdev #webdevelopment -
Since it's related, here's the `removeEventListener` API I wish we had:
```javascript
const removeListener = window.addEventListener('something', () => { /* ... */ });await someTime();
removeListener();
```Benefits:
1. You only provide the handler once, so it works great with lambdas. You don't need to keep a reference to the handler just to remove it later.
2. You don't need to provide the event twice. It's additional information to hard-code and/or dynamically track.
3. You can't accidentally `removeEventListener` on a function which was not bound in the first place (which is a no-op that often indicates a bug such as `removeEventListener('something', foo.bind(this)`).This design is basically a copy of the way #RxJS handles subscriptions, but I find this much more ergonomic and intuitive.
-
I built this POC to demonstrate how I'd use CustomEvents to implement Signals. Please criticize my approach and tell me why I need a native browser API for this.
#webDev #javaScript #signals #observable #frontend #customEvents #events #svelte #preact #rxjs
-
Ever since #knockoutJS popularized data-binding, there's been numerous flavors of the #Observer pattern; Object.observe(), #React state, #RxJS, now #Signals. Every time I think, it's just #CustomEvents with extra steps.
#Events are at the core of the #JavaScript runtime; why is everyone always trying to avoid using them!?
-
I’m doing an internal workshop on the different state management options for angular in work next week, just one day before ng17 drops. Exciting times. I’m no expert on the topic, just a bit of an enthusiast who likes talking about it 😂
#Angular #Angular17 #NgRx #RxJS #Signals -
-
@zachleat There's a slide deck somewhere which is unironically called "#RxJS 'good' practices".
-
Another beautiful educational material by Tomasz Krawczyk - this time, covering reactive programming, using #RxJS & #ThreeJS under the hood.
Next time you'll need a refresher on a particular rx component, or you'll find yourself teaching these concepts - bookmark this site :)
https://softwaremill.com/learn-reactive-programming-with-rx-playground
-
angularday | 24th November 2023 | Verona (https://2023.angularday.it/):
Apply to the #CFP and become #angularday speaker: https://t.co/usbGktVhx9
You have time until 31.08.2023
🎫 https://t.co/kAEmzai2eo@grusp #angular #angularjs #javascript #js #cypress #microfrontend #schematics #redux #ngrx #rxjs #components https://t.co/WHzf8pMBKT
-
angularday | 24th November 2023 | Verona (https://2023.angularday.it/):
#angularday #CFP is open!
We look forward to hearing from you: https://t.co/usbGktVhx9
See you in📍 Verona on 📅 24.11.23
🎫 https://t.co/kAEmzai2eo@grusp #angular #angularjs #javascript #js #cypress #microfrontend #schematics #redux #ngrx #rxjs #components https://t.co/6kr2r287J4
-
angularday | 24th November 2023 | Verona (https://2023.angularday.it/):
Are you ready for the 7th edition of #angularday? 😍
#CFP is now open until 31.08.2023, we look forward to seeing your talk proposal: https://t.co/usbGktVhx9
@grusp #angular #angularjs #javascript #js #cypress #microfrontend #schematics #redux #ngrx #rxjs #components https://t.co/JIs6m1ACYv
-
The more #React code I write, review and debug, the more leery I get of useEffect.
It may have its uses, but I feel like it violates React's core principle of referentially transparent components. Its effects are (locally) surprising and (globally) intransparent.
I much prefer handling async state updates via #redux or #zustand or even #rxjs and eschewing useEffect altogether.
-
In 2013 we wrote async javascript & the only patterns we had were races and callbacks & we liked it. Now we got 100*+ abstractions over races and callbacks.
* most of those are #rxjs