Winapp, the Windows App Development CLI
57 points
5 days ago
| 17 comments
| blogs.windows.com
| HN
pjmlp
57 minutes ago
[-]
I already mentioned in a few places, this is useless, probably a team having to meet some KPIs, OKRs, or whatever to show their impact value on the next evaluation cycle.

Anything related to WinUI, WinAppSDK, CsWinRT, C++/WinRT is a sea of bugs, broken tooling, and unfulfilled promises, that no one should bother with.

Easily confirmed by going into their public repositories over at Github, or community session recordings over at YouTube.

For those using .NET, keep using Windows Forms or WPF, or reach out to Avalonia and Uno.

For those using C++, the aging MFC has much better tooling as incredible as it sounds, or use instead VCL/Firemonkey (C++ Builder), Qt, wxWidgets,....

For anything else, whatever bindings are available on top of plain Win32.

reply
irrlichthn
34 minutes ago
[-]
Sounds very negative, but I can confirm - it's the truth unfortunately.

I'm developing windows desktop apps since nearly 30 years now and tried mostly everything Microsoft has thrown at us - Win32 - WinForms - WPF - WinJS - WinRT - UWP - WinUI - MAUI - not sure if that was all - and Win32 always wins. Everything else is incredible broken and stops being supported in such a short time. It's a shame really.

reply
pjmlp
28 minutes ago
[-]
It is what happens when passionate advocates feel betrayed by all the mismanagement that has happened since Windows 8.

I switched from someone that was kind found of WinRT, as what .NET 1.0 should have been, AOT compiled languages built on top of COM, improving the VB 6 experience, to someone burned out with the experience, back into Web development and distributed systems.

However, Microsoft keeps talking as if everything was tiptop, and that angers me thus I keep track of how bad things still are, and spend time making others aware of the false promises.

For example, I bet no one is aware that C++/WinRT is actually in maintenance, and the team responsible for killing C++/CX, is now having fun with Rust on windows-rs.

Yet Microsoft talks about using C++ to develop WinUI applications, as if the tooling was at the same level as using C++ Builder or Qt/QtBuilder.

reply
ruicraveiro
32 minutes ago
[-]
I jumped the train when they crashed the Silverlight carriage.
reply
voldacar
28 minutes ago
[-]
What's the best way to get into MFC or Win32 in current year? Is there a canonically best book or tutorial for those wanting to learn?
reply
pjmlp
18 minutes ago
[-]
Same as always, get one of the old books, the good ones back in the day.

Programming Windows, by Charles Petzold

Programming Windows with MFC, by Jeff Prosise

COM / DCOM Primer Plus, by Chris Corry Vincent Mayfield John Cadman

reply
kumrayu
28 minutes ago
[-]
What are Microsoft's own Office Apps built on?
reply
pjmlp
10 minutes ago
[-]
Their own custom framework built on top of Win32, nowadays they also use React Native, and Webview2 with React to share code with the Web versions.

The Web versions also consume C++ via WebAssembly, the mobile versions are a mix of the platform languages + C++.

There are some CppCon talks about how they use C++ in Office.

reply
vjvjvjvjghv
48 minutes ago
[-]
I don’t rally understand what what they are thinking but it seems MS has given up on windows desktop dev. Even Office is now moving to web technology even if it means to make these apps worse.
reply
actionfromafar
46 minutes ago
[-]
Or just plain Win32, no wrappers! Maybe with coding agents it can have a renaissance.
reply
delta_p_delta_x
40 minutes ago
[-]
> plain Win32

Plain Win32 needs a renaissance. I worked with it and felt like a wizard. Message boxes, dialogue boxes, wizards, hammered out in pure C++. Combined with the Windows Implementation Library[1] I was writing fast, modern code.

[1]: https://github.com/microsoft/wil

reply
pjmlp
16 minutes ago
[-]
As side note, WIL was originally introduced for writing drivers in C++ in kernel mode, then expanded to support other workloads on userspace.

Here is the original announcement,

https://community.osr.com/t/the-new-wil-library-for-c-code-i...

reply
pjc50
41 minutes ago
[-]
Annoyingly many of the new features are WinRT only, so you have to deal with that horror.

