7 ms·
Never build a frontend on a .NET technology. Period. They always end up unsupported in the end. Just use standard web technologies and thank yourself later. I'v
by latentsea 1y ago
Never build a frontend on a .NET technology. Period. They always end up unsupported in the end. Just use standard web technologies and thank yourself later. I've been a .NET dev for a decade now and that's what I've learnt.
- password4321 1y agoExcept WinForms, spectacular for Windows-only utility GUIs.
- glzone1 1y agoNo kidding - kind of wild that winforms is still kind of a gold standard experience today! I actually liked VB Forms - lots of easy rapid application development was possible.
- issafram 1y agoWPF as well
- memsom 1y agoI like WPF and I code with it regularly, but the drag and drop UI builder was the worst aspect of WPF and generated terrible Xaml that was almost impossible to maintain.
- memsom 1y agoDelphi was the best RAD tool though. It was native code, not a weird interpreted or jitted app. It could also build to a single exe file. VB struggled with an unwieldy engine for most of its life.
- fuzzzerd 1y ago> spectacular Not exactly the word I'd use, since it really hasn't changed since VB4, but it's definitely reliable and stable.
- memsom 1y agoWinForms came way after VB4 and it was a .Net only technology.
- nxobject 1y agoIIRC, because of Wine, Mono has enough of WinForms to make a few things work. But who the hell wants to distribute an application with a Wine runtime?
- mrweasel 1y agoI was going to suggest the same, just use WinForms. It's basically feature complete, and it's going to be the last UI framework Microsoft is going to yank out from beneath you.
- brokencode 1y agoAs wrong as it feels to have to use Electron for a desktop app, it really is the safest approach for most applications. Qt also seems to be a good option, though there are licensing considerations for commercial applications. I’m excited for various upcoming Rust options as well, but right now Electron is the battle tested option. I am curious though about Avalonia. I’ve heard good things, but it’s definitely a smaller player compared to Electron. I’d most likely choose it over Microsoft’s first party frameworks.
- bigstrat2003 1y ago> it really is the safest approach for most applications. It's also the option which gives your users by far the worst experience. Not worth it at all, imo.
- brokencode 1y agoNot really. The downsides are mostly overblown. Plenty of category leading applications like Discord, VSCode, Slack, Figma, etc. use it quite successfully.
- PenguinCoder 1y agoAll of those are examples of overbloated, slow, horrible user experience apps.
- brokencode 1y agoThey work great for me.
- homebrewer 1y agoOh yes, the great old "works for me". On a yesterday's supercomputer, I presume? I live in a "developing" (have doubts it's really developing) country, most people are running laptops with no more than 8 GiB of RAM (sometimes it's 4 or less), and all this Electron nonsense is running like molasses, especially if you're trying to use a computer like a proper computer and do multitasking. And most of the world is like that, very few of us (speaking globally) have $2k to drop on a new supercomputer every few years to run our chat applications.
- apatheticonion 1y agoTauri is pretty awesome. Rust backend, WebView front end. Nothing uses native desktop elements of course. To be fair, there is no practical way to write native desktop applications using stylistically consistent UI elements AND have it be portable AND in a language that you enjoy using. As far as I can tell, Windows 11 doesn't even have a toolkit with platform UI elements. GTK on Gnome is pretty okay and GTK-rs is not dissimilar to React. Who know what MacOS uses but something something Swift XCode. But I agree, just use web technologies. Write once, ship everywhere (and hum loudly when people complain about poor performance - joking, it's the vendors' fault we have to use web technologies).
- codedokode 1y ago> Rust backend, WebView front end. I don't know much about it but it seems like a weird combination. If you want high performance and low memory usage, you don't want HTML, if you want fast code writing, you don't want Rust.
- powersnail 1y agoI could see a case where the core logic needs to be performant, but the UI does not. The front end could be some menus, displaying (not a giant amount of) data, and a progress bar, while the back end does heavy computing. And furthermore, if you want fast code writing, you write in the language you already know. For some people, that is Rust.
- Ray20 1y agoA very reasonable combination: - HTML is the main way of designing interfaces (whether we like it or not) - Rust is the main language promoted by intelligence agencies with multi-billion dollar budgets because it is laced with their backdoors (whether we like it or not)
- PhilippGille 1y agoThere's Wails for Go backend and webview frontend; https://github.com/wailsapp/wails https://github.com/wailsapp/wails
- 1y ago
- issafram 1y agoSo you've never used WinForms, WPF and MVC
- LeFantome 1y agoMVC is not .NET of course. You are right that WinForms and MVC have been around forever. However, Microsoft has continuously told devs that they are the past. So, you would be forgiven for expecting them to go away. WinUI is the current official desktop paradigm and it is basically UWP from an API point of view. So the idea that UWP went away is not 100% accurate either. Microsoft does not really abandon their UI tech like people say they do. But look how many different frameworks they have. All of the above is Windows desktop only. There are a completely different set of UI technologies for the web. UNO Platform (Open Source) allows you to use the WinUI API to target almost anything. .NET MAUI is the official "cross platform" UI tech from Microsoft. It is what you use to target iOS and Android. As a bonus, you can target macOS and Windows too. On Windows, it uses WinUI. You will notice that the Linux desktop is missing from that list. Here comes Avalonia to build MAUI on top of the Avalonia framework. This adds Linux and WASM to the list of platforms that MAUI will run on. Adding Linux is awesome. A lot of people have wanted that and it really completes the MAUI cross-platform story. Adding WASM is neat but MAUI was never meant to target the web. If you use it for that, it is literally just the modern version of Silverlight. But Microsoft did not design it for that at all. It is just a back-end that Avalonia supports.
- AllegedAlec 1y ago> MVC is not .NET of course. https://en.wikipedia.org/wiki/ASP.NET_MVC https://en.wikipedia.org/wiki/ASP.NET_MVC
- alternatex 1y agoI feel like they're both talking about MFC instead..
- deleted 1y ago[deleted]
- pathartl 1y agoBlazor is pretty great. It is mature at this point and MS is using it internally more and more. Trying to go back to something like React makes me shudder. It's not perfect, but it's better than many alternatives.
- oaiey 1y agoI agree. For Blazor there is hope. It is standard based (web assembly, HTML, css) and it feels very intuitive particularly when compared to other spa frameworks like react. Also you can reuse all your html, css and design systems you have. Which is huge because like that it hooks up with the whole web development stack.
- phito 1y agoI sure never will write a single line of JS/TS again now that Blazor exists and is stable.
- vjvjvjvjghv 1y agoSame for me. I used to do desktop dev with MFC and WPF but these days you would be suicidal to build any app that needs to last for a few years on .NET. If totally needed, WPF is still the best bet. Otherwise I am pushing everything I can to the web.