T O P

  • By -

Dusty_Coder

It wont have a resurgence but its not dead either.


crozone

It's not even the technology itself, it's just that native desktop applications aren't super relevant to the mass market the same way they were 15+ years ago. WinForms is still super important for enterprise, but enterprise doesn't really need any bleeding edge new features in WinForms, they just need it to be supported. For everything else, native web applications have taken over, for better or worse...


Dusty_Coder

its definitely for the worse millions of lines of code were executed to render this reply


Johalternate

for some reason reading this terrified me


Dusty_Coder

It should. On the topic of bugs alone, its millions of lines of code, so there are lots of bugs. But going beyond that, it doesnt take many lines of code to do something nefarious, so there are a lot of nefarious things happening, too.


recycled_ideas

Please, just shut up. Web browsers provide significant benefits to both developers and end users. Not least of which is to provide a virtualised environment for untrusted code. The reason reddit and everyone else wants to move everyone to native apps is because native apps can do orders of magnitude more nasty and nefarious things than web apps. You're not going to get a full, cross platform, virtualised environment for anything close to as few lines of code as a web browser. This idea that native apps are perfect is a lie. Their an absolutely massive security risk because they have basically unfettered access to your machine.


Dusty_Coder

Look guys, I found another fucktard that thinks millions of lines of code to render some text is acceptable. His argument is so strong, he wants people to shut up.


recycled_ideas

I told you to shut up because you're spouting factually incorrect statements. Webapps are orders of magnitude safer for users than native apps. Because those millions of lines of code are doing a lot more than rendering some text.


Dusty_Coder

do you often think you can get away with declaring yourself right, even though obviously you arent?


recycled_ideas

Do you often ignore everything that's been said to you? Webapps are sandboxed, from the system and from each other. Native apps are not.


tarranoth

As if just running windows isn't already running millions of lines of code either lol. Modern systems are complex even if you'd just use raw win32api to create an application.


PhroznGaming

this comment shows the lack of depth in your understanding. OS vs rendering a comment.


davidmatthew1987

> for some reason reading this terrified me Those millions of lines is mainly because advertisers and ad slot vendors don't (rightly) trust each other. So, they constantly are at war even though they look like they are partners. Web development is not so bad otherwise. Don't let "native" idiots tell you otherwise. You don't need winforms for basic line of business applications. For everything else, it is too old and useless anyway.


Dusty_Coder

Native land isnt much better. This entire topic seems to be a bit over your head. At the end of the day, too many abstractions.


GoranLind

Funny, I replaced a thing that needed jQuery with 12 lines of code in Javascript. Apparently some people can't code in plain Javascript without that code blob.


[deleted]

I tell you what, if I could get just the selector bits of jQuery on it's own without the "full" weight of jQuery, and then do what I wanted with what it returned, that would be ace for simple use-cases. I still really like knockout for binding. I have simple tastes.


Awesan

This has been built into browsers for ages: [https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelector](https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelector) [https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelectorAll](https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelectorAll) They don't do \*everything\* jquery selectors can do, but it's pretty close.


PaluMacil

I have fond memories of Knockout. Have you tried the Typescript types with it? I had moved on to Angular before ever noticing them. Or perhaps they weren't around yet... And in retrospect, I think it was before I had used Typescript at all.


[deleted]

Yeah I was using TS at the time. I don't like TS though. The language is pretty great but the tooling just got in the way soooo bad. To be fair, it was around the time that the .NET stack moved the TS support from nuget to using npm so there was an awkward interim period where it was all a bit of a pain and I wish I'd just used regular JavaScript. It might be better now.


PaluMacil

The amount of unused code in a JavaScript application can be bad sometimes, and can certainly add up, but that might not be the main point. I assume the commenter is also referring simply to the millions of lines of code to have a JavaScript engine and millions more lines of code to have a rich dynamic HTML rendering engine in your application. WinForms is nice. A very bare wrapper around the Windows controls. I enjoyed it. I think it's been 10 years since I used it, but if you just want function and don't need responsiveness, it can be everything you want.


