Live data from Hacker News

Windows native app development is a mess

domenic.me

191–200 of 481 posts

Re: Windows native app development is a mess

#191

> However, for no reason I can understand, Microsoft has decided that even the latest versions of Windows 11 only get .NET 4.8.1 preinstalled. .NET has new releases every year, supported for 2 or 3 years. That’s not really compatible with Windows release cycles. Also, if Windows 11 25H2 shipped .NET 8, and now Windows 11 26H2 would ship .NET 10, apps which depend on version 8 might break. Easier to just think of .NET…

.Net has always been hugely backwards compatible and breaking e.g. .Net 8 apps which will run out of support in November 2026. How is constantly needing to update .Net any different from constantly needing to update any other part of Windows?

Ideally they would just install newer .Net releases side by side and uninstall .Net releases as they drop out of support.

Re: Windows native app development is a mess

#193
>Displaying a tray icon with a few menu items: not available. Not only does the tray icon itself need P/Invoke, the concept of menus for tray icons is not standardized

Having never written Windows apps, I am surprised to learn how disorganized and chaotic this all is.

Re: Windows native app development is a mess

#194

Earlier quoted context omitted.

Just wanted to add a shoutout to WinJS for posterity, with which I built a Windows 8 app that I had published to the Windows Store for a brief period of time. Then they open-sourced the UI part of WinJS and decided it was just a web framework instead of an officially supported method for building Windows apps iirc, which was the end of my foray into the Windows store. https://github.com/winjs/winjs

If you want JS, isn’t react-native-windows an option?

It probably is now, but I don't think it was at the time. This was back in the early Windows 8 era, when apps were called "Metro" – 2012 to 2015 I think? I'm primarily a .NET dev by trade, but I wanted to try something different with WinJS so invested time in learning that.

Re: Windows native app development is a mess

#195
post #161

Earlier quoted context omitted.

>Native means system libraries only. Since when? To me, anything not webview-based is native, though you have varying degrees of integration into the platform.

Why single out WebViews? Would you consider Flutter native? It renders widgets on its own just like a WebView does.

Most toolkits, including WebUI 3.0, render widgets on their own, so you can't distinguish just on that. I'd say anything written in an interpreted language is not native, and Javascript falls into that category. Dart at least is possible to compile ahead of time, and so is C#.

Re: Windows native app development is a mess

#196
post #70

Earlier quoted context omitted.

In 32-bit windows, you used to be able to see if a pointer was valid or not by seeing if it pointed to the last 2GB of address space. If it did, it was pointing to Kernel memory that was not valid for user mode code. But then Large Address Aware (4GB limit) changes everything, and you can't do that anymore. In order for a program to be Large Address Aware, you need to not try to do things like check high bits of poin…

That sounds like the same ugly hack that caused programs not to be “32 bit clean” back in the day for Macs

One difference is that the Mac OS itself was not initially 32-bit clean, with the top byte being used by the Memory Manager.

Re: Windows native app development is a mess

#197
post #18

Earlier quoted context omitted.

Winforms? lol at them still bekng the best option. so much wasted effort trying to replace them

Winforms is great until you try to make windows dynamically sized, or deal with DPI nicely. In every other regard it's still fine, and for accessibility actually _better_ than many subsequent frameworks. And produces nice small fast executables.

transparency as well. WinForm really struggles with the idea of stacking elements on top of one another where there is an arbitrary amount of transparency or tricky shapes. Its just not worth the hassle compared to WPF.

Re: Windows native app development is a mess

#198
post #18

Earlier quoted context omitted.

Winforms is great until you try to make windows dynamically sized, or deal with DPI nicely. In every other regard it's still fine, and for accessibility actually _better_ than many subsequent frameworks. And produces nice small fast executables.

I assume that if Microsoft hadn't abandoned WinForms for the next thing, it would support dynamic sizing and DPI properly. It's mindboggling how much time and effort they've wasted coming up with new GUI frameworks instead of just improving on what they have.

I remember a marvelous quote from a guy that was at some MS conference and got handed a leaflet that said:

> WinForm or WPF, how to choose

and they were like: "the question I have isn't how to choose, but _why_ I have to choose".

Re: Windows native app development is a mess

#199
post #11

I'm an embedded programmer who occassionally needs to write various windows programs to interface with embedded devices (usually via serial port or usb), and I find it a breeze to write native gui programs in pure win32 and c++. Recently had to add a new feature to and old program that was last updated in the XP era and two things to note: 1. The program did not need to be updated to run on Vista, 7, 10 and 11, shit…

I feel like I'm the only person in the world who would rather write ugly win32 jank for the rest of my days than ever having to touch an "elegant" or "well structured" Cocoa codebase. In win32 if you want a button you call a function and pass a hande, in the Apple world you first subclass 7 interfaces in some unreadable Smalltalk-wannabe syntax and pray you don't need to access the documentation. And of course they c…

How to add a button in SwiftUI:

    Button(“Click Me”) { buttonWasClicked() }

Re: Windows native app development is a mess

#200

Earlier quoted context omitted.

To do better? It's demonstrably possible. And further, why does what some portion of Microsoft, a huge, multi-headed beast, does qualify as the bar for what is reasonable for users to expect?

A question - Which portion of Microsoft, the multi-headed beast develops pure-native apps now ? Even the Windows 11 Settings app is Javascript. The multi-headed beast has been assimilated by web-tech. They can't code GUI C++ no more - except their compiler/graphics team. And even the latter are dying.

There are like three settings pages that use JavaScript and React Native, the vast majority of Settings is C++ and XAML/WinUI2
Post reply on HN