Note #21

Avalonia · MVVM · C# · .NET

Most Avalonia documentation assumes you’re using ReactiveUI, which I personally find difficult to reason about at present. This led me to choose MVVM Toolkit instead, but this choice came with a significant downside: zero support for routing/navigation.

From my research on GitHub issues and Reddit threads, the MVVM Toolkit maintainers don’t seem interested in adding this functionality which I consider a huge missed opportunity. I will say plainly that it is ridiculous to not support this as it is a standard and expected feature. The previous MVVM libraries it is supposed to replace did support this!

So I faced a difficult choice:

  • Build my own routing/navigation system while using the more intuitive MVVM Toolkit
  • Use ReactiveUI with its built-in navigation but accept its higher cognitive load

Neither option felt ideal for my development experience.

Read the rest of my notes