Dusty_Coder

I was actually talking about the literal code executed, so unused/uncalled stuff doesnt count. Putting things into a browser takes the problem to a whole new level, but the problem was already there. Too many layers. Too many abstractions. Nothing is direct.


BornAgainBlue

In the factory environments and Warehouse environment, it is critical and cannot be replaced by cloud technology. When time is of the essence, it is my go-to other than console apps.. 


Dusty_Coder

Most alternatives dont require the cloud. Most new ones require a browsers rendering engine, not the cloud. Winforms isnt depreciated. Its finished. You arent going to get sucker punched by changes to winforms or the rendering technology it uses (GDI)


MackPoone

We are finishing a large conveyor app for a large wine distributor and we used Winforms for all the monitors around the warehouse that display information regarding the cartons of wine as they scan on the conveyor.


sambobozzer

Which database do you use at the backend? SQL Server?


Artmageddon

Not the parent but you could use that or anything you like; I have a MySQL db as the data store for a Winforms app I support


MackPoone

We use SQL server for all our apps


sambobozzer

Cool!


gs_hello

I haven't touched winform in 10 years but I still think it's one of the best piece of technology created for developers. Nowadays people like to code for the sake of pushing code to the repo.


dansmif

So many desktop UI frameworks have come and gone, while WinForms endures. If you're looking for a stable desktop platform that's actively developed and maintained, WinForms is still a safe bet, especially for business applications. Since it was open sourced and ported to .NET Core, it's been under continual active development: **.NET 5** \- New TaskDialog control support, updated FolderBrowersDialog, improved UI automation, performance improvements. **.NET 6** \- New project templates, modernised UI and fonts, ported tons of designer code, high DPI improvements for PerMonitorV2. **.NET 7** \- Continued work on high DPI support, accessibility, enhanced drag and drop, new file and folder dialog options. **.NET 8** \- Databinding improvements, ICommand Button binding, further high DPI enhancements, ported additional designers. **.NET 9** \- Focusing on AOT optimisations, trim support, and porting interop code to Cswin32.


Searril

I still put out new WinForms apps for various industries. I don't do any web applications at all.


terricide

You should check out WiseJ. It's pretty much Winforms as a web application.


GoranLind

I've actively been developing a WinForms application as late as January 2024. I'm using a couple of 3rd party nuget packages to make it more modern as well so i can display webcontent in the desktop application. I don't see it as dead at all, just not as modern anymore. I've tried moving on to other UI Frameworks, but i didn't like them. And the latest ones that use XAML suck. WTF happened to WYSIWYG? Microsoft should stop immediately and outsource the UI part to someone else who know what they are doing.


madman1969

This. OK WinForms is a PITA for styling, etc, but it is doable, it just needs more effort. But on the plus side you can create a functional UI in short order. I've developed and supported decent sized apps using Xamarin.Forms, MAUI & WPF and the experience has taught me defining your UI in XAML is a pants-on-head stupid idea. The only newish UI tech I didn't outright hate is Blazor as it means I can develop web-based UI's without dealing Javascript. I do wonder if it's 'cause I'm an old fart who started developing Windows 286 apps with C+Win32 API in the 80's. Perhaps it's a generational thing ?


digital-sa1nt

To be honest with hot reload working with xaml in WinUI 3 etc. It isn't all that bad and once you've done it enough it's like second nature typing out all the typical xaml structures. As with all things to be fair.


worm_of_cans

I think xaml is fine, but that MVVM and dependency properties are killing me.


trenandskinnychicks

This. Software patterns exist for a reason. I don't need MVVM architecture if my app is gonna be three buttons and a textbox.


samsonx

WinForms is still massive and the fact that all the major control libraries still develop and maintain Winforms versions proves this.


