Readit News logoReadit News
judah · a month ago
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 larger.

These all may seem pedantic, but they contribute to the feeling "this is not the real web."

This is the same problem with Java applets in the late '90s, Flash and Silverlight in the early 2000s. They are islands of richness within a web page, but those islands are, well, opaque to browsers, search engines, and virtually all web tooling.

taftster · a month ago
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 could have a bit of the old.

xg15 · a month ago
It's also an interesting question, why, in traditional rich desktop applications, I can't say I have ever missed the ability to select and copy text from the UI chrome - whereas on the web I'd definitly miss it and in badly designed mobile apps, I often do.

I think some part of UI design degraded with the web, where there used to be a clearer distinction between "user data" and "app chrome" areas than there is today.

I'd also like if we could get back to selections of more complex data types at some point and not just treat everything as text. UI toolkits have all kinds of lists and treeviews to model selectable entities, whereas in the browser, there just a single huge wall of text for everything.

Kye · a month ago
I've had the same thoughts as I watch YouTube slowly but steadily subsume "podcast."

We were all worried about something like Spotify killing off open RSS feeds for them, but there's a growing number of people who have no idea what a podcast is because people are using the term for YouTube channels with full video and no RSS feed (video or audio) to match it. Sometimes language drift is good, but not when it's done on purpose to get rid of a free and open technology in favor of silos.

"Wherever you get your podcasts" only works as long as it's built on top of an open method of syndication.

ttd · a month ago
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!

a2128 · a month ago
Not using the standard web stuff usually means it's also an accessibility nightmare, tried using a screen reader on the demo and it doesn't work at all unfortunately
afavour · a month ago
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. Accessibility remains the missing component.
ludicrousdispla · a month ago
I'd just like the PgUp, PgDn, and arrow keys to reliably scroll a web page.
charcircuit · a month ago
What screen reader? Over the last few years AI's ability to understand images has improved a lot.
LeFantome · a month ago
MAUI was never intended for the web. This is not what Microsoft wants you to use it for.

WASM is just one of the platforms that Avalonia supports and so, if you run MAUI on Avalonia, you can run it on WASM.

If you do that though, it is going to be like rendering any other desktop GUI toolkit in WASM. It is not a web app. I mean, it is cool you can do it and MAUI in WASM is better than no web capability at all I guess. But you would never set out to create a web app in MAUI.

MAUI on Avalonia on WASM is really a modern replacement for Silverlight. And it will likely be about as popular.

The really cool thing is being able to target the Linux desktop finally. A lot of people will love that.

And, while MAUI was meant to use native controls on each platform, many people may prefer the Avalonia approach of having your app render the same everywhere.

JamesSwift · a month ago
Blazor+MAUI has absolutely been a focus of development from the start. What Im seeing with this is that MAUI is somewhat throwing in the towel and hoping to offload to avalonia to take the torch of development. I'm sad, because I was pretty in the weeds with MAUI at the start, as I was building a greenfield app at the time. It had a ton of potential to be a reimagining of Xamarin and how it fit into the broader .net ecosystem but they just shot themselves in the foot (both MAUI team and the broader MS dev efforts).

I havent been in that space for a couple years now so maybe they have gotten better, but I doubt that. I appreciate the heroic efforts of the MAUI team, but I think its just the unfortunate reality.

cheema33 · a month ago
> 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.

I was intrigued before I read this. This stuff is a non-starter for me.

piskov · a month ago
Can you ctrl-f in an iphone app? Or in vlc? It’s an app, not a document.
mhitza · a month ago
I think it's the same problem that flutter web has, and probably any other canvas/wasm based backend? Those features still need to be implemented, while still missing out on accessibility?
DeathArrow · a month ago
>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.

That's because MAUI is intended for mobile and desktop apps.

If you want to use .NET for front-end web SPA, you can use Blazor which will behave exactly like you asked.

cebert · a month ago
If this can’t support web standards it’s a nonstarter for me.
osigurdson · a month ago
Agree. The examples feel a bit like I'm using a specific window in remote desktop session.
jermaustin1 · a month ago
> They are islands of richness within a web page.

1000% - as a dotnet developer with 20 years under my belt, I currently don't see the reasoning behind this. With modern browsers, CSS/JS/HTML does SO much, you just don't have XAML. I like XAML (conceptually), but there is JSX for similar functionality, and it is at least compiled into real HTML, not just a applet.

