Not a user experience answer per se but there is https://github.com/VincentH-Net/CSharpForMarkup which allows to define UI declaratively in a style that is even closer to SwiftUI than "Uno C# markup".
Has MAUI managed to actually succeed Xamarin? From what I remember from a few years ago they kind of botched the launch and it failed to even fully replace it.
Xamarin is officially in End Of Support. But Maui has definitely missed the mark. I was deep in it around net6/net7 timeframe, and net8 was supposed to be a big step forward, but they burned a lot of good will with the rollout. I saw a lot of hubris not only from the Maui side, but also from the .net ecosystem as a whole. Specifically whoever was pushing workloads. The pain points around that were huge sources of unnecessary friction, on top of the really buggy initial versions of Maui.
Yes. It can use either XAML or C# markup. I think it uses the same stuff as Xamarin did when you developed Xamarin Native where you were using C# bindings to the native UI SDKs. The developer experience is a lot better than Xamarin because now they have a single C# project that targets everything--Linux, Windows, Mac, web, Android, and iOS at least.
Uno sits on top of .NET for iOS/Android, aka Xamarin "Classic".
Single Project/Single Codebase with your choice of XAML or C# Markup, choice of Native or Skia-based rendering, works with VS/Code/Rider on Windows/macOS/Linux.
Xamarin/Maui try to allow people to build cross-platform apps in a single codebase. Uno tries to allow people who are familiar with and/or prefer UWP to develop on other platforms than just windows.
Uno here. We have the same goals: Single Codebase Cross-Platform, targeting Web, Mobile and Desktop (including Linux). Uno runs everywhere .NET runs.
The approach is different where instead of creating an entirely new API, we aligned with WinUI's api (and UWP previously), making it source-code compatible with WinUI so you can leverage the WinUI's ecosytem (CommunityToolkit, 3rd party controls, ...).
By aligning with WinUI, you also get access to all the trained LLMs that already know about UWP/WinUI and therefore also work on Uno.
Discussed 3 days ago: https://news.ycombinator.com/item?id=42155853
with 34 comments
I’d love to hear people’s experiences with this! SwiftUI is mostly great, but Apple platforms only.
Is anyone here using this in production and if so does it deliver a good developer and user experience?
> SwiftUI is mostly great, but Apple platforms only.
Have you seen https://skip.tools/?
Whoa that looks great!
Toyota is using Uno Platform https://www.youtube.com/watch?v=Fe3t2AGoXXE
Not a user experience answer per se but there is https://github.com/VincentH-Net/CSharpForMarkup which allows to define UI declaratively in a style that is even closer to SwiftUI than "Uno C# markup".
The YouTube video of the .NET Conf session is very compelling.
Link?
https://www.youtube.com/watch?v=sJPyieyt1Rc
Is this a Xamarin successor?
It's one of the main players in the non-Microsoft cross-platform UI toolkits focusing on .NET, alongside AvaloniaUI.
The Xamarin successor is MAUI, which is the MS offer in the field.
Has MAUI managed to actually succeed Xamarin? From what I remember from a few years ago they kind of botched the launch and it failed to even fully replace it.
Xamarin is officially in End Of Support. But Maui has definitely missed the mark. I was deep in it around net6/net7 timeframe, and net8 was supposed to be a big step forward, but they burned a lot of good will with the rollout. I saw a lot of hubris not only from the Maui side, but also from the .net ecosystem as a whole. Specifically whoever was pushing workloads. The pain points around that were huge sources of unnecessary friction, on top of the really buggy initial versions of Maui.
Yes. It can use either XAML or C# markup. I think it uses the same stuff as Xamarin did when you developed Xamarin Native where you were using C# bindings to the native UI SDKs. The developer experience is a lot better than Xamarin because now they have a single C# project that targets everything--Linux, Windows, Mac, web, Android, and iOS at least.
You're totally right.
Uno sits on top of .NET for iOS/Android, aka Xamarin "Classic".
Single Project/Single Codebase with your choice of XAML or C# Markup, choice of Native or Skia-based rendering, works with VS/Code/Rider on Windows/macOS/Linux.
More of a competitor, they have different goals.
Xamarin/Maui try to allow people to build cross-platform apps in a single codebase. Uno tries to allow people who are familiar with and/or prefer UWP to develop on other platforms than just windows.
Uno here. We have the same goals: Single Codebase Cross-Platform, targeting Web, Mobile and Desktop (including Linux). Uno runs everywhere .NET runs.
The approach is different where instead of creating an entirely new API, we aligned with WinUI's api (and UWP previously), making it source-code compatible with WinUI so you can leverage the WinUI's ecosytem (CommunityToolkit, 3rd party controls, ...).
By aligning with WinUI, you also get access to all the trained LLMs that already know about UWP/WinUI and therefore also work on Uno.
> you can leverage the WinUI's ecosytem (CommunityToolkit, 3rd party controls, ...)
Why does the Community Toolkit -> DataGrid perform poorly in the Web demo? Sorting the columns is very slow: https://gallery.platform.uno/
Will Uno move to a model of rendering the UI to canvas for better performance?
interesting
For sure. It is still trending as #1 for #dotnetconf hashtag on twitter
Love it!