top | item 46738178

Winapp, the Windows App Development CLI

80 points| MaysonL | 1 month ago |blogs.windows.com

104 comments

order

pjmlp|1 month 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.

irrlichthn|1 month 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.

embedding-shape|1 month ago

Not to mention, the code is quite obviously vibeslop...

Why are they building CLIs and tooling in this way? Don't they realize that shipping low quality code will eventually hurt them more than whatever UX benefits it gives developers? People will give up on using this quicker than the attention you get from launching it.

Just one example that shows how little they care, since the commit message is obviously written by an agent/LLM, the code surely is as well: https://github.com/microsoft/winappCli/commit/3dead8ed147917...

philistine|1 month ago

So you're saying that Winapp doesn't kick the llamas' ass?

sandos|1 month ago

I have no clue about GUI programming, but I eventually came to the conclusion to use Avalonia after even my LLM told me to do it.

bossyTeacher|1 month ago

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

Can you add MAUI to this list? Please and thank you.

vjvjvjvjghv|1 month 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.

voldacar|1 month 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?

kumrayu|1 month ago

What are Microsoft's own Office Apps built on?

actionfromafar|1 month ago

Or just plain Win32, no wrappers! Maybe with coding agents it can have a renaissance.

bob1029|1 month ago

Raw win32 isn't actually that bad now that we have LLMs. I don't even use the cswin32 project anymore because chatgpt is good enough today. I think win32 from modern C#/.NET is a very happy blend when you need that low level access.

TheAceOfHearts|1 month ago

Looking back on the history of Windows, one of the things that most stands out to me as a user is the utterly insane UX around the C++ redistributable. They really should've figured out a better solution than having every single application ship their own copy along with a separate installer, and then having the installer run always because the developer cannot be sure if it's installed correctly. As I understand it, this might still be a problem with the latest version? If someone like Steve Jobs had been responsible for Windows he would've fought with managers, lawyers, and engineers until the problem was resolved.

asah|1 month ago

But does it whip the llama's ass ?

reddalo|1 month ago

At first I was like... what does Winamp have to do with apps development?

martijnvds|1 month ago

Llamas are hot again.

mhitza|1 month 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

pjc50|1 month ago

Microsoft are incapable of naming things. This is the "Xbox one series X" of desktop development.

anonymous908213|1 month ago

I don't honestly think it's unreasonable to ignore third-party projects that are polluting your own namespace, so to speak.

pseufaux|1 month 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?

pjc50|1 month 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.

WorldMaker|1 month ago

It's a CLI for especially web developers that prefer CLI tools over graphical installers and needing to have big IDEs installed like Visual Studio.

It's another small nail in the coffin of the monolithic Visual Studio, which is maybe exciting if you are rooting against Microsoft's paid products from their DevDiv and for their free-to-start options like VSCode.

sirwhinesalot|1 month ago

For those unaware, the current recommended way to develop "native" apps for Windows is to use WinUI3, distributed with the WindowsAppSDK.

Unlike regular Windows SDK, which lets you make use of the functionality provided by the OS, the WindowsAppSDK is entirely separate from the OS and requires the installation of a separate runtime on the user's machine. It also requires installing nuget packages on your machine to use it so good luck if you'd rather use straight CMake instead of Visual Studio.

As far as I can tell, there's no backwards or forwards compatibility, so the end user has to install the specific version of the SDK your app uses, or you need to bundle all the hundreds of DLLs with your app yourself.

A sane person might ask why not just use Qt (smaller distribution!) or Electron (about the same size) at that point, since they're cross platform and you can easily get fluent themes that look the same as WinUI3?

As far as I can tell there's no sane negative answer to this question. It's not like your app's "fluent theme" will be updated alongside the OS, it's no different from Qt or Electron in this regard.

There's no reason to do "native" windows development anymore, unless you mean using raw Win32 with no dark theme or a custom UI built on Direct2D/3D/Write. And if you are doing that, there's absolutely 0 reason to use this CLI.

WorldMaker|1 month ago

WindowsAppSDK (and its direct predecessor) was installed only by the OS in Windows 8 and early Windows 10 and everybody hated the OS updating it and needing to know things like which specific Windows 10 update a user was on to access features. It's a mess either way it is installed.

> A sane person might ask why not just use Qt (smaller distribution!) or Electron (about the same size) at that point, since they're cross platform and you can easily get fluent themes that look the same as WinUI3?

The "good news" about this tool is that it is partly for making it easier to use WinUI3 from Electron, so that you can have both large distributions at the same time.

ptx|1 month ago

> Win32 with no dark theme

Couldn't this "dark theme" stuff be mapped onto the user-configurable Win32 color schemes that have been there since the beginning? Did Microsoft break it in Windows 11?

jxdxbx|1 month ago

WebView on Windows is pretty good, and Chromium-based, so I think that something like Tauri is preferable to Electron.

ludovicianul|1 month ago

It's the second time I see it on HN and read Winamp.

Markoff|1 month 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

lloydatkinson|1 month 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.

dd_xplore|1 month ago

I think this uses dockur to run the windows VM. That's also an awesome project.

lostmsu|1 month ago

Looks interesting, but no mention of GPU acceleration

pelagicAustral|1 month 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.

catapart|1 month 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)."

codeulike|1 month ago

Great, thats not going to get confused with "Windows App" which is the new confusing and impossible to google name for Remote Desktop

pseidemann|1 month ago

How is such a product decision even possible? Genuinely curious.

a_rahmanshah|1 month ago

Or Winamp. I read it couple of times before I noticed it is not Winamp.

ivanjermakov|1 month ago

Windows App is the biggest naming blunder in history. Impossible to find relevant information.

ttoinou|1 month ago

I develop C++ software for Windows and couldn’t understand the point of this

pjmlp|1 month ago

Nevermind, this was probably a team meeting some KPIs to show value, this is useless.

holoduke|1 month ago

Why am I reading winamp. Took me a minute to figure out.

dgxyz|1 month ago

If their stack wasn't so fucked up it wouldn't need this wrapper.

(ex windows dev)

reddalo|1 month ago

I miss Win32 APIs.

nalekberov|1 month ago

Seriously, bring Winamp back! It will really whip the Llama’s ass.

grougnax|1 month ago

Once again, a useless, bug-ridden, layer of complexity by Microsoft on an already messy stack. What could possibly go wrong?

Markoff|1 month ago

Winapp, NOT Winamp!