The same calendar app built with three different .NET UI frameworks. Compare Blazor, Uno Platform, and Avalonia side by side.
Sundy Calendar is a new project, early in development. I was searching for the "right" stack for a true cross-platform application.
I use a Mac, an iPhone, and a Windows computer in my day-to-day life and work. I occasionally use Linux, and can see myself using it more in the future to replace my Windows setup.
The goal was to build a full working application in Avalonia initially. Then I figured, why not try Uno too? Or see how other platforms feel? The real motivation is to experiment and see how things are done differently across stacks. Which feels better? Which "clicks" with me more? The last time I did true cross-platform development was with Expo, which had a fantastic dev experience.
Before starting with Uno, I tinkered with Flutter, mostly having an LLM generate a barebones calendar app to walk through the tooling. Reading through the Flutter code, I realized I wanted to stick with C#. From there, I built with Avalonia and Uno in parallel while also testing a Swift application.
After a few weeks, I realized Tauri — initially excluded from my choices — did support iOS/Android (the reason I hadn't tried it earlier). I gave it a shot, and boom: Blazor. It's no secret I enjoy working with Blazor, so it's no surprise I'm enjoying the Tauri experience.
Conclusion? None yet. Below are my current thoughts and status. Next step is to analyze this more, flesh out the Tauri-Blazor solution, and decide which stack to move forward with.
Personal experience building with each stack
WebAssembly in browser. Tauri for desktop (Windows, macOS, Linux) without bundling a full browser engine.
WinUI and XAML with Skia rendering. Targets WebAssembly, iOS, Android, macOS, Linux.
XAML (own dialect) with Skia rendering. Targets WebAssembly, iOS, Android, macOS, Linux.
Didn't press hard on these cons since they didn't affect the experiment significantly.
Frameworks evaluated but not demoed
Complete non-starter without Linux support. This may change with the Avalonia partnership. The hybrid Blazor + MAUI path is very attractive if Linux isn't a requirement.
No Linux supportTested as a baseline for what to expect from other stacks. Smoothest overall dev experience, aside from some CocoaPods issues (likely environmental, and this was my first foray into the experiment).
Baseline testClean, fast, low memory. Would strongly consider if browser and Android targets were available.
Apple only