Ask HN: 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. 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. Thanks for your thoughts! I've been mostly involved with Electron lately and I'm a believer in all-HTML UI. For this project though, Electron was ruled out. I've actually come to understand the appeal of Electron recently. CSS is an amazing tool for styling and something like WPF + CSS would be a great tool IMO if it existed. Maybe some styling tool similar to CSS exists in modern XAML/WinUI3? I must admit, I haven't followed that space much recently. 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. Thanks! I'm totally with you on Electron, as I've mentioned earlier in this thread. Ironically, Electron was turned down because the team didn't like the idea of coping with C++ (required for low-level custom add-ons). WebView2 with C# was also on the table, but that'd be a big overkill IMO. Then, WPF: https://dev.to/noseratio/the-signs-of-wpf-currently-being-on... Ranted about this choice previously: https://dev.to/noseratio/the-signs-of-wpf-currently-being-on...