Live data from Hacker News

Ask HN: What is the best way to build a desktop app in Windows in 2023?

news.ycombinator.com

71–80 of 107 posts

Re: Ask HN: What is the best way to build a desktop app in Windows in 2023?

#71

If you're feeling adventurous, I'd try Pharo [0]. I was at the ESUG conference (the European Smalltalk conference) and it seems that when you combine: * Bloc (UI framework) * The stuff in their new presentation (will be online in a few months) * Pharo You could get pretty far. For example, this game [1] has been packaged as a Win/Mac app [2]. [0] https://pharo.org [1] https://github.com/Enzo-Demeulenaere/Takuzu [2] h…

Someone should bring the SmallTalk IDE experience to JavaScript.

Re: Ask HN: What is the best way to build a desktop app in Windows in 2023?

#72
post #16

Earlier quoted context omitted.

Delphi was quite good at Windows application development last time I used it, probably 2010. I'd probably stay away if you ever need to maintain it or hire people to use it. There's value in using a popular language with staying power.

> There's value in using a popular language with staying power. That's a good point about popular languages, but you can't complain about Dephi's staying power. Wikipedia shows it as having been released in 1995, and it still seems to be going!

>but you can't complain about Dephi's staying power. Wikipedia shows it as having been released in 1995, and it still seems to be going!

Yes, but it's only really alive due to legacy systems. You don't often see new development done on it, at least in the US. Good luck finding a Delphi developer vs. Java or C#. I think it's still popular in Eastern Europe though.

I do love the platform and I used it for probably 13 years, but it's wilting pretty hard today. I would never build anything of substance with it today.

Re: Ask HN: What is the best way to build a desktop app in Windows in 2023?

#73
post #41

Earlier quoted context omitted.

Why not 3.0+? What’s changed?

They decoupled the UI framework from the OS in WinUI 3.0. The point of UWP was that it used controls and rendering capabilities built into the OS. This resulted in performance regressions and missing features for several versions compared to the 2.8 branch.

Goddamn!

I always wondered why it took until Win UI _3_ to decouple...but I guess this is why.

Re: Ask HN: What is the best way to build a desktop app in Windows in 2023?

#75
post #64

Earlier quoted context omitted.

.. and how many of the Microsoft applications actually use WinUI3? As far as I can tell they're doing their own thing (Office) or are Electron (Teams) or, at least in Windows 10, haven't actually been updated from WinForms. The overhead of WinUI3 is pretty huge. The visual designer, a winning feature of Visual Studio for decades, is AWOL. Why? It's XAML, the same as the previous XAML designer! It's just .. broken? Th…

File Explorer is using it. Much of the Windows 11 shell, including the taskbar, Start menu, Settings, notifications, and Microsoft Store is using WinUI 2 (only because WinUI 3 wasn’t ready at the time). Even apps like Notepad, Paint, Sound Recorder and Media Player use WinUI. WinUI 2 and WinUI 3 currently share the same look and feel but new apps should use WinUI 3.

> new apps should use WinUI 3

Other than apps written by the Windows team and shipped with Windows, what's the flagship WinUI3 app?

How large is the actual WinUI team, approximately? We can make guesses from the number of committers on github, which appears to be about half a dozen people? It just doesn't feel like Microsoft themselves are really committed to making it work and then forcing it on Office or Teams.

At some point soon I'm going to have to do a native app to do driver control, and it seems the elegant simplicity of WinForms has been lost compared to how much "runtime" nonsense is hiding underneath the two different WinUI2/3 implementations. (You've done a Python 3 there!)

Re: Ask HN: What is the best way to build a desktop app in Windows in 2023?

#76

.NET Multi-platform App UI (MAUI) is for cross platform development but certainly targets native apps on Windows: https://dotnet.microsoft.com/en-us/apps/maui

MAUI is the inheritor of Xamarin.

What underlying tech does it use for rendering on Windows?

Re: Ask HN: What is the best way to build a desktop app in Windows in 2023?

#77
post #75

Earlier quoted context omitted.

File Explorer is using it. Much of the Windows 11 shell, including the taskbar, Start menu, Settings, notifications, and Microsoft Store is using WinUI 2 (only because WinUI 3 wasn’t ready at the time). Even apps like Notepad, Paint, Sound Recorder and Media Player use WinUI. WinUI 2 and WinUI 3 currently share the same look and feel but new apps should use WinUI 3.