I felt the same with silverlight as well. Why do we keep trying to reinvent Flash? We already have a far superior C# Flash in Unity compiled for Web (kind of a joke, but also not).

nicoburns · a month ago
Yeah. I think you need to render to actual DOM nodes when targeting the web if you want a first class experience.

We're betting on this over at https://github.com/DioxusLabs/dioxus where we're building a cross-platform UI solution that enables you to do this by having a web-centric API (we are developing our own custom HTML/CSS renderer for native platforms).

kazinator · a month ago
Let's move the goalposts downfield. If you can't go into developer mode and mess with the DOM, and JS, it's not real web.
wiseowise · a month ago
Unironically – yes.
BoorishBears · a month ago
Am I losing it or am I looking ClearType on OSX?!

I get the value in this and realize it's not for your polished -$500 ARPU consumer social apps, but man this is weird.

(Also if anyone who worked on it is here, it's crashing for me on OSX 26, Chrome 142.0.7444.135, if I run an animation and hit back as the animation finishes)

VikingCoder · a month ago
I can't hit my browser's back button.
pjmlp · a month ago
Isn't Webassembly cool?

We got all the plugins back.

mattfrommars · a month ago
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.

oaiey · a month ago
The answer to that is well known: Windows division builds WinUI/Win32 as their native C++/COM API, Office division went to React on their path to the web and the dev division fills gaps (WPF) and provides tools for external and internal devs (Maui for cross platform uis).

It is history not the lack of will. At one point the windows division was in shambles (remember vista) and WPF pops up. At another point, the windows and dev division have no answers to the office group (because you know who uses non win tech) so they went react. And then external devs screamed: where is the .net cross platform story so Microsoft acquired xamarin and later form Maui out of it.

It is history not lack of trust. But the outcome is the same: lackluster support for all UI toolkits.

bonesss · a month ago
Well summarized, and just as shocking today as it was every minute while it developed.

Someone needs to remind those cats that they own the platform. Being able to sanely develop apps for and on that platform should be possible, and UI kinda-sorta matters for that. At a certain point with the MFC they had it dialled in, while pioneering asynchronous browser tech, with many best in class tools. Decades later with a cross-platform cloud-centric stack they have a shrug emoji as big and wide as the eyes can see, and no sense this basic question of development will ever get improved.

Ballmer chanting ‘developers, developers, developers …’ springs to mind.

dukeofharen · a month ago
I understood (can not confirm it though) that the new start menu in Windows 11 was built using React Native, so yet another ui framework in the mix.
fainpul · a month ago
This feels a lot like the Linux desktop ecosystem where many apps have a different look and feel (GTK, Qt and a bunch of others).
TiredOfLife · a month ago
> Windows division builds WinUI/Win32 as their native C++/COM API

Windows for many years is just a pile of different browser engines stashed one atop another running broken javascript/xml with react native on top.

zamalek · a month ago
As I understand it, Sinofsky is largely responsible for this mentality in the various places he worked across Microsoft: he instilled a distrust for anything originating out of other teams.
Kyrio · a month ago
These days, I think Microsoft's web-based desktop apps mostly use WebView2 directly instead of Electron, so they don't have to bundle a browser. I think for Teams it happened at the same time that they moved from Angular to React.

The point about them not using MAUI still stands though. From what I understand, the .NET world has either adopted different abstractions like Avalonia, or stuck with tried and tested solutions like WinForms with proprietary controls. After all, they've seen this before with WPF which was never fully adopted by MS either, or with the debacle around Metro/WinRT. You're never quite sure what Microsoft wants you to use or will support in the long term. They also make Blazor, which is a different (and likely more accessible) way to build web apps with .NET.

Since we're on the subject of companies not dogfooding their shiny tech, is Google really using Flutter for their own apps? I feel like the evolution of the Android ecosystem towards Kotlin and Jetpack Compose implies otherwise.

weq · a month ago
Ive been building these apps (cross platform web based ui, C# backend) for years, and yes its finally good to see MS catch up and validate the architecture ive pushed since Xamarin. I wrote once wrote an electron version of this archand thought wtf are people doing? Things can be so much easier when you use a platform that knows how to multi-thread. At stages i had to build adapters/upstream patches for Chromeiunium directly onto Mac and Linux, and its was a major pain having to debug C calls.

Ive been using the same framework now for 10+yrs on apps in the stores, i wrote a small layer infront of the webviews and can swap out webkit, chrome, edge on demand. You really dont need much, just a constand way to boostrap logic and UI. 90% of code is shared across all platforms, there are def differences in WebView engines that you sometimes come across but those parts just get swapped out with browser specific JS. Ive found bugs and worked with browser teams at all vendors doing this and to see how simple this is with Dotnet these days compared to when i started is refreshing. Its easily the most stable cross-platform framework around, if you are stuck using something like flutter i pitty you, its just eletron with another skin. I can swap out and integrate directly with OS libs when i need to do stuff that the dotnet team hasnt gotten around to yet without re-writing. This has mean i really havnt used MAUI at all, but if i need to or could take advantage of it i can mix it on an Ui element by element basis. I prefer webUIs though, i have the chose to handle anything with either JS, WASM, or a combination. I can use traditional JS frameworks or traditional Native UI frameworks.

If i had started this process later, avalonia seemed to have the closest thing i required. It was just a bit a more complex /based on WinUI (which i dont really enjoy) but it supported all platforms and gave lower level api access. MS were smart, that canabalanised all these community effort and brought them into the fold. Every dotnet webview impl was a successfull community driven project before. They didnt write anything themselves from scratch.

mdasen · a month ago
> 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.

debugnik · a month ago
Teams is not older than MAUI because MAUI was mostly a rebrand of Xamarin Forms.
tcoff91 · a month ago
Microsoft seems more committed to react native than MAUI.
latentsea · a month ago
Never build a frontend on a .NET technology. Period. They always end up unsupported in the end. Just use standard web technologies and thank yourself later. I've been a .NET dev for a decade now and that's what I've learnt.
pathartl · a month ago
Blazor is pretty great. It is mature at this point and MS is using it internally more and more. Trying to go back to something like React makes me shudder. It's not perfect, but it's better than many alternatives.
apatheticonion · a month ago
Tauri is pretty awesome. Rust backend, WebView front end. Nothing uses native desktop elements of course.

To be fair, there is no practical way to write native desktop applications using stylistically consistent UI elements AND have it be portable AND in a language that you enjoy using.

As far as I can tell, Windows 11 doesn't even have a toolkit with platform UI elements.

GTK on Gnome is pretty okay and GTK-rs is not dissimilar to React. Who know what MacOS uses but something something Swift XCode.

But I agree, just use web technologies. Write once, ship everywhere (and hum loudly when people complain about poor performance - joking, it's the vendors' fault we have to use web technologies).

brokencode · a month ago
As wrong as it feels to have to use Electron for a desktop app, it really is the safest approach for most applications.

Qt also seems to be a good option, though there are licensing considerations for commercial applications.

I’m excited for various upcoming Rust options as well, but right now Electron is the battle tested option.

I am curious though about Avalonia. I’ve heard good things, but it’s definitely a smaller player compared to Electron. I’d most likely choose it over Microsoft’s first party frameworks.

vjvjvjvjghv · a month ago
Same for me. I used to do desktop dev with MFC and WPF but these days you would be suicidal to build any app that needs to last for a few years on .NET. If totally needed, WPF is still the best bet. Otherwise I am pushing everything I can to the web.
phito · a month ago
I sure never will write a single line of JS/TS again now that Blazor exists and is stable.
issafram · a month ago
So you've never used WinForms, WPF and MVC
password4321 · a month ago
Except WinForms, spectacular for Windows-only utility GUIs.
layer8 · a month ago
Generally speaking, I wouldn’t take what Microsoft uses as guidance nowadays, given a lot of the software they produce. (This is not an endorsement of MAUI.)

Deleted Comment

vjvjvjvjghv · a month ago
That has been a problem since forever. Microsoft themselves rarely used the tools they gave to developers. SourceSafe, MFC, WPF and the .NET frameworks that followed were only for 3rd party devs. And when they used these tools, the software usually got worse. One example was Visual Studio. 2008 was really nice with great customization and good performance. Then they wrote 2010 with MFC and it was slow and lost tons of features.

I think it’s better on the server side with ASP.NET.

As far as I have heard MAUI is pretty buggy and has lost momentum. It will probably go on the long list of basically abandoned .NET UI frameworks

okanat · a month ago
You are mixing your UI frameworks and versions. VS 2010 is written in WPF. WPF is / was Windows Vista's and 7's UX. Old Control Panel in Win 10/11 still is WPF. All the wizards like ClearType wizard is WPF. MFC is much older (1992).

Unfortunately Microsoft likes to jump into bandwagons and many engineers at the company seem to like to reinvent stuff rather than adopt. WPF, WinUI2 and WinUI3 all share the same Xaml based structure. So they could have adopted WPF.

It is not that Microsoft doesn't develop advanced UIs with their frameworks. WPF is still well-used by Windows and other Microsoft utilities like Windows Terminal. They are just stupidly abandoning their built up bases for silly industry fads.

They jumped into tablet / touchscreen / hybrid-mobile-desktop bandwagon in late-2010s and tried to force WinUI as an UWP-only feature. It resulted in low adoption. They didn't adopt WPF to have same theming.

When WinUI2 failed, they tried to make modern C++ a reality and tried to remove UWP restrictions which is a good decision. However they diverted quite a bit resources into AI slop generation now and WinUI3 just languishes.

Same for MAUI. They tried to get into multi-platform, multi-device framework as a way to generate leads into Microsoft ecosystem.

They try to use various frameworks and UI stuff to get people hooked into the ecosystem and find ways to upgrade them into Azure and M365 customers. It is meaningless and tiring. All of those could be only WPF.

It is like Google and its many Bazel-like build systems (but not full Bazel) for each of Chrome, Fuschia and Android.

DANmode · a month ago
Why invest strongly in a desktop-first framework when society aren’t too sure about it?

MAUI was to get them through to where everyone wants webapps - served from an Azure backend, of course.

georgemcbay · a month ago
MAUI was horrible when I tried using it about a year ago, tons of bugs, pretty iffy comms/support from the MAUI team as to timelines when things might get fixed, etc.

Eventually dumped it and moved to Kotlin Compose/Multiplatform, which is just so much better at achieving a similar goal (though, obviously, without being part of the .NET ecosystem).

gfody · a month ago
microsofts own stuff never seems to be what gets momentum. there's a strong aftermarket for better ways like back in the borland era bcb and delphi, the more things change the more they stay the same!
arkensaw · a month ago
In case anyone is confused

> Using .NET MAUI, you can develop apps that can run on Android, iOS, macOS, and Windows from a single shared code-base.

This new development adds Linux and Browser to that list.

I recently tried out .NET MAUI to see how easy it was to build a hello world app. It was quite messy getting it setup on Mac but eventually I got a simple hello world app working. Nice to use XAML again after all these years. I always liked it.

ForHackernews · a month ago
Is it like Flutter?
pie_flavor · a month ago
Is Flutter like WPF?
coffeeaddict1 · a month ago
> We are collaborating with the Flutter team at Google to bring Impeller, their GPU first renderer, to .NET. That work is already in progress and as it lands, the MAUI backend will inherit those gains.

Interesting, I wonder how good Impeller is and if it's actually better than the new Graphite backend of Skia.

keyle · a month ago
More info here [1]

the big difference is this

    Predictable performance: Impeller compiles all shaders and reflection offline at build time. It builds all pipeline state objects upfront. The engine controls caching and caches explicitly.
or as described here [2]

    Flutter’s Impeller renderer outperformed Skia. Impeller eliminates runtime shader compilation stalls, delivering lower frame times and more stable performance. For animation-heavy, graphics-rich apps, enabling Impeller significantly reduces jank and provides a smoother user experience.
[1] https://docs.flutter.dev/perf/impeller

[2] https://medium.com/@raiden.lpf666/skia-vs-impeller-a-perform...

nicoburns · a month ago
Yeah, buts that's compared to the older "ganesh" version of Skia. The new "graphite" version purportedly brings all those same advantages.
BatteryMountain · a month ago
This is actually really good news, as impeller was built to replace skia. Its one of the best technical bits in the flutter stack in my opinion.
DeathArrow · a month ago
Impeller is designed with mobile apps in mind while Graphite is designed with desktop apps in mind.
coffeeaddict1 · a month ago
I don't think this is correct. Chrome uses Graphite and their biggest supported platform is Android.
mwkaufma · a month ago
My kingdom for a UI toolkit that can be used to make real CAD programs, and not yet-more things that just look like webviews and could just be a webpage.
mrcsharp · a month ago
This 100%. I hate the trend of UX/UI that got unleashed upon us in the last decade of the web. Everything is scaled up for touch interactions and has to have fancy animation and very "comfortable" spacing around elements.

I wish we can go back to UIs that focus on information density and usability. I love looking at Japanese websites because of this.

Antibabelic · a month ago
Why do you hate it?
jeroenhd · a month ago
You can make CAD programs with any toolkit as long as you have a GPU surface to render your actual CAD output to. You can do anything with this toolkit from weather apps to video editors, map analysis, and PDF editors.

You can check out the Avalonia demo reel to see what you can already do with the .NET GUI stack that MAUI now uses on Linux and on the web: https://avaloniaui.net/showcase

zerr · a month ago
GPU surface is one thing, but I believe OP means the actual UI controls: buttons, tabs, combo boxes, data grids, multi-window support, etc...
zerr · a month ago
Yes, that's my litmus test for GUI toolkits - is it suitable to develop Photoshop-like software? Or is it only good for yet another weather or todo apps?
mwkaufma · a month ago
Yeah, oddly Avalonia mostly passes that litmus test, but this added MAUI layer doesn't.
wvbdmp · a month ago
You could look at Godot. Their own editor is made with Godot’s own UI toolkit and in a CAD application you probably don’t care about some of the downsides this would entail for a CRUD app (accessibility, perhaps text layout etc.).
thewebguyd · a month ago
QT?

WPF & WinForms are also still around

animal531 · a month ago
I'm currently in the process of creating a piece of development software and needed a cross-platform GUI environment to do it with.

I first tried Maui because its seemingly so highly rated and recommended. It turned out to be a complete nightmare. Even just installing it didn't just work, I had to spend 2-3 hours just to get that going and then when trying some basic things for my UI it turned out to just not be supported.

The next on the list was AvaloniaUI and wow, it was the complete opposite experience. Installation was a breeze and with only a marginal bit of googling I managed to do all kinds of things such as making a top-most only borderless transparent window etc.

The interface in Visual Studio could be a bit better overall, but compared to Maui its light-years ahead.

genezeta · a month ago
In case anyone cares:

I go to "Launch MAUI in your browser" [0] in section "Try It Right Now". I click on "Word puzzle - A word puzzle game", third of the demo apps. I click on the "Randomize" button. Tiles start shifting around. I click on the left arrow at the top to go back to the main menu. The whole thing becomes locked with the word puzzle on the background and the main menu on top of it. Nothing is clickable any more.

This happens on various different browsers.

[0] https://brave-sky-0c7a41a03-preview.westeurope.3.azurestatic...

cachius · a month ago
Yeah the shuffling takes ages. Once it's finished you can go back. Also the movement of the tiles feels very strange with the mouse. The Click-Drag sometimes works and sometimes doesn't. No visual feedback is given on click. The tiles don't move but teleport, which is strange for a click-drag interaction. A simple click would have been better, or a move animation. Someone else noticed it, too https://news.ycombinator.com/item?id=45893986#45897805
boobsbr · a month ago
Tried the calculator:

7/9 = 1

Tried the RPN calculator:

Can't push any numbers to the stack, so I can't use any operator.

Dead Comment

pshirshov · a month ago
Finally, finally, I can use something apart from Kotlin Multiplatform and Electron to build slow alien-looking applications with annoying animations and phone-styled UX for Linux (and, let me guess, there is no native Wayland backend). Of course the set of widgets is comprehensive - there are button and checkboxes, what else might we need.

I'm wondering why all the demos of modern UI toolkits look and feel worse than Delphi 1 demos from prehistoric age.

davey48016 · a month ago
Avalonia does not have a Wayland backend now, but they say it's a priority: https://avaloniaui.net/blog/bringing-wayland-support-to-aval...

I'm sure there's a better place to track the progress on that.

pshirshov · a month ago
If I remember correctly, it's a priority for like 5 years or so.
nu11ptr · a month ago
You can (and could have for a while now) just use Avalonia natively. It supports Windows/Mac/Linux/WASM natively already. I think this work is primarily for those who already have MAUI apps and want to target Linux/WASM from an existing codebase.