HACKER Q&A
📣 noseratio

What UI framework to choose for a greenfield LOB Windows-only app?


Looking for opinions, thank you. It may sound funny in 2021, but I'm inclined to use WinForms.


  👤 the_only_law Accepted Answer ✓
Shit, I’m completely with you on WinForms. It works, it’s simple, and native.

WPF is almost nice. I’ve enjoyed it especially when trying to make crazy looking UI’s, but I can’t bring myself around to because of the god awful methods for styling components.


👤 Someone1234
Controversial take: Electron.

For background: I cut my teeth on Windows Forms and then WPF later (both VB6 and C# .Net then Core). So I am not anti-Microsoft/Windows specific technologies, and both WinForms and WPF still work just fine. If you already have them in production, keep going. The discussion here is greenfield.

Why do I lean Electron in 2021?

- Better migration paths/exits (e.g. Business wants a web/intranet version? Incredibly easy/cheap migration). ASP.NET would allow some code reuse from WinForms/WPF, but we're mostly talking about DAL/DOMAIN/BLL, UI is a full re-write (Blazor is also a full UI re-write, as the structure is different from WinForms and or WPF).

- More/cheaper talent.

- Larger availability of libraries (inc. better official third party integration libraries & support).

- Testing and or infrastructure as code as core components rather than afterthoughts/tack-ons.

- If you ever want to support other desktop or mobile platforms it goes from an improbable project with WinForms/WPF to a fairly manageable one (not free, still requires testing/tweaks, but even .NET 5.0 doesn't have a fantastic all-platform UI story, aside from web/ASP.Net).

Sad part is that I don't even like JavaScript/Node.js/Electron very much, but yet the whole package in 2021 is extremely difficult to ignore. Plus in my limited experience almost all LOB eventually grow until they become web-apps of one type or another.


👤 noseratio