Without more details, this is the way to get the most native Windows 11 look and feel:<p><a href="https://learn.microsoft.com/en-us/windows/apps/winui/winui3/" rel="nofollow noreferrer">https://learn.microsoft.com/en-us/windows/apps/winui/winui3/</a><p>Disclosure: I work at Microsoft on a team that works on visual look and feel for Windows.
You need to check whatever half-arsed framework "that will be universal and encompass everything" Microsoft is promoting this specific month, and then violently ignore it and use proven things like wxWidgets or WinForms instead.<p>(There is no native look and feel on Windows any more. Microsoft pissed on that concept a long time ago.)
The answer is: pick your poison. There is no best way. Microsoft would have you believe it is WinUI, but there is also WinForms, WPF, UDP, Xamarin Forms, .NET MAUI, Avalonia, Uno, and several other solutions.<p>Even the landing page for WinUI starts off by comparing the differences between two versions of it.<p><a href="https://learn.microsoft.com/en-us/windows/apps/winui/" rel="nofollow noreferrer">https://learn.microsoft.com/en-us/windows/apps/winui/</a>
Microsoft is using React Native for Windows [0] for their Office applications [1]. As a fan of RN this would be the first avenue I’d explore if I had to develop something for Windows.<p>[0] <a href="https://microsoft.github.io/react-native-windows/" rel="nofollow noreferrer">https://microsoft.github.io/react-native-windows/</a>
[1] <a href="https://microsoft.github.io/react-native-windows/resources-showcase" rel="nofollow noreferrer">https://microsoft.github.io/react-native-windows/resources-s...</a>
Delphi is probably the best, but I can't afford it. Lazarus is pretty good, except for the documentation, which needs a huge refactoring effort.<p>You can put together small applications in minutes.
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:<p>* Bloc (UI framework)<p>* The stuff in their new presentation (will be online in a few months)<p>* Pharo<p>You could get pretty far.<p>For example, this game [1] has been packaged as a Win/Mac app [2].<p>[0] <a href="https://pharo.org" rel="nofollow noreferrer">https://pharo.org</a><p>[1] <a href="https://github.com/Enzo-Demeulenaere/Takuzu">https://github.com/Enzo-Demeulenaere/Takuzu</a><p>[2] <a href="https://github.com/tesonep/takuzu">https://github.com/tesonep/takuzu</a>
What does Microsoft use?<p>If Teams, Office, and VS Code are any indicators it is web-based technologies:<p><a href="https://techcommunity.microsoft.com/t5/microsoft-365-blog/4-recent-office-innovations-that-were-born-on-the-web/ba-p/723089" rel="nofollow noreferrer">https://techcommunity.microsoft.com/t5/microsoft-365-blog/4-...</a><p><a href="https://support.microsoft.com/en-us/office/office-is-now-microsoft-365-22eac811-08d6-4df3-92dd-77f193e354a5" rel="nofollow noreferrer">https://support.microsoft.com/en-us/office/office-is-now-mic...</a>
I am using Avalonia. If I were doing windows only I might use MAUI or WPF or something but afaik they are pretty similar, and I want it to be cross platform on mac.<p>The interface of the app is C#, the core is in CPP (I am tempted to use Zig but haven't worked with it enough to commit to it yet).
I will still place my bet for C++ combined with a third party UI Framework. I know that Qt has changed its license model, but it offers many capabilities and is battle-tested enough.<p>Otherwise another shot could be a Java/JavaFX application, possibility compiled natively or packaged with jpackage, so you deliver your own tailored JVM, without requiring the installation of a JRE on the user system.<p>Another way would be to embrace the Microsoft ecosystem with the Windows UI Frameworks and then use C# or C++
[aardio](<a href="https://aardio.com/" rel="nofollow noreferrer">https://aardio.com/</a>)<p>I have been using aardio to develop desktop software for more than 4 years. I have developed many software. It is designed specifically for Windows desktop.<p>- Based on the syntax of Lua and JS, if you have one of these 2 foundations, you can get started in 1 hour.
- Comes with an IDE, developing, compiling, debugging, rich standard libraries and sample code.
- Support WYSIWYG UI control drag-and-drop.
- Supports WebView2 and native development mixed
- Support the use of Python, Go, C#, etc., can be used as a glue language.
- The size of the packaged file is very small
- The IDE and tutorials, documentation, and IntelliSense are only available in Chinese, but by using translation, it shouldn't be too much of a problem. For experienced programmers, it is easy to understand.
WPF with some external controls.<p>- Still supported on latest .NET<p>- Most feature rich and battle tested<p>- Good documentation<p>- You will learn XAML which can be later used once when WinUI 3.0 is more mature (at least another 5,6 years will be needed with their current development velocity)<p>PS.<p>XAML is a bit different but similiar enoguh between WPF and WinUI.<p>Of course it depends on what type of application.
Asking Microsoft, it looks to be either WPF or WinForms.<p><a href="https://learn.microsoft.com/en-us/dotnet/desktop/?view=netdesktop-7.0" rel="nofollow noreferrer">https://learn.microsoft.com/en-us/dotnet/desktop/?view=netde...</a>
I'll tell you, PWAs were my "gateway drug". Once I realized that practically every app worth using was installable as PWA, I began to question why I would even need Windows anymore as an OS layer.<p>Since PWAs run in the browser of choice, they are definitely native, especially if you choose Edge, which is approaching dominance on the platform.<p>PWAs grant automatic cross-platform ability. I can install and run PWA in Windows, Android, ChromeOS, you name it.<p>Also it is super minimum hassle. Windows never bothers me about the Store, or signing, or updating any PWA; it's simply transparent.
Qt: Not only do you also get builds for Mac and linux, but everytime MS updates .NET the Qt framework supports these changes so you don't have to.
My gf did exactly that for work.<p>It was a fairly complex desktop app that did a number of interesting things in the domain of graphics too.<p>It was a simple C++ and QT app, with the necessary domain-specific libraries.<p>If you need to develop a non-trivial gui app in windows then C++ and QT is a great combo.
.NET Multi-platform App UI (MAUI) is for cross platform development but certainly targets native apps on Windows:<p><a href="https://dotnet.microsoft.com/en-us/apps/maui" rel="nofollow noreferrer">https://dotnet.microsoft.com/en-us/apps/maui</a>
Free Pascal with Lazarus.<p>By career I'm mostly a C# person but (IMHO) everything desktop UI that Microsoft have done since WinForms has proven to be not worth using for the long (or even medium) term.
DotNet core using webview 2 and something like react for the frontend.<p>Or you can look into <a href="https://tauri.app/" rel="nofollow noreferrer">https://tauri.app/</a>
People in this thread are looking at this like a "top-down" case of "when is Microsoft going to hand down the magical UI solution to everyone" when in reality, Microsoft is in the same boat as all of us which is that there is no clear direction to the future of non-web UI.<p>That leaves the opportunity of the future to the community. And I think we want to convey the message that 1. We have web UI options, so don't reinvent that wheel. 2. Windows is not web, so give us a UI that is desktop-centric. And in that vein, people use desktop for complex tasks, so don't try to force Windows into colorful Duplo-sized buttons and style (don't make Windows web: i'm looking at you WinUI, Xamarin,etc; all more recent Microsoft offerings ditch the complexity and move toward web design). We demand feature rich, deep, complex systems.<p>WPF is the most advanced UI designer ever created. WPF was made open-source (mostly) and then mothballed. It's way too complex to build from source and they are accepting nearly zero PRs from non-Microsoft sources. Maybe the move to send WPF management to the India team was a possible way to increase activity around WPF (since its repo has been drydocked and managed by like 3 people for years).<p>Avalonia is nice, but not nearly as capable.<p>I would love a potential future to be Microsoft dusting off WPF and getting serious about open-source. Fix some infrastructural problems like building from source that allow developers to begin exploring how to rebuild the rendering engine, preferably using something GPU-driven like OpenGL. There is a lot of excitement in the realm of using game engines to render UI, it would be great to have some team members be architects to design the retained-mode side of the UI interfacing with team members that are immediate mode designers, think OpenGL, Vulkan, etc. Having looked through the WPF source code, this is pretty much how it was, the WPF logic interfacing with Windows draw calls. It's just outdated.<p>WPF isn't fully open source, which is a huge problem. A lot of the low level graphics calls are still calling to non-open-source Windows libraries, so it's really opaque how to modularize the rendering calls. Microsoft needs to spend a year devoting a team to internally forking Win32 and then building interfaces for every WPF call into non-open-source rendering code. Then the community can actually fork some alternatives using modern graphics renderers.<p>I don't think we will ever see this though. Microsoft, despite languishing as a market-mover, has too much temerity to give the community this kind of control over it's core. They want WPF as an "outdated" technology to be reliant on Win32, instead of wanting it to be replaced with something more modern. They will happily keep releasing incomplete and remedial UI frameworks built atop antiquated DirectX forever.