The “alien 👽 engine” for real-time .NET & Blazor apps gets .NET Standard 2.0 / .NET Framework support

Alex Yakunin
2 min readJun 2, 2021

As you might guess, the “alien engine” is Fusion — I still struggle to find a perfect one-line description for it :)

Thanks to Dmitry Filippov (̶g̶i̶r̶l̶s̶, just look at this huge pull request!), Fusion got .NET Standard 2.0 / .NET Framework 4.7+ support. Crazy, but almost every test runs on .NET Framework as well now — even the ones that use Fusion’s distributed features! To make it happen, Dmitry added .NET Standard 2.0 support to every Fusion’s assembly except Stl.Fusion.Server, which had to be re-implemented as Stl.Fusion.Server.NetFx due to quite significant API difference between ASP.NET Core and regular ASP.NET.

The only missing piece is .NET Framework-compatible server-side controllers for IAuthServiceand ISandboxedKeyValueStore, i.e. some of built-in (but totally optional) Fusion services can’t be exposed on .NET Framework-based servers just yet, but the rest seem to work perfectly, and I guess this gap will be closed soon as well.

So if you’re still using .NET Framework, you might try to use Fusion as:

  • transparent in-memory cache, that’s always in sync with the ground truth
  • as a UI state management library on the client-side
  • and finally, you can use it to deliver real-time updates to every client connected to your servers.

Enjoy! The best place to ask questions: https://discord.gg/EKEwv6d

P.S. It also worth mentioning that this is the first really big external contribution to Fusion’s codebase. It’s hard to claim it’s “100% external” — I know Dmitry personally, as well as the company he works for, but this backporting effort was driven solely by their desire to use Fusion in a product that runs on .NET Framework, but relies on a huge set of real-time features. As you might guess, the hope to see such contributions was the main reasons to open-source Fusion. So if you like the library, but see something is missing there — your help is always welcome! And I’ll do whatever I can to help you too: Dmitry’s PR with 130+ files changes was reviewed and merged in less than 1 week.

--

--