How SignalStore, Agentic UI, and modern testing fit together
I learned more about this in a conversation with Manfred Steyer. Manfred has been training enterprise teams in Angular for years and is the instructor for our Modern Angular Masterclass. His assessment: Many teams adopt modern Angular without changing their underlying mindset. They’re just writing old Angular code using new syntax.
Signals are not an API update—they require a shift in thinking
Anyone who treats Signals as if they were just a better EventEmitter hasn’t yet fully embraced the real change in Angular.
To explain this, Manfred uses a catchy metaphor: Most developers think of their application as a script—do this, then that, and output this data. But Angular has stopped expecting scripts. Signals require data-flow-oriented thinking—inputs lead to data, data leads to more data, and the end result is what the user sees. The metaphor is more like a river, not a script.
Anyone who sees this merely as new syntax for building the same things as before remains stuck in the old paradigm and misses the point of modern Angular.
Ten years of Angular experience can actually be a hindrance today
Anyone who has been writing Angular for ten years has built up ten years’ worth of patterns—but tragically, some of them are now getting in the way.
Anyone learning Modern Angular with old patterns is setting themselves up for failure—that’s how Manfred explains it. Karma, Jasmin, imperative workarounds that were once necessary are no longer in the projects; they’re in people’s minds. Modern Angular deliberately leaves this legacy behind, and that requires an active decision, not just regarding the tools but also regarding the mindset.
iJS Newsletter
Join the JavaScript community and keep up with the latest news!
Testing was broken. Everyone knew it, but hardly anyone said it out loud
If you wanted to test Angular components properly, you had to know when Angular runs its change detection internally. That’s not a testing task—it’s forensic analysis.
With Vitest and Browser Mode, that’s changing. The component becomes a black box: you test what it exposes to the outside world, not how it works internally. Manfred calls this “component testing” to distinguish it from “unit testing”—a level more abstract, closer to what users actually experience. Karma and Jasmin are deprecated, and migration is due anyway—what results when you do it right is more than just a tool switch.
Store and Forms: reactivity as a guiding principle
Anyone who views SignalStore merely as a replacement for NgRx has yet to grasp its most important feature.
Manfred describes it as the headless version of the application—a complete cross-section of the application logic, detached from any UI layer. This is an architectural decision, far more than just an implementation detail. And then there’s Signal Forms. According to Manfred, it is “perhaps the most beautiful API Angular has ever produced”—the third forms API, built on years of grappling with the pain points of the first two. Forms are no longer treated as a special case of reactive data flow, but as a consistent part of it. Store and Forms together show just how far Angular has taken reactive logic.
When the LLM controls the application, the architecture determines the outcome
Agentic UI isn’t a future scenario; it’s an architectural decision that teams need to make right now.
Interestingly, this is where the SignalStore comes back into play. Manfred describes a scenario that many recognize as a vision: an AI sidecar that pops up when needed. The user chats, and the sidecar controls the application via client-side tool calling, connected to the store—routes, forms, and data. The Store, as a headless variant, is precisely the link that underpins this architecture.
What Manfred doesn’t leave out—and what I consider the most important part: What happens if the model does something unintended? Human-in-the-loop, validation mechanisms, scorers—you can’t do without them. These are design decisions that must be finalized before the first production rollout.
iJS Newsletter
Join the JavaScript community and keep up with the latest news!
You don’t change paradigms on a whim
The path to modern Angular doesn’t lie in a list of APIs; it lies in a shift in mindset and, with it, a new way of working. Anyone who skips this step will, sooner or later, hit a wall—at the latest when a language model takes remote control of their application.
In his Angular workshop at iJS Conference London, Manfred brings you up to speed with where Angular is headed and shows you how to use it in practice. You’ll learn how to design a clean, reactive architecture with Signals and build lean state management using the new NgRx Signal Store. But it doesn’t stop there: You’ll also create an AI-powered assistant that understands your app, guides users, and generates dynamic UI. Check out the full conference program and workshop details here.
🔍 Frequently Asked Questions (FAQ)
1. What has fundamentally changed in modern Angular?
Modern Angular has introduced a completely new reactivity model, testing approach, and architectural paradigm. It is not an incremental update but a shift that requires developers to rethink how applications are structured and built.
2. Why do developers need to relearn Angular with Signals?
Signals require a data-flow-oriented mindset instead of imperative scripting. Developers must think in terms of reactive data propagation rather than step-by-step execution logic.
3. What is the main misconception about Angular Signals?
Many developers treat Signals as a replacement for EventEmitter, but this misses their core purpose. Signals are designed to model reactive data flow, not event-based communication.
4. Why can long-term Angular experience become a disadvantage?
Developers with many years of Angular experience often rely on outdated patterns. These legacy mental models can conflict with modern Angular’s reactive and declarative approach.
5. How is testing changing in modern Angular?
Testing is shifting from internal implementation checks to black-box component testing. Tools like Vitest and Browser Mode enable testing based on observable behavior rather than internal change detection.