I'm a big fan of the MFC/WinForms era stuff myself, but it has one crippling limitation: it doesn't handle display scaling very well at all.

reply
pjmlp
34 minutes ago
[-]
Only AI stuff, there is hardly anything else that depends on WinUI/WinAppSDK.

There are Win32 APIs for HiDPI configuration, the issue is that it isn't automatic, it needs to be on the app manifest or called explicitly, and handle the events for resolution changes.

reply
pjc50
24 minutes ago
[-]
Even if you do that, and carefully work in "points" internally rather than pixels, the results seem to be bad. Win32 dialogs are generally not resizable or "responsive". This is even visible in settings dialogs from Windows itself.
reply
pjmlp
16 minutes ago
[-]
Still much better than dealing with WinRT, and its "ATL is great!" attitude, with the endless amount of bugs that never get fixed.
reply
tcfhgj
17 minutes ago
[-]
I have been using WinRT and Win32, and I find WinRT much more pleasant to use
reply
pjmlp
14 minutes ago
[-]
Until you will bump into one of those bugs that have been open since Project Reunion was announced.
reply
pseufaux
1 hour ago
[-]
I read though the GitHub readme but I'm still unsure what "new" this brings this brings to the table. It seems like a thin wrapper over existing tools. Since Microsoft rarely deprecates and removes anything, this feels like just another unnecessary complexity layer.

I'm not a traditional app dev on Windows though, so I'm likely missing something. For those of you who are more familiar, what about this are you excited about?

reply
pjc50
39 minutes ago
[-]
It is, but it's like "dotnet new" templates: a means of getting to a working minimal setup that jumps through the Microsoft hoops for you. MSIX and Package Identity are definitely headaches to get set up.
reply
asah
1 hour ago
[-]
But does it whip the llama's ass ?
reply
reddalo
2 hours ago
[-]
At first I was like... what does Winamp have to do with apps development?
reply
martijnvds
1 hour ago
[-]
Llamas are hot again.
reply
mhitza
2 hours ago
[-]
They must be either incapable of binging for matching names, or its a sneaky strategy to bury, by influence, the existing winapps project https://github.com/Fmstrat/winapps
reply
pjc50
1 hour ago
[-]
Microsoft are incapable of naming things. This is the "Xbox one series X" of desktop development.
reply
anonymous908213
2 hours ago
[-]
I don't honestly think it's unreasonable to ignore third-party projects that are polluting your own namespace, so to speak.
reply
1718627440
1 hour ago
[-]
Their own namespace starts with "Microsoft ...".
reply
anonymous908213
50 minutes ago
[-]
By this logic the Linux WinApps namespace starts with fmstrat and there's no namespace conflict.
reply
1718627440
40 minutes ago
[-]
I am talking about the namespaces of terms in natural languages, not about some random website answering on github.com .
reply
anonymous908213
37 minutes ago
[-]
If you're talking about "namespaces in terms of natural languages", it's obvious that "Windows" and the shorthand "Win" are their own namespace, eg. Win32, WinUI, WinRT, and that the developer of Windows has every right to consider it their own namespace??
reply
pelagicAustral
47 minutes ago
[-]
I'm already sold to Claude Code for Windows Desktop development.

Couple of months ago I used some shady C# SDK to build an implementation that interfaces with a very specific hardware component. My only option was Windows Forms, which I don't love very much but I have worked with extensibility in the past.

I did not have a lot of faith, because of how weird it feels to ask an LLM to work with a design.cs file, but what I did was just sketch all the design and let Claude do the logic with certain specification on how I wanted to corral the code... App was flawless in about 2 days of work. It's in production now with zero faults.

So, hard to now give this a shot, I already got my go-to tool. Even for something has arcane and obscure as Winforms.

reply
ludovicianul
2 hours ago
[-]
It's the second time I see it on HN and read Winamp.
reply
Markoff
2 hours ago
[-]
obvious mistake, same here

I wonder what would be cutoff age for readers to read it correctly, I guess under 30 read it correctly, and over 40 will many read it as Winamp

reply
Imustaskforhelp
1 hour ago
[-]
> I wonder what would be cutoff age for readers to read it correctly, I guess under 30 read it correctly, and over 40 will many read it as Winamp

