Skip to content

🚀 Streamix and the Angular Ecosystem

Streamix isn’t a lightweight wrapper around Angular primitives. It brings its own comprehensive implementation of reactive state (atoms + derived), scoped lifecycles, dependency injection, async resources, and more.

This creates intentional overlap with parts of Angular. Instead of blending in seamlessly, Streamix serves as a capable alternative you can use instead of certain Angular tools when it fits better.

⚡ Short Verdict

Streamix works great today as a regular TypeScript library inside an Angular workspace. You can import and use it in components and services without any build headaches.

However, it’s not a first-class Angular-native integration. Because it overlaps with Angular’s own solutions (Signals, DestroyRef, DI, etc.), you need clear boundaries.

🔄 Key Overlaps with Angular

ConcernAngular SolutionStreamix AlternativeFit
Reactive stateSignals + RxJSAtoms, derived, flowOverlapping
Lifecycle & cleanupDestroyRef, OnDestroyScopes + auto-disposalManual bridge needed
Dependency InjectionAngular DIBuilt-in IoC containerSeparate
Async resourcesRxJS + switchMapflow() with auto-cancelStrong alternative
Feature-scoped stateServices + SignalsScopesExcellent alternative

✅ Current Compatibility

What works well:

  • Builds cleanly with ng-packagr 📦
  • Full TypeScript + ESM support 💪
  • Usable directly in Angular components & services
  • Good tree-shaking

What needs care:

  • No automatic DestroyRef integration (call scope.dispose() yourself for now)
  • No official Signal interop yet
  • Own DI and networking layers (parallel to Angular’s)

🎯 Realistic Positioning

Streamix is not meant to replace Angular’s router, forms, or HttpClient. Leave those to Angular’s native tools.

Where Streamix shines as an alternative:

  • Component & feature-level reactive state ✨
  • Scoped async workflows with clean lifecycles
  • Sequential for await orchestration
  • When you want a unified, simple atom-based model instead of mixing Signals + RxJS

Bottom line:

Streamix is a mature, comprehensive reactive state system that partially overlaps with Angular’s realm. You don’t need to adapt it — it’s already full-featured and ready to use.

Use it where its model feels more productive, and keep Angular’s tools for the areas they own best. Clear boundaries = smooth sailing! 🛤️

Released under the GNU AGPL v3 or later.