Live data from Hacker News

.NET MAUI is coming to Linux and the browser

avaloniaui.net

51–60 of 276 posts

Re: .NET MAUI is coming to Linux and the browser

#51
post #22

I don't know if it has since improved, but .NET MAUI was really, really rough when I created a mobile app for my employer last year. I'm talking basic things - changing basic colors on the toolbar (1), putting non-text content inside a button (2), basic trigger behavior (3), to list a few. Not to mention that .NET UI has been years behind on hot-reload and developer tooling. Additionally, It was a fight to keep our a…

Well, I guess Avalonia can solve 4 at least as you can negate a binding[1]. Good news for me as I recently started an Avalonia project, and thought you did still need an InvertedBoolConverter.

[1]: https://docs.avaloniaui.net/docs/reference/built-in-data-bin...

Re: .NET MAUI is coming to Linux and the browser

#52
post #7
post #6

This is interesting for sure. Kudos for bringing this capability to the web! One issue the demos reveal is, it doesn't _feel_ like the web. That is, I can't hit Ctrl+F to find text on a page. I can't select text with my cursor. I can't copy the address of a hyperlink. On my phone, I can't hard press on an image and share it to others. Screen readers can't handle it. I can't press a shortcut key to make everything lar…

That's not pedantic at all! Indeed, without these capabilities, it is by some definition not the real web. This hits into that concept of what exactly the "web" is. Is it just a media transport system? Or is it something more than that. Of course, we could cite Tim Berners-Lee here or Roy Fielding in this discussion. But at minimum, I think a lot of us are tired of the app-lification of the web and somewhat wish we c…

IMHO there's no gatekeeper of what the "real" web is or should be. It grew organically - regular people building things they liked or needed. It's certainly more of a life necessity than it used to be, but that happened organically too.

I know there are strongly held opinions about this, but I for one see no reason why the "application web" can't peacefully coexist, and interlink with, the document web. In my opinion it therefore makes sense to allow for different models for the application web, ones that do not revolve around a document.

On the other hand, if we're just bashing on javascript being the lingua franca of the web, that's a train I'll happily board!

Re: .NET MAUI is coming to Linux and the browser

#53
post #8

Is there anything we can do to stop it? Or will it come anyway?

You can make your own better system which supports GUI and provides a reasonable runtime that works on all current major platforms and provides development tools, years of ecosystem development, etc. etc. If it's better than what MAUI provides and you can support it for years, I'm sure that could take over and many people would use it instead. But... will you and why?

I started moving to using GO and Fyne for cross-platform GUI tooling. GO 1.21 supports Windows 7 with Fyne. Ya still have to support Windows 7 for work. No more wasting time with managing a Windows installer.

QT Framework is still one of the best for cross-platform desktop applications when speed is key.

Re: .NET MAUI is coming to Linux and the browser

#54

In the .NET ecosystem, I have noticed people to shame .NET MAUI because Microsoft themselves don't use this framework - Microsoft Team is built on Electron and not MAUI. Why build a product on MAUI when Microsoft aren't too sure about it.

> Microsoft Team is built on Electron and not MAUI

Microsoft Teams was released in March 2017. .NET MAUI was released in May 2022. In 2021, Microsoft replaced Angular with React and moved away from Electron to WebView2 (using the OS' built-in renderer rather than a bundled Chromium). So even the rewrite was a year before MAUI (and they probably started the rewrite before 2021). Plus, part of the point of using React there was that they could basically replace Angular bit by bit.

Microsoft Teams is just older than MAUI. It's like asking why Hadoop is written in Java and not Go or Rust or why Kafka is written in Scala and not Kotlin. Kafka was open sourced in January 2011 and Kotlin came out in July 2011. Kotlin wasn't an option given that they were developing it years before the language was released.

That's not to say that Microsoft's attitude toward MAUI doesn't leave concerns. There was some news a while back about a bunch of layoffs around MAUI. It's always concerning when there doesn't appear to be any dog-fooding going on - is this just some junk they're throwing at us that they don't want to use? I think some hesitation also comes from the Blazor side where it's looking like Microsoft doesn't really see Blazor as a React competitor so much as a way for internal company apps to be made quickly - in contrast to the Google IO presentations on WASM support for Dart/Flutter where they were emphasizing better-than-JS performance.

That said, Microsoft hasn't really released a lot of new (green field) stuff over the past 2-3 years. What product should they have made in MAUI, but didn't? You can't say Teams because that was a giant product way before MAUI even existed. Most of what Microsoft is doing is work on existing products - things they released before 2023/2024 and were in development before MAUI existed. Flutter had a 5 year head start on MAUI.

But there certainly is a feeling that Microsoft doesn't feel committed to it or at least not enough to put its weight behind it.

Re: .NET MAUI is coming to Linux and the browser

#59
post #40
post #31

Earlier quoted context omitted.

I wonder if at any point browsers will offer a low level accessibility API for you to manually describe components. I’ve worked in the web for years and I’m a big believer but it’s also indisputable that Canvas offers more performant UI rendering than HTML when done correctly. I don’t think it should ever be used for web “documents” but web apps already bastardize HTML and CSS to achieve their aims anyway. Accessibil…

As far as standards is concerned, that API is ARIA [0]. W3C already offers guides for accessibility and canvas. But no one who opts for canvas turns around and remembers to do their landmarks.

Then I’m showing my ignorance… how do you add ARIA landmarks to Canvas elements?

Re: .NET MAUI is coming to Linux and the browser

#60
post #59
post #40

Earlier quoted context omitted.

As far as standards is concerned, that API is ARIA [0]. W3C already offers guides for accessibility and canvas. But no one who opts for canvas turns around and remembers to do their landmarks.

Then I’m showing my ignorance… how do you add ARIA landmarks to Canvas elements?

You would create transparent DOM elements in the right places with the right ARIA attributes and content, I suspect.
Post reply on HN