News: 1701266471

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

Microsoft .NET MAUI devs vent over bugs backlog, response times

(2023/11/29)


The developers are revolting – at least, it seems that way if an increasingly fractious thread regarding Microsoft's .NET MAUI is anything to go by.

.NET MAUI (Multiplatform App UI) is Microsoft's cross-platform framework used to develop apps that will run on Android, iOS, macOS, and Windows from a single code base.

It is an evolution of Xamarin.Forms to encompass desktop scenarios and, according to Microsoft, "One of the key aims of .NET MAUI is to enable you to implement as much of your app logic and UI layout as possible in a single code-base."

[1]

Neat ambitions. However, judging by developer complaints, it is missing the target.

[2]

[3]

A [4]recent GitHub discussion thread is a case in point. A developer had to open an issue to complain about another issue not being fixed. "The lack of response to issues IS the issue," was the complaint.

The problems are manifold, or so said the dev. Windows with frames are drawn incorrectly, requiring a resize to be forced to get what should happen automatically to correct itself. Platform-specific code is needed in places where it really shouldn't be, and so on.

[5]

In words familiar to many who have had to endure the occasionally [6]patchy approach to quality from Microsoft, the poster opined: "I think 90 percent of the attention should be placed on fixing bugs and performing better QA. I know stuff breaks from release to release and I would think that decent regression testing would catch stuff like this," before thundering: "I have been a developer since 1984 and have focused much of my career on UI design. WinForms was great and WPF was even greater. MAUI isn't even making the charts... "

[7]Microsoft's grand unified theory of .NET advances a little

[8]GitHub drops Atom bomb: Open-source text editor mothballed by end of year

[9].NET 5 and Windows 10 20H2 drop out of support

[10]Microsoft emits last preview of .NET 6 and C# 10, but is C# becoming as complex as C++?

As a reminder, Microsoft has had plenty of ways of writing applications for Windows over the years. WPF (Windows Presentation Foundation) and WinForms (Windows Forms) are examples - there was even the Universal Windows Platform (UWP). But [11]MAUI is the current flavor of the month . As the company has moved the goalposts, developers have had to adapt to keep up.

Unsurprisingly, there was a sprinkling of support and understanding within the thread. Still, most developers' responses were critical of the direction and management of the MAUI project, not helped by the fact that Microsoft itself seems more excited about alternative technologies these days, with precious few of its own applications using the platform.

The above issue could well be part of the problem. Aside from a team of dedicated staffers within the company, if MAUI's corporate overlords don't seem to care, why should anyone else? ®

Get our [12]Tech Resources



[1] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=2&c=2ZWduNXqefnAmQfGrrsQI0gAAAAE&t=ct%3Dns%26unitnum%3D2%26raptor%3Dcondor%26pos%3Dtop%26test%3D0

[2] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44ZWduNXqefnAmQfGrrsQI0gAAAAE&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0

[3] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=3&c=33ZWduNXqefnAmQfGrrsQI0gAAAAE&t=ct%3Dns%26unitnum%3D3%26raptor%3Deagle%26pos%3Dmid%26test%3D0

[4] https://github.com/dotnet/maui/discussions/19029

[5] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/front&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44ZWduNXqefnAmQfGrrsQI0gAAAAE&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0

[6] https://www.theregister.com/2018/10/23/microsoft_windows_10_crisis/

[7] https://www.theregister.com/2022/11/10/microsoft_dotnet_release_7/

[8] https://www.theregister.com/2022/06/08/github_atom_dropped/

[9] https://www.theregister.com/2022/05/11/dotnet_5_windows_10_20h2_eol/

[10] https://www.theregister.com/2021/08/12/dotnet_6_preview_7/

[11] https://www.theregister.com/2020/05/19/project_reunion_microsoft/

[12] https://whitepapers.theregister.com/



.NET UI is a Mess

Knightlie

