Signals scale very well if you follow the tips in this article.
Signals are perfect for synchronous reactivity, and observables are perfect for asynchronous reactivity. They are complimentary, but also at odds with each other. In this article I will share a neat trick to get them to play well with each other.
Sometimes RxJS is the *perfect* tool for the job. If you've used it for the wrong job, you might never want to touch it again. But if you remain open-minded towards it, it can sometimes save your codebase from exploding into overly complex spaghetti-code.
RxJS has been doing a lot of work in Angular apps since 2016. Now, signals are here to take some of that workload away.
Inexperienced developers organize their code by technology rather than by feature. This is a mistake.
useState is great for simple features. But when a feature needs to become more complex, most developers will push the code towards spaghetti instead of refactoring to a declarative style of coding. Here's now to avoid that.
State adapters are objects that contain reusable logic for changing and selecting from state. There are lots of exciting patterns they enable.
Angular developers have waited 7 years for better integration with RxJS, but this doesn't seem to be happening. This made me angry at first, but after a lot of thinking and talking with other developers, I now believe that a reactive primitive could provide an overall better developer experience than just better RxJS support, even for the most diehard RxJS fans.
5 reasons to avoid imperative code that are consequences of how imperative code violates separation of concerns
I just finished rewriting an app from imperative code to completely reactive code. Here's the process I followed.
I converted a component from an imperative approach using NgRx/Component-Store to a completely reactive approach. I added local state to an event's payload to keep local and global state separate. I also created a declarative toast wrapper component.
I converted a component from an imperative approach using NgRx/Component-Store to a completely reactive approach. I decide to create a wrapper component for reactive router navigations. I also decide to define some reactive utilities for NgRx/Component-Store to handle state updates reactively.
Redux Devtools is nice for inspecting state. But sometimes it would be nice to be able to inspect derived state too.
I implemented the Angular Ionic Movies app with StateAdapt and the state management code decreased by 62% from what it was using NGXS.
YouTube video for this article I implemented the Account Menu in Angular Movies with StateAdapt and...
I implemented the Angular Movies app shell with StateAdapt and the code decreased by 50%.
I implemented Todo MVC with StateAdapt and the code decreased by 31%.
How to lazy-load RxJS pipelines in Qwik
Why RxJS compatibility matters: declarative async code
In this article I explore a few ways of using RxJS in Qwik
Easily guaranteeing consistency with NgRx/Store and NGX
Easily guaranteeing consistency with NgRx/Component-Store, Akita, Elf, RxAngular and RxJS.
Easily guaranteeing consistency with NgRx, NGXS, Akita, Elf, RxJS and StateAdapt.
Easily guaranteeing consistency by wrapping imperative APIs in Angular.
Easily guaranteeing consistency with multi-store selectors.
Easily guaranteeing consistency with multi-store DOM events.
Easily guaranteeing consistency with asynchronous sources.
Easily guaranteeing consistency with reusable state patterns.
Easily guaranteeing consistency with complex changes and derived state.
Easily guaranteeing consistency with simple derived state.