Uno Platform Studio: GUI Designer for Cross-Platform .NET Applications
platform.uno
platform.uno
It works with Avalonia, WPF and should work with Winui3, Uno etc too. Avalonia is being used by some pretty impressive applications btw, check that one out too. (I have no affiliation).
Avalonia (+ .net) is the reason why I think that is the best stack for any desktop application or util, because utils eventually gain a gui. Imho a far better choice than Python or JS in most cases.
As an aside, I don't understand why the Java players do not put more emphasis on JavaFX. Would be the ultimate choice for people that are wary about the MS affiliation.
___
0. https://learn.microsoft.com/en-us/dotnet/communitytoolkit/mv...
Like this implementation of Visual Basic 6: https://bandysc.github.io/AvaloniaVisualBasic6/
In contrast, Uno uses native controls as much as possible.
Uno currently uses some native controls on mobile iOS/Android/Catalyst (text input, mostly) to provide platform features, but the rest is rendered using graphics primitives. On Web, the same happens where CSS is used for most of the rendering. Input interactions are managed entirely by Uno. This allows to have a visually identical UI across platforms, unless the developer chooses otherwise.
On Desktop targets, Uno is rendering everything on an HW accelerated Skia canvas, with GL/Metal backends.
See the diagrams from here to see what I mean: https://www.codeproject.com/Articles/5366945/Multiplatform-X...
When running on Windows, which this is where some confusion may lie, you can choose to use the Uno implementation (the netX.0-desktop TFM), or the original WinAppSDK by Microsoft (the netX.0-windows10.YYY TFM), since both implementations share the same API, making user code compatible with either ones.
On the other platforms, Wasm/Linux/iOS/Android/Catalyst/macOS, only the Uno implementation can be used.
Had a chance to compare both Uno and Avalonia and I choose Uno any day. Mostly because of the breadth of what they have. Their Navigation "Extensions", Authentication, Toolkit controls, and their Hot Reload is awesome.
Now the fact they announced a Drag&Drop Designer seals the deal.
Been trying to use VS Code more and more with Uno and it works great.
I see Avalonia has having a decent Desktop offering but I target Mobile and Web and they're nowhere where Uno is.
What is your feel about the web target? The ux and feel of these Canvas blobs are poor across all toolkits imho. Do you use it as an internal web app that is used like once every day?
___
0. https://www.codeproject.com/Articles/5366945/Multiplatform-X...
Uno also doesn't use Canvas on Web, it uses the DOM. I use it for an enterprise Web App, not a public website.
I feel Nick been pro Avalonia forever as far as I can tell and the pace at which am noticing Uno innovating, one year might make all the difference in the world.
In all cases, I made my mind by testing both and I just had a way better experience with Uno, everything available out of the box, the tooling is above and beyond.
Anyways, just wanted to share by point of view, typically don't contribute here.
Thanks for sharing, appreciated.
I.e. Let's make it look like a Windows executable! And go ahead and name it .dll! I'm sure no default firewall settings will have an issue with that.
So any wide Blazor app deployment also requires overriding the default packaging and adding obfuscation.
Supposedly that's experimentally fixed in NET 8... [1]
[0] https://github.com/dotnet/aspnetcore/issues/31048
[1] https://github.com/dotnet/aspnetcore/issues/36978#issuecomme... https://github.com/dotnet/runtime/issues/80807
I have followed this project for a while and it looks pretty sweet.
Also, there are lots of reasons why one may chose Uno for the next project https://platform.uno/docs/articles/concepts/overview/why-uno...
Uno: Create Beautiful Cross Platform .NET Apps Faster - https://news.ycombinator.com/item?id=40231624 - May 2024 (147 comments)
Windows Forms is good, but limited. WPF is almost perfect, but Avalonia is like that + cross platform.
The other ms gui frameworks are a waste of time, skip those.
But since they pivoted to cloud, web AI and they don't profit too much from people building desktop and mobile apps, I guess Microsoft won't invest much resources into MAUI or any GUI toolkit.
Uno Platform promotes the use of .NET, so is therefore a tech-partner to Microsoft.
And with Hot Design (https://platform.uno/hot-design/) Microsoft's .NET Ecosystem becomes richer for a tool that no other developer ecosystem has. It is A RUNTIME VISUAL DESIGNER for .NET Apps. It turns the App you are developing into a Visual Design surface you can drag-and-drop components on, data bind,etc.
In the .NET community we have the ideea that should be one tool for one job, one library, one framework etc. Now for Gui we have Avalonia, Uno and MAUI which can lead to fragmentation, noise and clutter and can reduce code reusing.
It would be nice if most people will pick one tool and stick to that.
I've been a .NET developer for 20 years. This is not true.
xUnit, NUnit, MSTest
Autofac, Ninject, Microsoft.Extensions.DI
Quartz, Hangfire
Especially when there is also collaboration. Uno team collaborates quite a bit with .NET, Visual Studio and MAUI teams.