I am 17 and I wasn't wearing my glasses and I was really speaking winamp until I read your comment then scrolled back again to realize it was winapp

My bet is that I spend time on HN so I knew what winamp is in more detail but if say friends my age read it & say they use tiktok more, I would say that they wouldn't call it winamp but winapp

So I guess I might be one of the few exceptions but I feel like people on HN are much more likely to read it as winamp than not & age might not be thaaat big of an impact (atleast on HN)

reply
catapart
46 minutes ago
[-]
this looks very plainly like "oh shit, devs are having a really hard time actually integrating with our AI services! That must be the only reason we are seeing adoption so slow. quick - throw a wrapper around some boostrappers that can get a green field project prepared for integration with our AI services (and whatever else can be done when you get that set up)."
reply
holoduke
10 minutes ago
[-]
Why am I reading winamp. Took me a minute to figure out.
reply
dd_xplore
2 hours ago
[-]
I think this uses dockur to run the windows VM. That's also an awesome project.
reply
ttoinou
1 hour ago
[-]
I develop C++ software for Windows and couldn’t understand the point of this
reply
pjmlp
1 hour ago
[-]
Nevermind, this was probably a team meeting some KPIs to show value, this is useless.
reply
codeulike
2 hours ago
[-]
Great, thats not going to get confused with "Windows App" which is the new confusing and impossible to google name for Remote Desktop
reply
pseidemann
1 hour ago
[-]
How is such a product decision even possible? Genuinely curious.
reply
pixelpoet
1 hour ago
[-]
Ask the marketing department that destroyed one of the most famous brands on earth, MS Office, and renamed it to "Microsoft Copilot 365 app": https://office.com
reply
luckman212
1 hour ago
[-]
This is so bad it doesn't even seem humanly possible. Maybe this decision was made by Copilot itself.
reply
pixelpoet
53 minutes ago
[-]
One could say the error was [puts on shades]... unprompted.
reply
tomaytotomato
45 minutes ago
[-]
reply
cobolexpert
59 minutes ago
[-]
Copilot wanting to name everything Copilot is a funny thought, for some reason.
reply
copilot_king
56 minutes ago
[-]
This isn't true. Copilot is AGI.
reply
dist-epoch
58 minutes ago
[-]
A long time ago everything Microsoft had it's name ending in .NET, because Internet was the cool new thing.
reply
a_rahmanshah
2 hours ago
[-]
Or Winamp. I read it couple of times before I noticed it is not Winamp.
reply
imathew
2 hours ago
[-]
Winapp, it really whips the LLMas ass
reply
rootnod3
1 hour ago
[-]
God damnit...that definitely deserves the upvote.
reply
sgt
1 hour ago
[-]
@dang can't we have a feature on HN where you vote a comment into the "hall of fame" or such?
reply
nacozarina
2 hours ago
[-]
baaa BAAA-aaaaa
reply
Markoff
2 hours ago
[-]
I just realized it now after reading your comment, I opened first comments to find out what's new about Winamp before opening the site
reply
ivanjermakov
2 hours ago
[-]
Windows App is the biggest naming blunder in history. Impossible to find relevant information.
reply
einr
1 hour ago
[-]
It's perfectly clear: if you need to run a Windows app on another Windows PC, you just open the Windows app store on your Windows PC to download the Windows app Windows App, a Windows app that lets you connect to and run Windows apps on other Windows PCs.
reply
creamyhorror
26 minutes ago
[-]
Windows PC? I think you mean "Windows app host" (once we all move to thin clients due to consumer PCs becoming unaffordable)
reply
lloydatkinson
2 hours ago
[-]
I read a Reddit comment on the thread for this where they suggested this was only made because of the old "windev vs devdiv" rivalry.
reply
nalekberov
1 hour ago
[-]
Seriously, bring Winamp back! It will really whip the Llama’s ass.
reply
dgxyz
2 hours ago
[-]
If their stack wasn't so fucked up it wouldn't need this wrapper.

(ex windows dev)

reply
Markoff
2 hours ago
[-]
Winapp, NOT Winamp!
reply
grougnax
1 hour ago
[-]
Once again, a useless, bug-ridden, layer of complexity by Microsoft on an already messy stack. What could possibly go wrong?
reply