DEV Community

Alex Yakunin
Alex Yakunin

Posted on

Fusion = real-time UIs in Blazor + consistent caching in .NET Core

GitHub logo servicetitan / Stl.Fusion

Build real-time apps (Blazor included) with less than 1% of extra code responsible for real-time updates. Host 10-1000x faster APIs relying on transparent and nearly 100% consistent caching. We call it DREAM, or Distributed REActive Memoization, and it's here to turn real-time on!

πŸ‘Ύ Fusion: the "real-time on!" switch that actually exists

Build Coverage NuGet Version MIT License
Discord Server Commit Activity Downloads

Fusion is a .NET library that implements πŸ¦„ Distributed REActive Memoization (DREAM) – a novel abstraction somewhat similar to MobX or Flux, but designed to deal with an arbitrary large state spanning across your backend microservices, API servers, and reaching even every client of your app.

Fusion solves a set of infamously hard problems with a single hammer:

Problem So you don't need...
πŸ“‡ Caching Redis, memcached, ...
🀹 Real-time cache invalidation No good solutions -
it's an infamously hard problem
πŸš€ Real-time updates SignalR, WebSockets, gRPC, ...
🀬 Network chattiness A fair amount of code
πŸ”Œ Offline mode support A fair amount of code
πŸ“± Client-side state management MobX, Flux/Redux, Recoil, ...
πŸ’° Single codebase for Blazor WebAssembly, Server, and Hybrid/MAUI No good alternatives

And the best part is: Fusion does all of that transparently…

Repository's README.md describes what Fusion is and how it works. There is a fair number of samples and interactive tutorial:

Please feel free to ask any questions in comments - I'm the author of this library.

Top comments (0)