> new apps should use WinUI 3 Other than apps written by the Windows team and shipped with Windows, what's the flagship WinUI3 app? How large is the actual WinUI team, approximately? We can make guesses from the number of committers on github, which appears to be about half a dozen people? It just doesn't feel like Microsoft themselves are really committed to making it work and then forcing it on Office or Teams. At…

The new Apple apps and WhatsApp and Adobe Fresco use WinUI. Arc browser’s upcoming Windows version uses WinUI.

Re: Ask HN: What is the best way to build a desktop app in Windows in 2023?

#78
post #40

Earlier quoted context omitted.

Teams is, and it's IMO the worst Office app available. I don't have time to get into all the reasons why right now because I need to sleep and it always leads to a 30 minute irl rant or a multiparagraph screed about the complete breakdown of their corporate work culture and terrible UI tooling that they can't fix a context menu rendering bug in their own damn "native" first-party corporate communications app when _Th…

Would appreciate if you could spare some time to elaborate. I’ve had pretty much the worst experience with Teams of all communication solutions. I just can’t figure out what’s going on with it. On Macs it constantly misbehaves. Is it due to RN?

No. Teams is a terrible application regardless of the UI Framework.

This is not to say that React Native is good.

Teams tries to be your new desktop, it provides a file browser, calendar, meeting scheduling, access to edit your Office documents and take One Notes. It reminds me of an alternative shell for Windows 95.

It also has an embedded chat app. This embedded chat app has new messages at top on some tabs, and new at bottom on other tabs. It prevents me from having more than one chat open. This chat app only supports RTF for formatting (who the fuck still uses RTF?) which means it struggles to process markdown and other rich formatting. Pasting some text that it decides is going in a box can be laborious to remove.

It's just a bad app.

Re: Ask HN: What is the best way to build a desktop app in Windows in 2023?

#79

Earlier quoted context omitted.

For someone coming back to Windows development after 5+ years, it is so incredibly difficult to figure out what is going on. I have never had so much confusion in my life. WinUI 2, WinUI 3, C++/WinRT, C#/WinRT, C++/CX, C++/CLI, WinRT (Windows Runtime - that's not a runtime), COM, C++ Win32, C# .NET, UWP, Fluent, Metro, .NET MAUI, PWA, React Native for Windows, WPF, Windows Forms, Windows API, Windows App SDK (which i…

Let me make it easy for you, if you want it to look and feel native on Windows 11, use WinUI 3. ChatGPT gives a decent summary of the history of all that: https://chat.openai.com/share/6478dcdd-98d3-449a-84be-be5666...

That's not a bad summary for AI, but it is very funny that every step of the way gets the adjective "modern".

My own personal outsider take on this is that there are really only three eras that need to be considered:

- "HWND era": win16/win32 classic UI aka "WinForms". This extends all the way up to ActiveX. Microsoft get to dictate the platform without real competition.

- XAML era: the second system. Classic WinForms doesn't handle high-DPI displays or GPU rendering; it relies on pixel positioning and lets you draw directly on the framebuffer. WPF is the reaction to this.

- Phone era: suddenly there is real competition and users start using a lot of non-Microsoft platforms. Microsoft launch their own phone, complete with new sandboxed APIs that don't correspond to Win32 at all. This is ultimately a market failure. But Microsoft have invested too much in UWP.

At this point, the winning stacks globally are, in order: web (including Electron), iOS, Android. Nobody wants to do native Windows applications that aren't games if they can possibly help it. Even Microsoft start building web-on-desktop apps like Teams.

So the only thing Microsoft can do is salvage operations on UWP APIs and XAML-related techs to try to make it usable to desktop developers by getting out of the sandbox.

Re: Ask HN: What is the best way to build a desktop app in Windows in 2023?

#80

Earlier quoted context omitted.

For someone coming back to Windows development after 5+ years, it is so incredibly difficult to figure out what is going on. I have never had so much confusion in my life. WinUI 2, WinUI 3, C++/WinRT, C#/WinRT, C++/CX, C++/CLI, WinRT (Windows Runtime - that's not a runtime), COM, C++ Win32, C# .NET, UWP, Fluent, Metro, .NET MAUI, PWA, React Native for Windows, WPF, Windows Forms, Windows API, Windows App SDK (which i…

Let me make it easy for you, if you want it to look and feel native on Windows 11, use WinUI 3. ChatGPT gives a decent summary of the history of all that: https://chat.openai.com/share/6478dcdd-98d3-449a-84be-be5666...

Can I use TypeScript and WinUI 3?

I remember a while back there was contraversy that MS wanted people to write Windows apps for store in TypeScript. What happened to that?

Post reply on HN