.NET UI options are an absolute mess. If I'm still considering *Windows Forms* in 2023 for writing a desktop application, someone's dropped the ball pretty badly. And bringing Linux into the mix pretty much negates the "cross-platform" .NET as an option at all, I'll get a more cross-platform result with Python, ffs.

Re: .NET UI is a Mess

abend0c4

Weirdly, if you want your app to run across multiple Windows platforms, WinForms is pretty much your best bet.

If you want a traditional desktop-style UI for multiple platforms, people seem to favour Avalonia.

I'm not convinced that having a UI that's essentially the same on desktops and mobile is terribly useful - the whole mode of interaction is / should be different.

Zippy´s Sausage Factory

I thought Micros~1 recently declared that Blazor was the future and (almost) everything else was now to be considered on life support?

Knightlie

I lived through the Database Access maelstrom back in the late 90's, where MS had at least four competing database client libraries on the go at once. I'll give Blazor another three years before some MBA comes up with a career-enhancing replacement.

AndrueC

Must be time for yet another Microsoft UI Framework. I'm sure this time they'll get the basics right and it'll finally be all things for all people.

Yeah right. One thing MS has never been good at is determining the basics and providing a truly generic solution. Dunno why. Too many vested interests? Too willing to move the goal posts? Whatever. Seems like everything they do ends up fractured with multiple competing versions.

.NET WinUi3

Anonymous Coward

We've got WinForms, WPF, UWP, WinUI3, MAUI, and whatever else they have cooking now. I haven't used much of MAUI, but WinUI3 (aka WindowsSDK or half a dozen other names they use, it's the "updated?" version of UWP) is also barely functional. Data binding is an absolute mess, and barely works. It works OK with static data, but just try having a ListView inside the data template for a ListView. I tried using user controls to add an add/remove button, which works fine when repeated manually but not when inside a user control. List items inside a flyout do not update, and the UI and data desync whenever you remove an item containing a list from a list view and then add a new item in, the new item will have the old one's data on the front end but a blank list on the back end.

Who knows, I am just a rookie after all. Maybe I'm doing something wrong. But honestly having to dig through dozens of pages of half-complete documentation, 3 year old forum posts talking about features that will be available in 1.0 yet we are on 1.4 today, and finding differences between wacky interfaces, BindableList, ObservableCollection, INotifyPropertyChanged propagation, etc. is a pain in the ass. Oh and the lack of a WYSWIG designer in VS that I really enjoyed in WPF is a pain.

Don't even get me started on distributing the application. By default, MS wants you to package your app into a MSIX package, like what is on the store. But, unless you submit to the store, you will need to have your package signed with a certificate from a root authority to be installed. There's no way to skip this either. If you sign it yourself, you need to also distribute a powershell script and a cert file. Uploading to the store was a no-go, as the app is just a tool for a friend and not complete either. Getting my non-techsavvy friends to install that was a nightmare and didn't work anyway.

You can unpackage your application, but this means the entire windows SDK (and .NET runtime if you truly want it to just work) must be copied to the output each time, adding around ~200MB for a hello world. Code trimming is broken and will never be fixed either. Then you still have to figure out how to get the ~400 files needed to run the app (mostly all localization on an app that doesn't need it, it's for a friend only) to install somewhere. I ended up using a vs installer project to make a .msi file, but the documentation is really poor and the default settings don't work either. Most links that talk about MSI push towards MSIX.

To be honest, I like the look and feel of winui3. It's why I tried it out and still use windows, I'm sorry. But these strange bugs are a pain to deal with. The biggest issue is installing unsigned packages. Please just add a "install anyway" button through a UAC prompt, like literally everything else. Apparently the reasons why not is that the windows sdk and net runtime, etc, are windows store packages, and non-blessed code can't talk to blessed MS code. I'm starting to see why people don't like snaps in the Linux world. Why move core system components onto the store?

Go back to WPF. For now, at least, it seems that developing your own app on WinUI3 is akin to an ACE exploit in MS's mind. Sorry for the ramble.

In which level of metalanguage are you now speaking?