9 ms·
.NET MAUI is coming to Linux and the browser
- mwkaufma 11mo agoMy 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 11mo agoThis 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 11mo agoWhy do you hate it?
- jeroenhd 11mo agoYou 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 https://avaloniaui.net/showcase
- zerr 11mo agoGPU surface is one thing, but I believe OP means the actual UI controls: buttons, tabs, combo boxes, data grids, multi-window support, etc...
- jeroenhd 11mo agoI don't think that's a problem? The .NET library this is about, that now supports MAUI code unchanged, is already used in programs like https://github.com/sourcegit-scm/sourcegit/blob/master/screenshots/theme_dark.png https://github.com/sourcegit-scm/sourcegit/blob/master/scree... and https://github.com/GPUOpen-Tools/GPU-Reshape/blob/main/Documentation/Resources/Images/Cover.png https://github.com/GPUOpen-Tools/GPU-Reshape/blob/main/Docum...
- mwkaufma 11mo agoThis + a reasonable data transaction layer that supports undo and reasonably large (multi gb) data structures.
- zerr 11mo agoYes, 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 11mo agoYeah, oddly Avalonia mostly passes that litmus test, but this added MAUI layer doesn't.
- thewebguyd 11mo agoQT? WPF & WinForms are also still around
- wvbdmp 11mo agoYou 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.).
- SigmundA 11mo agoAvalonia is also working towards using the new Flutter rendering backend Impeller which is being used to replace Skia, which is used by Chrome for rendering, turtles all the way down: https://avaloniaui.net/blog/avalonia-partners-with-google-s-flutter-t-eam-to-bring-impeller-rendering-to-net https://avaloniaui.net/blog/avalonia-partners-with-google-s-...
- js4ever 11mo agoToo little, too late. Desktop apps are mostly dead.
- labrador 11mo agoThat's why desktop machines and monitors can't be given away. Nobody wants them /s
- malkia 11mo agoNot in the industry I work in - AAA gamedev. Art folks typically would have two, or even three monitors - so good solutions for docking across them (and still working) are required. A chrome browser by itself can't work that - it's great for many things, but not for Creative Tools.
- lazypenguin 11mo agoDesktop UI toolkits are dead or stagnant but the desktop ui is still king IMO
- zigzag312 11mo agoI would much rather see web apps become canvas rendered WASM versions of desktop apps than desktop apps become webview apps. Latter is what we have been seeing in the recent years unfortunately. Canvas rendered cross-platform UI frameworks like Flutter & Avalonia targeting browsers (WASM), might shift the balance back in favor of desktop UI.
- LeFantome 11mo agoMAUI is first and foremost a mobile UI framework. It was built for iOS and Android. The desktop is added on as a bonus so that you can target macOS and Windows as well. If you are building a Windows desktop application though, Microsoft does not want you to use MAUI. You use MAUI because iOS and Android are your top platforms and you want to target macOS and Windows without writing dedicated applications. Linux has always been missing. This Avalonia port fills that gap. You would not target the web with MAUI either. I guess "you can" now because WASM is one of the platforms that Avalonia supports. Again, I guess you might if you already have a MAUI app and do not want to create one for the web. But you would never set out to create a MAUI app for the web.
- sylens 11mo agoMAUI has felt like a barebones project for years. Forgive me if I don't believe this is the beginning of more robust support.
- labrador 11mo agoMicrosoft acts when it feels competitive pressure. I think Google's Flutter has been validated so Microsoft feels the need to respond.
- keyle 11mo agoDart is a wonderful language though. I'm not switching back to using .NET anytime soon.
- labrador 11mo agoI love Dart, which I consider to be Google's C#. Either language is fine with me.
- drykjdryj 11mo agoGo is google's c#.
- labrador 11mo agoDart is much closer to C# than Go is
- zigzag312 11mo agoOriginally, C# was more like Dart, but modern C# is like both Dart and Go combined and that's (IMO) the beauty of it. Newish low level features of C#: https://em-tg.github.io/csborrow/ https://em-tg.github.io/csborrow/
- Quothling 11mo ago
- judah 11mo agoThis 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 11mo agoThat'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 11mo agoIt'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.
- kyleee 11mo agoNot being able to copy text from UI interfaces is just normalization of deviancy. It should be the norm and it’s subpar when not possible imho
- imcritic 11mo agoIs there anything we can do to stop it? Or will it come anyway?
- keyle 11mo agoIt looks like it comes just as a wasm payload, so, you can only vote with your feet.
- piskov 11mo agoWhy tho? We really need Silverlight reborn. Also C# and .net overall are so damn good. Anything to abolish the js and constant hacks upon hacks
- noveltyaccount 11mo agoI want WASM+DOM so that we can use any language on the web
- breve 11mo agoWASM and DOM in Rust: https://www.leptos.dev/ https://www.leptos.dev/ Uno can render to canvas or the DOM in C#: https://platform.uno/ https://platform.uno/ Blazor renders to the DOM: https://dotnet.microsoft.com/en-us/apps/aspnet/web-apps/blazor https://dotnet.microsoft.com/en-us/apps/aspnet/web-apps/blaz...
- Shadowed_ 11mo agoBeside already mentioned, there is OpenSilver[1]. Supports Silvelight and WPF. Renders to DOM+WASM. They are also planning support for MAUI. [1] https://opensilver.net/ https://opensilver.net/
- viraptor 11mo agoYou 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?
- labrador 11mo agoThree apprecitions: 1) In today's American political climate I think it's appropriate to express appreciation for immigrants to like Miguel de Icaza who dragged Microsoft kicking and screaming into cross platform .NET and is the godfather of .NET Maui 2) As someone who came up developing desktop apps for Windows and Mac, I never liked developing web applications. There was so much lacking, but now developing web apps is becoming like developing desktop apps. Now you get/put your data from HTTP calls instead of file system and database calls or with Blazor and SignalR you don't even have to think about those. This may seem obvious to younger programmers today, but it would have seemed like magic back in 2004 when Dymanic HTML and Ajax (both Microsoft) were being invented. 3) I'm grateful Microsoft has changed their old ways to be a forward thinking company. They still have problems that any GIANT, Inc. organization has, but let's not forget how far they've come.
- piskov 11mo agoIt wasn’t magic circa 2008-2010 — see silverlight
- labrador 11mo agoAgreed, Silverlight was an unfortunate path to choose, a Flash competitor when Flash was dying.
- thrownaway561 11mo agoReally... You just had to bring up politics in this discussion?
- labrador 11mo agoOut of respect for Miguel de Icaza, yes
- coffeeaddict1 11mo 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 11mo agoMore 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 https://docs.flutter.dev/perf/impeller [2] https://medium.com/@raiden.lpf666/skia-vs-impeller-a-performance-comparison-e1c7dfd9e861 https://medium.com/@raiden.lpf666/skia-vs-impeller-a-perform...
- nicoburns 11mo agoYeah, buts that's compared to the older "ganesh" version of Skia. The new "graphite" version purportedly brings all those same advantages.
- DeathArrow 11mo agoImpeller is designed with mobile apps in mind while Graphite is designed with desktop apps in mind.
- coffeeaddict1 11mo agoI don't think this is correct. Chrome uses Graphite and their biggest supported platform is Android.
- BatteryMountain 11mo ago
- arkensaw 11mo agoIn 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 11mo agoIs it like Flutter?
- pie_flavor 11mo agoIs Flutter like WPF?
- ForHackernews 11mo agoNo.
- OsrsNeedsf2P 11mo agoNot to be confused with the MauiKit[0], the cross platform UI toolkit that had the name first[1] [0] https://mauikit.org/ https://mauikit.org/ [1] https://github.com/dotnet/maui/issues/35 https://github.com/dotnet/maui/issues/35
- skrig 11mo agoI 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 app performant. The XAML compiler is a step in the right direction, but we had relatively simple views (in the dozens of components) absolutely tanking our FPS. I know there is probably some of my skill issue in there, but when I find basic things taking hours to optimize that I wouldn't even think about in React, I start to wonder about the framework. I spent a lot of time creating PRs on .NET MAUI but their team appears quite small and overloaded. I wish them the best - they're some talented folks, but I don't envy their job. I can't help but think of Joel Spolsky's Things You Should Never Do (5) - the transition from Xamarin to .NET MAUI feels like a very similar mistake to Netscape. All of the battle tested Xamarin code, documentation, community examples, packages, etc. is now dead and has to be converted over to .NET MAUI. On top of that, XAML just doesn't do it for me - having to deal with code-behind, MVVM view models, custom converters, and the actual XAML files themselves is insane for what is usually just a a single file in JS. The fact that you need to write a "InvertedBoolConverter" (4) just to flip a boolean is the most Microsoft thing ever. MAUI feels like it's designed just to keep a large development team busy. I'm not joking, we have a 42 line file that's only purpose is to flip booleans for XAML views. We're a C# shop so it was nice to share our common C# with our desktop application, but I don't think it was worth it in the end. Sure JS has its problems, but I'll take those problems any day over MAUI. I hope Avalonia can fix .NET MAUI - it'd be a massive kudos to them if they can smooth it over, but I can't say I'd willingly rely on this project long term. 1 - https://github.com/dotnet/maui/pull/15612 https://github.com/dotnet/maui/pull/15612 2 - https://github.com/dotnet/maui/issues/8191 https://github.com/dotnet/maui/issues/8191 3 - https://github.com/dotnet/maui/pull/15655 https://github.com/dotnet/maui/pull/15655 4 - https://learn.microsoft.com/en-us/dotnet/communitytoolkit/maui/converters/inverted-bool-converter https://learn.microsoft.com/en-us/dotnet/communitytoolkit/ma... 5 - https://www.joelonsoftware.com/2000/04/06/things-you-should-never-do-part-i/ https://www.joelonsoftware.com/2000/04/06/things-you-should-... https://github.com/dotnet/maui/pull/16965 https://github.com/dotnet/maui/pull/16965
- 11mo ago
- mattfrommars 11mo agoIn 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.
- gfody 11mo agomicrosofts 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!
- layer8 11mo agoGenerally 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.)
- vjvjvjvjghv 11mo agoThat 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 11mo agoYou 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.
- maxrmk 11mo agoTook more than a minute to load on my macbook. Ouch! I really love C# and the .net ecosystem, but they just haven't made it work for web.
- BoorishBears 11mo agoBlazor is incredibly productive. I wouldn't use it for consumer apps because it requires a Websocket connection to maintain state and probably doesn't scale very cheaply... but for business applications or personal tools it's actually kind of insane how much functionality you get out of the box (at least by the standards of statically typed languages). To replicate this example in Typescript, I'd probably still be installing packages in the time it took to write the 20 lines of code it contains: https://learn.microsoft.com/en-us/aspnet/core/blazor/components/quickgrid https://learn.microsoft.com/en-us/aspnet/core/blazor/compone...
- LeFantome 11mo ago.NET works amazingly on the web. This is just not the UI framework you would use. There is ASP.NET of course and Razor Pages. We all use apps built with these every day without even realizing it. There are other great frameworks as well. I do not even see Blazor as a real web technology but of course it is positioned that way. MAUI is a "cross-platform" and frankly mobile first UI framework. It was never meant for the web.
- WhyNotHugo 11mo agoA toolkit announcing “Linux support” is pretty ambiguous. Does it mean Xorg support? Wayland support? Framebuffer support? The announcement provides no clue about this.
- accoil 11mo agoSince it's using Avalonia, I'd say it's just X support at the moment. They've announced that they intend to support Wayland, but that was a couple months ago[1], so I doubt that's ready. [1]: https://avaloniaui.net/blog/bringing-wayland-support-to-avalonia https://avaloniaui.net/blog/bringing-wayland-support-to-aval...
- LeFantome 11mo agoThey are not announcing Linux support for Avalonia. It has long supported Linux. What they are announcing is being able to run MAUI on Avalonia such that you can run your MAUI apps on any Avalonia supported target. This includes both Linux and WASM, neither of which is supported by MAUI directly.
- tylerchilds 11mo agoIf React is what’s powering the start menu now, I’m more curious about why Maui doesn’t power the start menu. .NET Maui running on windows seems like a more logical first step to prove the organization buys their own dogfood.
- ukFxqnLa2sBSBf6 11mo agoYou wouldn’t use MAUI to build something for only one platform. You would just use whatever it’s an abstraction over for that platform which in the case of Windows is WinUI.
- Rohansi 11mo ago> If React is what’s powering the start menu now To clarify, it's using React Native XAML, where XAML is Microsoft tech for building UIs. So they are dogfooding but they have too many UI frameworks to choose from.
- binary132 11mo agoWhy does everything need to have a soulless mascot now? It’s offputting.
- textlapse 11mo agoThis is awesome… but: On the Web, is Avalonia using Skia to render inside a Skia Canvas? **insert inception meme here** Joking aside: this points to MSFT moving away from the whole Mono/Maui investments and into Aspire or whatever they call it. Without MSFT backing this I am not sure if there is much more future left for MAUI (or dotnet on mobile in general). Avalonia is great though.
- breve 11mo ago> On the Web, is Avalonia using Skia to render inside a Skia Canvas? Yes. They're also looking at offering Impeller as a render option: https://avaloniaui.net/blog/avalonia-partners-with-google-s-flutter-t-eam-to-bring-impeller-rendering-to-net https://avaloniaui.net/blog/avalonia-partners-with-google-s-...
- 9cb14c1ec0 11mo agoOk, finally catching up to Kotlin Multiplatform Compose.
- wiseowise 11mo agoNot even close.
- bandrami 11mo agoSo like we're really just going to do this every decade or so with a new runtime until people remember they hate it and start over?
- catmanjan 11mo agoMy exact reaction
- drykjdryj 11mo agoMore and more of MAUI is abandoned by microsoft. I wouldn't touch this framework with a ten-foot pole. https://www.youtube.com/watch?v=yil7UVeOx4Q https://www.youtube.com/watch?v=yil7UVeOx4Q
- weq 11mo agoIt seems like alot of people in this thread dont undestand the dotnet stack. MAUI, Native UIs, and WASM are all interchangable. Your cross platform app could literly be built out of everyone of of these components at once. MAUI is not required for use-cases generally when you have a webUI, its really targetting at the simple UI, write-once, run anywhere crowd. Once you outgrow it, you can move to native integrations using dotnet linux/mac/windows. Or you can just integrate with webviews, and have C# backend's or WASM backends. The combination is limitless. Xamarin turned into dotnet, Xamarin.forms turned into turned into Maui. Name another large tech company that has embraced community projects like this and pushed provided enterprise support for community driven stuff over the same period. I was writing cross-platform apps before Flutter, angular, or whatever other language you choose for 11yrs now. Find another framework thats done this before the scare tactics of "MS will abandon this" rhetroic. dotnet is the premier cross-platform enterprise ready framework full stop. No other framwork has the backwards compatiblty while maintaining paritity with the latest OS APIs. No other framework can serve millions of pages per/sec while supporting pixel perfect UIs and code-reuse. They have invested so much money in building automation that means as soon as the OS releases an API, your getting access to it. In real world terms, this is what counts if you want to build cross-platform stuff that your clients cant tell isn't native. I run the same code from 2014, today, in apps in all the stores. Over the years all i have had to change is various namespaces to take advantage of the latest enhancements. Code that ran on dotnet4, silverlight, xamarin, still runs today on dotnet10. I share 90% of code across all platforms yet clients cant tell they are not native apps. Thats what i call return on investment.
- LeFantome 11mo agoI agree that, despite all the complaining, code re-use and longevity on .NET is second to none. Where there is intense confusion in these comments is in thinking that MAUI is a web application framework. MAUI is "cross-platform" as you say but really mobile first with desktop brought along for the ride. It is in no-way intended to be a web application tech. Avalonia has created an Avalonia back-end for MAUI which means running MAUI apps wherever Avalonia is supported, and that includes WASM. So now you can run MAUI apps in a browser. You can but that does not make MAUI web tech. I can run Windows 95 in a browser. That does not make Win32 a web API.
- deleted 11mo ago[deleted]
- lpln3452 11mo agoIf it runs on Avalonia anyway why choose MAUI? If you have the option just use Avalonia. MAUI is unfinished and its docs is awful. Do you want to build an app using MAUI? Unless you build an app that barely deviates from the template, expect to desperately search through decade old Xamarin documentation and figure out the details through painful trial and error. Good luck.
- LeFantome 11mo agoThey addressed this. It is a way to get people choosing the "official" path (ie. choosing MAUI) to experience Avalonia. They are hoping you come for the MAUI and stay for the Avalonia and become an Avalonia developer. As for, why choose the Avalonia version of MAUI, there are three reasons: - Linux support (the big one I think) - Drawn framework (same renderer on all platforms) - WASM support (probably useful sometimes but not the real draw) They are making a big deal of WASM here because it is easy to demo. We can all go into it and run it. But do we want to use it for our apps? As for, why not Avalonia directly? To loop back to the beginning, it is because you do not yet know Avalonia and trust it. The Avalonia team is hoping this helps with that.
- munchler 11mo agoThank you for explaining this. I didn't even realize this was an Avalonia project until you pointed it out. I like Avalonia (and love .NET in general), but I think the messaging on this needs a lot of work. Avalonia is creating unnecessary cognitive dissonance by emphasizing MAUI, which is a competing project after all.
- munchler 11mo agoThis is what mystifies me about this announcement. Avalonia already works fine on Linux, allowing anyone to build a cross-platform .NET GUI application. MAUI is supposed to be a wrapper around native widgets. The fact that they had to use Avalonia under the covers to get it to work on Linux seems to defeat the point. (Avalonia is a complete UI toolkit, like Qt or Flutter, that owns the entire stack from XAML to pixels.) https://avaloniaui.net/maui-compare https://avaloniaui.net/maui-compare
- moi2388 11mo agoGood job! Pathetic that MS doesn’t manage to do this themselves. Even more pathetic that MS doesn’t actually use it for any of their products, so forgive me if I have very little faith in the future of MAUI with all its bugs.
- DeathArrow 11mo agoThis is a huge win for people using MAUI. The only thing I worry is some performance loss from using Avalonia backend instead of using directly the target platform.
- r0x0r007 11mo agoIt's great to have .NET ecosystem expanding. I am a .NET dev, and I still use web optimized for mobile as my mobile platform(where applicable). Tried MAUI and all the other stuff, just doesn't cut it for me. You can make an app using it, but I would rather not to. The best 'mobile platform' for me was blazor hybrid, but then again - if it's already blazor why not go full web...I guess it depends on the 'seriousness' of your mobile application. If I had to develop a complex mobile app, I might choose another language framework, cause MAUI uses XAML and MVVM stuff that is quite a big overhead IMO.
- Jnr 11mo agoEither it takes more than a minute to load or it does not work on iOS with Lock Down mode enabled.
- jeroenhd 11mo agoIt's using WASM, which Lockdown Mode disables (among other things).
- luismedel 11mo agoHonestly, I feel that everything UI related has gone backwards to the stone age. I wonder how hard would it be to go back to visual designers like we had with Delphi or VB6. There were flexible layout container components which helped a lot when adapting forms to varying screen resolutions.
- time4tea 11mo agoWould be interested to know about the a11y story on web and other platforms. Does it integrate with screen readers, accessible navigation tools, a11y apis, etc. This is somewhere quite a few tools fall down. For example, for web: Rendering to canvas doesn't create the dom nodes required to hook into the tools, and creating the nodes appropriately can have a significant performance impact. What about native a11y tools and tech.. there are some ios specific ones that you'd expect on an ios app for example.
- genezeta 11mo agoIn 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.azurestaticapps.net/ https://brave-sky-0c7a41a03-preview.westeurope.3.azurestatic...
- mlvljr 11mo ago[dead]
- cachius 11mo agoYeah 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 https://news.ycombinator.com/item?id=45893986#45897805
- boobsbr 11mo agoTried the calculator: 7/9 = 1 Tried the RPN calculator: Can't push any numbers to the stack, so I can't use any operator.
- LandR 11mo agoThe demos barely work for me at all on Chrome. The sliding puzzle is really finicky, have to try multiple times to slide stuff, the top left (back) arrow stopped working altogether until I refreshed the page, which of course takes you back to the original page... The time picker looks awful with the numbers not centrally aligned to the control (they look too high), and it's finnicky to use / same with the date picker. Awful.
- cachius 11mo agoIt also locks the entire app when you go back during shuffling https://news.ycombinator.com/item?id=45893986#45897572 https://news.ycombinator.com/item?id=45893986#45897572
- animal531 11mo agoI'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.
- thiago_fm 11mo agoExcited about it, but I don't believe it will be good given the previous fiasco with the MAUI initial release. I hope Microsoft delivers though, we need more alternatives to React + RN or Flutter.
- arcosdev 11mo agoUggh, here we go again...
- jeroenhd 11mo agoI clicked a total of three times in the demo page before the tab froze and locked up. MAUI is nice, and I'm glad it's getting decent Linux support now, but I would never use it in the browser. Avalonia's big money ticket is taking old WPF projects, making minor changes to the XML to load their tools, and instantly making the projects work on macOS/Android/iOS/etc. (for an enterprise fee, of course). Great for forcing internal .NET applications built to run on Windows Vista into the modern world, but I don't think their web platform is a good idea for new projects because of the massive overhead you end up with.
- collaborative 11mo agoImagine how popular WPF would get if MS bought Avalonia and made it free
- vrighter 11mo agoisn't it already free? Afaict it's just some tooling that's not free.
- baq 11mo agotried the demo in Firefox on Windows and... it wasn't great? clicks didn't register in multiple subapps
- zerr 11mo agoWhy Avalonia and not UNO?
- KronisLV 11mo ago> Launch MAUI in your browser → This is absolutely horrible and I hope I never have to use it on the web - right click doesn't work, my plugins don't work, I can't even open DevTools and when I manage (before the app has loaded), it's just a <canvas> element in the page. I know a lot of people put work into this and something is probably better than nothing, but actually no, I think such solutions are disgusting. If you're gonna claim cross platform, don't just stoop down to the lowest common denominator and write a bunch of pixels to the screen, use the damn system UI solutions, or in the case of web apps - HTML, CSS and JS/WASM. I already take an issue with Electron (Lazarus lcl did things right, in contrast) but realize that it yields a lot of utility, yet these canvas based approaches for web apps feel like a step too far. Yet obviously nobody can admit that they can't do the heavy lifting needed to support multiple different target platforms for the same widgets in a way that respects the corresponding platforms, while also still wanting to ship something. In this case, I think nothing is better than something, if that something is so bad.
- sharts 11mo agoBlazor, MAUI, Flutter/Dart…it seems every few years this things show up and remain largely in flux but not in a good way.
- srott 11mo agoWhat is the future for MAUI, anything changed in last months? https://www.reddit.com/r/dotnetMAUI/comments/1l1xiib/entire_maui_team_laid_off/ https://www.reddit.com/r/dotnetMAUI/comments/1l1xiib/entire_...
- rkagerer 11mo agoOpen the demo... takes forever to load... open first app, calculator... looks awful... presses back (Chrome on Android)... back navigation is broken and it leaves the whole app returning to the previous website. This could have been so much better.
- maybewhenthesun 11mo agoThese kind of announcements always suffer from 'creator knowledge bias' and never define their terms ;-) "What is the Avalonia MAUI Backend? At its core, the Avalonia MAUI Backend enables you to keep your MAUI codebase while replacing the rendering layer with Avalonia." Which tells me exactly nothing. what even is MAUI, maybe some polynesian deity? :-P I know, I know, I can google stuff. But still...
- JamesSwift 11mo agoIn this case, think of MAUI as a way to define a UI in XAML (ie XML). Avalonia is a way to compile that XAML to actual rendered views on the platform.
- mfro 11mo agoThe announcement is geared towards .NET devs. If you're reading Avalonia blog posts outside of HN front page, you definitely know what MAUI is.
- deleted 11mo ago[deleted]
- socalgal2 11mo agotThis is another horrible, "lets render everything in canvas" framework so no select, no OS level context menu, no accessabiltiy, can't look up a word using your OSes dictionary, no IME support so no Japan/Korean/Chinese/Thai input, no find, no extensions, because there's no structure to look at, no translation extensions, in fact no translation period. Ugh!
- mnemonet 11mo agoIt's a nice idea, but the execution is taking the wrong path in my opinion. By rendering everything to a `<canvas>` they're sacrificing any hope of accessibility and compatibility with browser standards for UX. I would have much preferred a React-Native-style approach, where they render to true HTML instead. Even then, WASM files are too heavy for quick loading times without good internet (and sometimes even with). The projects I see that would most benefit from something like this are complex internal apps that need to be used in different places but aren't worth porting over/rewriting, but they would also suffer from terrible UX given the constraints of this design. For all other projects, it makes for more sense to use React Native.
- cryptonym 11mo agoIt's not meant to be an HTML renderer. That's for .NET apps. While it's cool they can run in a browser, that's not meant to build websites. Would you complain that Qwasm/Dwasm doesn't follow HTML standards of accessibility?
- samspot 11mo agoAccessibility is for all user experiences, not just websites. WCAG is still a good resource for native apps even where some specifics do not 100% apply. If Qwasm is referring to Quake, it absolutely should have, for example, legible color contrast and be usable if you are colorblind.
- mnemonet 11mo agoWhat else do you build on the web with a UI framework if not a website? If you're making a distinction between websites and webapps, it's equally important for both to be accessible and work as expected with a browser.
- cryptonym 11mo agovscode?
- 11mo ago
- mhh__ 11mo agoDoes "Web" mean fully wasm (i.e. weird quasi-useless dialect that can't run a lot of code without being specifically aware of it's wasm/webiness) or some combination of that and a server?
- pshirshov 11mo agoFinally, 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.
- nu11ptr 11mo agoYou 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.
- davey48016 11mo agoAvalonia does not have a Wayland backend now, but they say it's a priority: https://avaloniaui.net/blog/bringing-wayland-support-to-avalonia https://avaloniaui.net/blog/bringing-wayland-support-to-aval... I'm sure there's a better place to track the progress on that.
- pshirshov 11mo agoIf I remember correctly, it's a priority for like 5 years or so.
- 999900000999 11mo agoMaybe this has implications for Godot's C# web support.
- trentnix 11mo agoSilverlight reborn Edit - for those unfamiliar: https://en.wikipedia.org/wiki/Microsoft_Silverlight https://en.wikipedia.org/wiki/Microsoft_Silverlight
- tracker1 11mo agoI've pretty much considered MAUI a non-starter without Linux desktop as a target and even with this, not sure I would consider it over just using Avalonia directly. Of course, it is nice to see this option getting flushed out for existing projects.
- arwhatever 11mo ago“SITUATION: There are 15 competing standards.”
- flanbiscuit 11mo agoA while ago I was at an agency and we got a client that was a very popular weather app. Things like mapbox and some analytics libs (can't remember exactly, this was 2019) The project was a big redesign of the app. We looked into using Xamarin to see if we can at least write the core logic in C#. The issue we ran into is that there were many third party libraries we needed to import that weren't converted to Xamarin/C#. There was a way to try and have it automatically bind but never worked properly. In the end we just went pure native. Turns out Xamarin was a fun toy framework but Microsoft couldn't point us to anything serious and battle tested in production written in it. I'm curious to see if .NET MAUI will surpass Xamarin and actually get serious adoption. They have to figure out the third party binding issue.
- johnuterry 11mo agoBuilding MAUI with Binding/Layout/Themes on top of another engine with Binding/Layout/Themes doesn't sound efficient. Plus, it is my assumption/understanding that there's no way 3rd party controls will be able to run on Linux/Browser unless they're built directly against MAUI API without any Native our Skia dependencies, which is almost never the case from the libraries I've been using. Am I right?
- rohan_ 11mo agoI never understood these types of things, what niche are they going after? This feels like it could be a competitor to QT, but without a real-time operating system like QNX, what's the point? React Native won out over Fluter, Java Applets lost to HTML5 / JS, Framer is much better than Wordpress. Time and time again, clever simulations on top of the native world are never worth it.
- alvinveroy 11mo ago[dead]