TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

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

51 pointsby grumblingdevover 1 year ago
I’m talking the most native look and feel for the Windows platform.<p>Is it XAML and C#?

32 comments

fassssstover 1 year ago
Without more details, this is the way to get the most native Windows 11 look and feel:<p><a href="https:&#x2F;&#x2F;learn.microsoft.com&#x2F;en-us&#x2F;windows&#x2F;apps&#x2F;winui&#x2F;winui3&#x2F;" rel="nofollow noreferrer">https:&#x2F;&#x2F;learn.microsoft.com&#x2F;en-us&#x2F;windows&#x2F;apps&#x2F;winui&#x2F;winui3&#x2F;</a><p>Disclosure: I work at Microsoft on a team that works on visual look and feel for Windows.
评论 #37476743 未加载
评论 #37479568 未加载
评论 #37475612 未加载
评论 #37480176 未加载
评论 #37478271 未加载
评论 #37496234 未加载
fckmsftover 1 year ago
You need to check whatever half-arsed framework &quot;that will be universal and encompass everything&quot; 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.)
bmitcover 1 year 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:&#x2F;&#x2F;learn.microsoft.com&#x2F;en-us&#x2F;windows&#x2F;apps&#x2F;winui&#x2F;" rel="nofollow noreferrer">https:&#x2F;&#x2F;learn.microsoft.com&#x2F;en-us&#x2F;windows&#x2F;apps&#x2F;winui&#x2F;</a>
评论 #37479925 未加载
dansiemensover 1 year ago
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:&#x2F;&#x2F;microsoft.github.io&#x2F;react-native-windows&#x2F;" rel="nofollow noreferrer">https:&#x2F;&#x2F;microsoft.github.io&#x2F;react-native-windows&#x2F;</a> [1] <a href="https:&#x2F;&#x2F;microsoft.github.io&#x2F;react-native-windows&#x2F;resources-showcase" rel="nofollow noreferrer">https:&#x2F;&#x2F;microsoft.github.io&#x2F;react-native-windows&#x2F;resources-s...</a>
评论 #37477186 未加载
评论 #37480392 未加载
mikewarotover 1 year ago
Delphi is probably the best, but I can&#x27;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.
评论 #37475547 未加载
评论 #37475645 未加载
评论 #37475448 未加载
melvinroestover 1 year ago
If you&#x27;re feeling adventurous, I&#x27;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&#x2F;Mac app [2].<p>[0] <a href="https:&#x2F;&#x2F;pharo.org" rel="nofollow noreferrer">https:&#x2F;&#x2F;pharo.org</a><p>[1] <a href="https:&#x2F;&#x2F;github.com&#x2F;Enzo-Demeulenaere&#x2F;Takuzu">https:&#x2F;&#x2F;github.com&#x2F;Enzo-Demeulenaere&#x2F;Takuzu</a><p>[2] <a href="https:&#x2F;&#x2F;github.com&#x2F;tesonep&#x2F;takuzu">https:&#x2F;&#x2F;github.com&#x2F;tesonep&#x2F;takuzu</a>
评论 #37493065 未加载
评论 #37480444 未加载
slaterover 1 year ago
Electr..HEY...[gets beaten to a bloody pulp]
评论 #37475755 未加载
thesuperbigfrogover 1 year ago
What does Microsoft use?<p>If Teams, Office, and VS Code are any indicators it is web-based technologies:<p><a href="https:&#x2F;&#x2F;techcommunity.microsoft.com&#x2F;t5&#x2F;microsoft-365-blog&#x2F;4-recent-office-innovations-that-were-born-on-the-web&#x2F;ba-p&#x2F;723089" rel="nofollow noreferrer">https:&#x2F;&#x2F;techcommunity.microsoft.com&#x2F;t5&#x2F;microsoft-365-blog&#x2F;4-...</a><p><a href="https:&#x2F;&#x2F;support.microsoft.com&#x2F;en-us&#x2F;office&#x2F;office-is-now-microsoft-365-22eac811-08d6-4df3-92dd-77f193e354a5" rel="nofollow noreferrer">https:&#x2F;&#x2F;support.microsoft.com&#x2F;en-us&#x2F;office&#x2F;office-is-now-mic...</a>
评论 #37479973 未加载
joeld42over 1 year ago
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&#x27;t worked with it enough to commit to it yet).
评论 #37488312 未加载
deterministicover 1 year ago
If you want a performant application use C++ and Win32. Yep I am serious.
edandersenover 1 year ago
To make an app with the same &quot;nativeness&quot; as the &quot;Settings&quot; app, you need to use UWP, or WinUI 2.7+. But not 3.0+.
评论 #37480042 未加载
评论 #37477752 未加载
madduciover 1 year ago
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&#x2F;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++
评论 #37480436 未加载
dmitrygrover 1 year ago
MFC never went away. And you can target winNT all the way to win11
评论 #37491366 未加载
dylanzhangdevover 1 year ago
[aardio](<a href="https:&#x2F;&#x2F;aardio.com&#x2F;" rel="nofollow noreferrer">https:&#x2F;&#x2F;aardio.com&#x2F;</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&#x27;t be too much of a problem. For experienced programmers, it is easy to understand.
评论 #37510296 未加载
bags43over 1 year ago
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.
评论 #37500048 未加载
turtlebitsover 1 year ago
Asking Microsoft, it looks to be either WPF or WinForms.<p><a href="https:&#x2F;&#x2F;learn.microsoft.com&#x2F;en-us&#x2F;dotnet&#x2F;desktop&#x2F;?view=netdesktop-7.0" rel="nofollow noreferrer">https:&#x2F;&#x2F;learn.microsoft.com&#x2F;en-us&#x2F;dotnet&#x2F;desktop&#x2F;?view=netde...</a>
NoZebra120vClipover 1 year ago
I&#x27;ll tell you, PWAs were my &quot;gateway drug&quot;. 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&#x27;s simply transparent.
johneaover 1 year ago
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&#x27;t have to.
评论 #37476569 未加载
znpyover 1 year ago
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.
hbcondo714over 1 year ago
.NET Multi-platform App UI (MAUI) is for cross platform development but certainly targets native apps on Windows:<p><a href="https:&#x2F;&#x2F;dotnet.microsoft.com&#x2F;en-us&#x2F;apps&#x2F;maui" rel="nofollow noreferrer">https:&#x2F;&#x2F;dotnet.microsoft.com&#x2F;en-us&#x2F;apps&#x2F;maui</a>
评论 #37480888 未加载
jeffrallenover 1 year ago
Assembly: <a href="https:&#x2F;&#x2F;www.plantation-productions.com&#x2F;Webster&#x2F;Win32Asm&#x2F;index.html" rel="nofollow noreferrer">https:&#x2F;&#x2F;www.plantation-productions.com&#x2F;Webster&#x2F;Win32Asm&#x2F;inde...</a>
bvoqover 1 year ago
Flutter is not a bad choice if you want to build a cross platform app.
评论 #37510312 未加载
kcartlidgeover 1 year ago
Free Pascal with Lazarus.<p>By career I&#x27;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.
Panqueca_do_marover 1 year ago
DotNet core using webview 2 and something like react for the frontend.<p>Or you can look into <a href="https:&#x2F;&#x2F;tauri.app&#x2F;" rel="nofollow noreferrer">https:&#x2F;&#x2F;tauri.app&#x2F;</a>
m_fayerover 1 year ago
Blazor hybrid is very productive if you want to stick at least somewhat to the Microsoft world and retain the power and ecosystem of web-ui.
steve1977over 1 year ago
I guess the variety of comments shows one thing: the answer to your question is: if it’s an option in any conceivable way - don’t!
lukew3over 1 year ago
Ignoring your question about most native look and feel, I&#x27;m curious why Electron is still being suggested when Tauri exists
yumrajover 1 year ago
Looks like MFC is still a thing.
评论 #37477550 未加载
评论 #37478820 未加载
JohnDeHopeover 1 year ago
The answer to this question is: you have asked the wrong question.
yettover 1 year ago
WinUI 3
CrimsonCapeover 1 year ago
People in this thread are looking at this like a &quot;top-down&quot; case of &quot;when is Microsoft going to hand down the magical UI solution to everyone&quot; 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&#x27;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&#x27;t try to force Windows into colorful Duplo-sized buttons and style (don&#x27;t make Windows web: i&#x27;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&#x27;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&#x27;s just outdated.<p>WPF isn&#x27;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&#x27;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&#x27;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&#x27;s core. They want WPF as an &quot;outdated&quot; 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.
farseerover 1 year ago
I will say it without fear: nothing beats electron in beauty and eye candy. You have the entire HTML5&#x2F;CSS3 at your disposal.
评论 #37477565 未加载