News for hackers. Stuff that matters.
Re:Uno: Create Beautiful Cross Platform .NET Apps Faster by userbinator on Thursday May 02, 2024 @12:57AM (#40232844)
It's .NET, mentions Windows and native, yet none of the screenshots look anything like native Windows controls.
Re:Uno: Create Beautiful Cross Platform .NET Apps Faster by humzashahid98 on Thursday May 02, 2024 @02:34AM (#40233316)
Uno wants applications to look the same across platforms (as Flutter does) but still wants to use native controls. So their approach[0] is to have default styling applied to every control which makes the native controls look the same on each device [0].

I think the main benefit with this approach is expected-behaviour (like how different desktop operating systems have different textbox behaviour), and that whatever accessibility you get by default with native controls is there. [1]

I don't really find their approach to GUI development compelling though, with them choosing a middle ground between "wrapper around native controls" and "implement everything yourself".

[0] Except on Linux and web, where Uno draws everything itself, imitating controls that look like GTK (on Linux) or UWP/WinUI (on web). These are the platforms I briefly tested on and I didn't have an enjoyable experience with the output due to non-native/non-expected behaviours.

[1] Page on accessibility: https://platform.uno/docs/articles/features/working-with-acc...

Re:Uno: Create Beautiful Cross Platform .NET Apps Faster by pjc50 on Thursday May 02, 2024 @05:29AM (#40234280)
That's the choice people face: "native" (different on all platforms) vs "synthetic" (looks the same but loses true native functionality).
Re:Uno: Create Beautiful Cross Platform .NET Apps Faster by sasakrsmanovic2 on Thursday May 02, 2024 @09:18AM (#40235896)
Correct - and with Uno you get to chose either one of those approaches - https://platform.uno/pixel-perfect/
Re:Uno: Create Beautiful Cross Platform .NET Apps Faster by jlaban-uno on Thursday May 02, 2024 @07:58AM (#40235125)
Uno Maintainer here - Thanks for trying out Uno! At this time, the default render mode is provide a uniform look across platforms, and it's possible to alter the theme using Material, Fluent or Cupertino, or to design your own theme using control template styling, or even use native controls directly where applicable.

On Linux, we've just released our support for X11, removing the need for GTK. As we're drawing the whole app surface, we're always interested in adjust the UX of our controls on individual platforms. If you have examples, let us know.

Finally, for WebAssembly, our current rendering backend is using the HTML DOM, which means that accessibility and other native behaviors are functional. Same here, if anything accessibility related is missing, we're all ears!

Re:Uno: Create Beautiful Cross Platform .NET Apps Faster by humzashahid98 on Thursday May 02, 2024 @08:31AM (#40235417)
Hi there. Appreciate the response!

I didn't know that the HTML DOM is being used for Uno's web output but that's good to hear. I was under the impression that things were being drawn to canvas (like how Flutter's web output works) but functionality like Ctrl-F (text search) works on https://gallery.platform.uno/, showing that's not the case.

I'm not sure why I had the impression that the web output used HTML canvas, but maybe that was something that changed since I last looked a few years ago or there might be another reason I was mistaken.

I think one misleading thing that gives the wrong impression is that text isn't selectable on Uno's web output (like https://gallery.platform.uno/), similar to how text isn't selectable on HTML canvas.

I think it's worth having a discussion about that with other employees, because it's one divergence from user expectations about how the web usually works (but application developers may also prefer to make text not selectable so it may be the behaviour you want in some cases after all).

Re:Uno: Create Beautiful Cross Platform .NET Apps Faster by jlaban-uno on Thursday May 02, 2024 @09:38AM (#40236116)
Indeed, text selection is a specific behavior that was chosen to be disabled by default in order to be closer to the original behavior of WinUI on desktop. This is a configurable behavior on the TextBlock control, though.
Re:Uno: Create Beautiful Cross Platform .NET Apps Faster by alkonaut on Thursday May 02, 2024 @01:42AM (#40233051)
I don’t think native here refers to the control styling being similar to Win32 on Windows.
Re:Uno: Create Beautiful Cross Platform .NET Apps Faster by jeremycarter on Thursday May 02, 2024 @01:14AM (#40232919)
I could be wrong, but it might be able to host native components or draw your own.
Re:Uno: Create Beautiful Cross Platform .NET Apps Faster by francoistanguay on Thursday May 02, 2024 @09:29AM (#40236012)
Indeed, an Uno app is a native app, it uses UIKit on iOS, Views on Android, HTML on Web, except on Linux where you only have access to our Skia renderer.

Therefore you can embed native controls.

Re:Uno: Create Beautiful Cross Platform .NET Apps Faster by KacharKhan on Thursday May 02, 2024 @10:25AM (#40236671)
"on Linux where you only have access to our Skia renderer" ... means what? Can I make a basic GUI app on Linux with Uno. If yes how ?
Re:Uno: Create Beautiful Cross Platform .NET Apps Faster by francoistanguay on Thursday May 02, 2024 @10:43AM (#40236887)
Yes, on Linux it behaves similar to Flutter and draws directly to a Skia Canvas.

It used to have a dependency on GTK but no more since the 5.2 release.

There's just no notion of "native controls" that you can embed in an Uno Linux app like you could have if you wanted to embed a 3rd party native UIKit control on iOS.

Re:Uno: Create Beautiful Cross Platform .NET Apps Faster by pjmlp on Thursday May 02, 2024 @01:40AM (#40233043)
Uno is based on UWP, on Windows it uses the native UWP stack.
[dead]
Re:Uno: Create Beautiful Cross Platform .NET Apps Faster by pjmlp on Thursday May 02, 2024 @02:00AM (#40233147)
Dear neosunset, go make .NET advocacy elsewhere, and stop identifying yourself with the platform.

Thank you very much.

Re:Uno: Create Beautiful Cross Platform .NET Apps Faster by neonsunset on Thursday May 02, 2024 @02:10AM (#40233199)
Uno is a third-party open-source project. It is not related to UWP beyond the fact of being a .NET GUI framework.

It's like complaining that a particular Yamaha bike is bad because a Yamaha digital piano of particular model is bad.

Do take pills before posting, thanks.

Re:Uno: Create Beautiful Cross Platform .NET Apps Faster by pjmlp on Thursday May 02, 2024 @02:32AM (#40233309)
Not only do I have taken my pills, I am well aware of what abstraction layer Uno makes us of, when deploying on Windows.

Which if you had done the same, instead of being hurt in your .NET feelings, you would also be aware that what differentiates Uno from Avalonia, is that the former offers a migration path for UWP developers, while the latter does the same for WPF developers.

I said enough times "how high?" when Microsoft shouts "Jump!", since MS-DOS 3.3 was new on the market.

So if you cannot face criticism, well, that is on you to get used to.

And if trolling me makes your fancy, I hope you have been equally trained on BBS and Usenet on their darker days.

Re:Uno: Create Beautiful Cross Platform .NET Apps Faster by jlaban-uno on Thursday May 02, 2024 @07:36AM (#40234965)
Uno Platform maintainer here - Uno is compatible with both WinAppSDK/WinUI and UWP API sets. Our default project templates have been on WinUI for two years now, UWP mainly being supported for temporary upgrade scenarios to WinUI.
Re:Uno: Create Beautiful Cross Platform .NET Apps Faster by sasakrsmanovic2 on Thursday May 02, 2024 @09:07AM (#40235776)
Nope it is not.