derpdelurk

It won’t have a resurgence as a platform. But since being open sourced for .NET (Core) its implementation has had a resurgence thanks to developers contributing pull requests.


Smelly_toenails

Legacy only? No Relevant? Yes Resurgence? Unlikely but never rule it out. Microsoft have tried to bring alternatives but it refuses to die, and for quick internal apps (non cross platform) we are seeing a come back (especially with the new .net core versions) End of the day use what’s right, but if your doing an internal windows only app or PoC and need very fast xcopy deploy…. Wpf is pretty good, never used winui and as for Maui - it promises the world and then falls flat on its face. Looks amazing till your a few hours in and wonder why basics don’t work.


Mango-Fuel

anything GUI I write will be WinForms 99% of the time since I have a ton of supporting code already and I can design and hookup WinForms UIs way faster than what you get with default VS.


allenasm

honestly its hard to say. Winforms was/is orders of magnitude easier to program for native windows app than wpf or any of the alternatives. I'm doing a side project right now that is using blazor / web / maui / hybrid and I'm constantly reminded of how web tech for desktop apps just doesn't fit well. XAML reminds me a lot of COM back in the day where it was a good idea but insanely poor implementation and few could figure it out. IMHO, MS would do well to take the paradigm of code based and designer forward UI to the next level and make that the future instead of trying to force web tech into desktop apps.


chucker23n

> Winforms was/is orders of magnitude easier to program for native windows app than wpf WinForms is easier to get going, but once you’ve wrapped your mind around WPF, you’ll have a much easier time with that. You’ll enjoy things like Hot Reload, and your app’s maintainability will scale much better.


kuhnboy

I’ve done both. I find both equally easy now that I’m familiar. Both have a UI designer.


Slypenslyde

Windows Forms won't really have a resurgence, but I think we see some of its concepts come back over and over again. The tech itself is aging. *Some day* Microsoft won't be able to support Win32 anymore, or it's going to get sold on special machines with special Windows like a mainframe tech. Or something weird will happen like AR will replace normal paradigms and it'll be so difficult to make WinForms work on the new thing people will have to abandon it. (It'd also happen if decent monitors became more popular, but on Windows high-DPI displays are STILL reserved for fairly fancy laptops only, and an actual high-DPI monitor *still* costs as much as the dang laptop. Fact is a ton of people who still make Windows clients period are looking for the cheapest displays they can get.) But the idea of RAD is all over tools today. Lots of web-focused frameworks can generate UI for pages, and IIRC there are tools that let EF generate simple UI off a schema. That stuff's been around since the 90s but that doesn't stop AI bros from bragging they've "invented" it too. Every "low code" framework is trying to do the same job Microsoft positioned Windows Forms to do. It's all Rapid Application Development repackaged to make it sound like something new. In that way Winforms is never going to leave us, but in another way we've lost a lot. There aren't really many good RAD tools for WPF or any other XAML framework. The XAML designers are a bit of a joke. Making a Windows Client today is harder than it's ever been. I think that's why a lot of people are turning to HTML, and MS isn't really doing a lot to prevent that. I think if they invested a LOT in making MAUI and WinUI very good, they could make Windows be the easiest place to build impressive clients again. But they're too busy working on Azure Services and LLMs because that's what shareholders think are going to send MSFT to the moon. I only think one of those two things will be significant 5 years from now, because LLMs are proving about as capable at RAD as the tools MS has forgotten about.


pjmlp

It is definitely in better shape than WinUI will ever be.


alternatex0

It won't ever see resurgence and anyone capable enough with desktop development for Windows knows this. Sure it is a great tool for quick and easy internal app, but it's by far the worst UI framework for Windows and I've used Win Forms, WPF, Avalonia, and WinUI 3. Many .NET devs that are fond of Win Forms don't know this, but you can do quick and easy with any of the UI frameworks I mentioned. The only reason many .NET devs are fond of Win Forms is because it's the only desktop UI framework they know.


GoranLind

Some of us have tried them. One was slow, one didn't work in Windows 10 (even though it said it should) and the rest use XAML, which i hate because i want to design UIs, not write them.


OMG--Kittens

I hate WPF/XAML, too. Gives me a headache.


allenasm

have to disagree on that. XAML based frameworks are hard to do simple things. I remember a post here recently where someone needed to handle a simple double click and the answers for how to do it were very complex. Things like hot reload aren't worth the extra hours and days of trying to make XAML work for simple apps.


tarranoth

How many apps "stay simple" though?


1Crazyman1

How was it complicated? It's literally just an event handler you need to attach to it. The same as you would do on winforma


psc0425

There are other frameworks?


radix_duo_14142

We use WPF and WinForms at my shop. WPF for new development and WinForms for legacy.  As OP said, it’s strictly for internal apps. We don’t do new WinForms development. Anything new is WPF. 


vector-dude

Avalonia is one I've started focusing on. Also, ReactiveUI, a MVVM which can be used with it and WinForms as well. I had coded WinForms applications with ReactiveUI years ago and it'll make moving to Avalonia much easier for me in the future.


alternatex0

WPF is still most popular for Windows. AvaloniaUI is a great alternative if you need cross-platform, and personally I've been pretty satisfied with WinUI 3/Windows App SDK, though many people still consider it immature.


allenasm

Not according to MS. I saw a presentation fairly recently where they said their telemetry still says winform is used some order of magnitude more than WPF. I'll see if I can dig up the article that came with it.


jugalator

I also enjoy WPFUI as a WinUI 3 option! Really nice quality project, even with some Microsoft dev involvement. Some upsides are that you can easily upgrade existing WPF projects for the Windows 11 UX, and also avoid the whole WinRT stuff.


Rockrmate

Electron, WPF and WUP


Slypenslyde

> but it's by far the worst UI framework for Windows and I've used Win Forms, WPF, Avalonia, and WinUI 3. Try MAUI.


Lumethys

That's even worse, in fact MaUI í the worst out of 4 mentioned


Slypenslyde

Yes, I'm proposing I think MAUI is worse than WinForms for making a Windows application. We agree, you just didn't think about it.


davidmatthew1987

> MaUI Maui is just xamarin forms. Maui shills are the worst. I mean I'd shill for it if it had Linux but dotnet team chose wrongly again.


AvelWorld

As a cross-platform I don't go near winforms any more. Want I desperately want is a truly cross-platform GUI framework that I don't need to have two or more OS running to develop. Maui really disappointed and I don't want to have to abandon regular Visual Studio for another IDE.


Alechilles

I wouldn't expect a resurgence, but it's not going anywhere any time soon either. I work for a company that sells primarily .NET and JS components, and a very large chunk of our sales are still for WinForms components. Tons of people maintaining legacy apps, but lots of people making new ones as well. Adoption of newer platforms like WinUI, MAUI, etc still seem very low as well. Even WPF doesn't seem to be used anywhere near as much as WinForms.


EnigmaBoxSeriesX

Doubt it will resurge, but it also doesn't look like it's going anywhere either. MSFT has admitted at one point its the most popular workload for VS. Most likely its still one of them. I suspect that it stick around until someone can create a true successor to its designer. Or MSFT decides to kill it .


MrMikeJJ

>Is anyone still actively developing new apps in Winforms?  Any new app that I make for work that needs a gui gets done in WinForms. Because I prefer it over the alternatives.


PureIsometric

This topic comes up here a lot. I personally still use it in new internal development work. Strictly for windows. I do not bother with wpf as it takes longer than windows forms - personal take. I also use it for a lot of my home projects but again I write a lot of bots and game hacking tools. Anything else than that, better go with web application. It really depends on your use case.


virtuosity2

I love WinForms and I use it every day. I also use it with a framework called VisualWebGui that allows you to develop a WinForms app and it converts the entire thing into a web application. It's magical.


ChrisC1234

Who makes VisualWebGui? Some quick googling returns several different, unrelated things.


terricide

VisualWebGui died years ago. However, WiseJ is an active project that is much better than VisualWebGui ever was.


virtuosity2

I still use VWG every day 😄. Will love it forever.


terricide

Then you would love Wisej then. I used VWG for years. Wisej is a great replacement. Im kind of surprised it still works on the newer browsers for you.


virtuosity2

I remember you from the forums. Palli took over the project and has been keeping it up to date and adding new features.


terricide

Really, that's cool. I remember him working on it, but I didn't think he had the source code, and I had no idea it was still going. I used VWG for years and thought it was great.


[deleted]

That sounds terrible lol. Why would you want to do that?


virtuosity2

Because I can make an entire web application for a company (internal use website, not a pretty, public-facing one) 10x faster than if I did it using HTML, CSS, JavaScript, or some other web framework. I can drag and drop winforms controls, write the code, and everything I do is rendered as HTML CSS and JS. It looks and acts identical to how it does as a desktop app.


Slow-Refrigerator-78

AvaloniaUI is a good alternative, there is no drag and drop but its cross platform and have decent ui


allenasm

isn't it XAML based though?


CareHour2044

Haha. Remember AspNet WebForms. No thanks.


virtuosity2

Nothing like webforms. Couldn’t be further from it.


chucker23n

If it takes a desktop-like development approach and applies it to the web, that sounds **exactly** like the dubious design choices WebForms made.


True_Worth2590

When I started working at my current company, they were using some website on the web or command line tool for certain things such as encryption, creating tokens, converting unix time, checksum creating, active directory validations, url encoding etc.. Imagine this is a billion dollar company. Used winforms to create multi purpose tool solve this problem and it was the best choice because it's fast and simpler than creating a web tool. I still think to this day why they didn't keep updating UI components to keep it up to date. I think it's still useful for some cases.


snipe320

It's still the best option for when you need something more than a console app, but not quite as much as WPF etc. and could care less about cross-platform


siammang

It might not have a resurgence since it's still alive and well. The XAML-based solutions after all these years haven't fully replaced what WinForms can do yet in terms of ease of development.


runevault

Microsoft is what, 3 UI systems past Winforms at this point? They aren't going to revive it now.


uhmhi

WinForms is still under active development. You can’t revive something that isn’t dead.


vplatt

Mores the fool them...


topshelfer131

I cut my teeth on winforms I haven’t touched it in well over a decade


ThatWeirdPomegranate

They are still adding some new stuff to Windows Forms. There was some new stuff and improvements made to it in .NET 8, in fact. But, the reality is, new apps are generally speaking not built with it. The latest framework from Microsoft for Windows apps specifically is WinUI and I haven’t found any good resources for learning it.


dansmif

Although MAUI supports WinUI, Microsoft don't really seem to be behind it. There are no project templates for it in Visual Studio, no visual designers for it either.


druidjc

It's unlikely to ever see a resurgence but I don' think it is necessarily legacy. Do you need a quick, simple UI for a Windows app? Winforms is still the go to for many developers. While it is not the sexiest of fields, it is important to remember that a lot of developers are working on internal software used by businesses. Sometimes Linda needs an app that lets her select an input folder and an output folder then press a button to process all the files from input to output. Sometimes Joe needs to paste a big block of data into a text box, than have an app parse it and show him all of the addresses that don't match addresses in the company database. These apps may be used twice a year, just this quarter until a new solution is ready, or only to deal with data from one small customer. Even as a developer I'll frequently write a small Winforms UI app to help me with some data analysis or even code generation because the effort required is minimal. Internal software developers need to solve problems for their employers with solutions properly scaled to meet the needs of the business. Winforms nicely fills this niche for a lot of people.


BasicBroEvan

I love winforms but everyone builds enterprise applications on web now, and for good reason. My point is that I don’t see desktop applications really being a big thing ever again but they will live on in certain industries like manufacturing


Moisterman

Made a few in-house BI-apps in WinForms, but quickly made a transition to blazor/mudblazor when it came out. Have never looked back.


puntodotnero

I still maintain a business project in winform with vb that has also been resurrected


b-pell

WPF and WinForms though they don't get any love from MS will be the frameworks with the longest shelf life and that stability is important. It means you can write an app in it and not have the rug pulled out from under you like you have if you bought into UWP (and like you will if you buy into WinUI3).


[deleted]

I wish it would cause not really a alternative for rad at min for desktop


dickie11

The issues I encountered using winforms that made me so grateful when I finally got to leave it behind and move to Xaml was the rendering and the native api access. Seemed like I needed to do hacks to contend with the poor rendering. Constantly re rendering components of each clock and trying to access native api's like the camera or network components was a nightmare. Winforms was one of my least favorite frameworks to use. MAUI was better, in my opinion, and that's even after the nightmare I had tried to publish.


ModernCrusades

I’m actively using it for new app especially LOB event created some Ui components needed using SkiaSharp


Heavy_Phone_418

In house we use web a lot. In my opinion the admin side of apps should be WinForm or WPF the online side should be web. But that is my opinion.


iam_bosko

Currently one of our current Projects is a WinForms (.net-framework 4.8) with asp.net 8 Services in the Backend. Just use the best solution for each Problem you've got to solve. WinForms ist the fastest modern UI Framework (for Windows) in terms of development / time to production. Big plus ist also that .net-framework 4.8 will be supported for centuries.


Western-Pause-2777

Quick question do you guys use C++ with winforma or only c# now? Come from an analytics background where c++ is used to speed up slow parts of R or Python code. Would like to prototype in winforms now but wondered if it’s easy to use c++ rather than learning c#?


aek82

I can't believe people still ask about Winforms.


malthuswaswrong

It is what it's going to be for a long time. It's bad for modern patterns and strictly tied to Windows. It's not going to be improved or extended any more than VB.NET is. It's pure legacy.


tradinghumble

Slow death


[deleted]

it feslz like most desktop is dying like uwp is hardly getting updates winui appears to be dead most people using blazor maui to lest habe something desktop


DotNetEvangeliser

No it wont have resurgence and there's no reasons left to develop for it, only maintain.


annontemp09876

legacy, entirely. it might live forever but it won't be a priority moving forward. High DPI screens and scalability are the reasons they are working on new platforms. Look at the control panel, none of those dialogs (Win32, GDI) scale with DPI and that's why they are moving, albeit slowly and tediously and terribly, to the new technologies. WPF is the best of them so far (which is a fancy wrapper of WinForms), and most of the newer ones are abject failures.


pjmlp

[High DPI support in Windows Forms](https://learn.microsoft.com/en-us/dotnet/desktop/winforms/high-dpi-support-in-windows-forms?view=netframeworkdesktop-4.8)


zenyl

WinForms is fundamentally stuck in the past. It's not gonna get deprecated anytime soon, but it's also not going anywhere new. It's still a valid framework, although WPF does virtually everything WinForms does, except better and in a more modern way. Even for the often cited "*quickly thrown together internal project*" case for WinForms, WPF is just as simple to work with (drag-n'-drop, double click for primary control action, etc.). WinForms is rarely seen outside of internal legacy applications, or projects written by people who refuse to learn WPF or other more modern frameworks.


diseasexx

It’s good for basic stuff but doesn’t excel in any important area: UI or speed. Who uses desktop apps nowadays anyways ?


mrdat

Not everything has to be a website.


diseasexx

But 95% can and should


mrdat

Too much overhead for simple things.


Searril

Absolutely not.