|
Wordle 984 5/6*
⬛⬛⬛⬛🟨
⬛⬛🟨⬛🟨
⬛🟨⬛🟨🟨
⬛🟩🟨🟩⬛
🟩🟩🟩🟩🟩
|
|
|
|
|
I've noticed a trend here on the site where authors/developers are still writing GUI applications in MFC (for C++) and/or WinForms. What's noticeably absent is WPF in either Framework or .NET Core.
So I pose the question (this is not snark, I genuinely want to know) why authors/developers are still choosing old(er) technology?
I used to think it was the learning curve, but I suspect there's more to this story.
Bonus Question: What's also noticeably absent is VB6 and VB.NET. Have those platforms truly bitten the dust (for good)?
modified 27-Feb-24 21:56pm.
|
|
|
|
|
Maybe because none of the new technologies really survive for more than a few years (months) and are replaced by the next hype?
[Edit]
It now seems to be extremely time-consuming to switch from one VS/C# V xyz to the next.
In other words, we are mainly busy migrating from a VS/c#/xyz version to the current version (with all the inconveniences that this entails) without achieving any real benefit for our applications.
[Edit 1]
Btw. forgot to mention, your question is a good question
modified 27-Feb-24 14:46pm.
|
|
|
|
|
There's no modern Windows UI toolkit for NATIVE C++ from Microsoft.
I think the last thing they introduced was the ribbon and it barely worked, (that was in 2008 ?))
They've abandonned us.
Previous job was on MFC and some Win32. (20+ years of development/history) and in a previous job, they switched to QT after I left.
Current job is on pure Win32. (30+ years of development/history). Switching to another toolkit like QT would be wildly prohibitive (time and money) and we'd loose a crap ton of features.
At home, if I want to quickly put up a mockup in C++ , I'll do it with MFC.
CI/CD = Continuous Impediment/Continuous Despair
|
|
|
|
|
Another theory is (please note just one thought from an older man):
a.) The young programmers master all of these new tools. But they are not able to solve a practical task with it.
b.) This means that the older programmers who cannot/will not use the new tools have to solve the practical requirements with the tools they know.
If this thesis were to be true, it would be truly tragic
modified 27-Feb-24 15:05pm.
|
|
|
|
|
I tried every "language" and platform that came out; paying "thousands" at a time, just to "play the game". This was before "open source" was even a term.
All those "lessons" led me to C# and UWP; after C# and WPF; after C# and WinForms; after Java and Struts, JBoss, Swing, NetBeans, Eclipse, .... and and on.
I "knew" things could be better ... and now they are. I can target PC's, ARM, XBox, Hub, Mobile ... and write in the style "I like" and never hitting a wall (yet). Different strokes.
"Before entering on an understanding, I have meditated for a long time, and have foreseen what might happen. It is not genius which reveals to me suddenly, secretly, what I have to say or to do in a circumstance unexpected by other people; it is reflection, it is meditation." - Napoleon I
|
|
|
|
|
I can create applications faster in Winforms than I can in WPF, because the designers in WPF were created at gunpoint.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
Violently agree.
I use WinForms to build desktop apps because that's the quickest way for me to bring a tool or product UI to market with the smallest potential for bugs. And that's the same reason I use .NET Android to build native Android apps.
/ravi
|
|
|
|
|
Unfortunately, Embarcadero (formerly Borland) never managed to break through into the market.
But I don't know of any other tool that supports, among other things, inheritance of visual and data components as transparently and perfectly as they do.
But unfortunately they never managed to produce a reasonably stable version or a community or an Embarcadero ecosystem.
And of course this relatively small company Embarcadero has no chance of providing something equivalent to the .NET Framework.
|
|
|
|
|
Once you get the hang of it WPF is really nice and you can do a lot ito styling and customization.
|
|
|
|
|
This is exactly why I use WinForms. I don't want to style or customize. I'm a back end dev mostly. Dragging and dropping elements and using the mouse to resize is the most customization I want. From there, I can focus on writing code that actually completes the task I started with.
Hogan
|
|
|
|
|
Understandable. WPF can do drag and drop too, but if Winforms is easier for a simple ui then use what you're familiar with
|
|
|
|
|
but then there's the DPI issue, which is the main reason I started to work more with WPF...then I fell in love with how WPF does databinding (yes, I know it can be done in Winforms too, but it was more of an afterthought and doesn't work quite as cleanly, IMHO)
|
|
|
|
|
And you found out WPF can also bind data async right?
That made a huge impact on my work before i had to switch to blazor and angular for the front end.
Rules for the FOSW ![ ^]
MessageBox.Show(!string.IsNullOrWhiteSpace(_signature)
? $"This is my signature:{Environment.NewLine}{_signature}": "404-Signature not found");
|
|
|
|
|
I hadn't looked into it, but perhaps I should!
|
|
|
|
|
(And where is the "user" in all this? "I don't want to ...") With "flexibility" comes complexity. UWP and WPF are more "flexible" than Windows Forms. They actually have a "model" for the UI; it's called the "visual tree"; and it gives the whole thing meaning. Versus "drag and drop" (or drop and drag). The "designers" are "flat and 2d" and cannot intelligently construct "complex" (hierarchical) graphic interfaces. WPF and UWP requires a mental shift that "dabbling" doesn't scratch.
"Before entering on an understanding, I have meditated for a long time, and have foreseen what might happen. It is not genius which reveals to me suddenly, secretly, what I have to say or to do in a circumstance unexpected by other people; it is reflection, it is meditation." - Napoleon I
|
|
|
|
|
I'm a back end web developer currently, so my user is myself. I've built a few tools, but it isn't going to customers.
Hogan
|
|
|
|
|
Let's admit that your priority isn't creating "engaging user interfaces". Others seem only interested in delivering "fast". Nowhere have I seen a statement that one does what one does because it's what the "user wants".
I only create software that I would use personally; and that does not mean taking "short cuts". I said I "like" my tools; but that is only because they can deliver everything the user has asked for to date. Which includes "shiny".
"Before entering on an understanding, I have meditated for a long time, and have foreseen what might happen. It is not genius which reveals to me suddenly, secretly, what I have to say or to do in a circumstance unexpected by other people; it is reflection, it is meditation." - Napoleon I
|
|
|
|
|
If I wanted to build "engaging user interfaces" I'd use AvaloniaUI or something, not WPF, which is already dated.
You sound like a snob. My apps are fine. Sometimes less is more.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
A "snob"? I find you arrogant. I can see why people leave. The "honey" mutual admiration society.
"Before entering on an understanding, I have meditated for a long time, and have foreseen what might happen. It is not genius which reveals to me suddenly, secretly, what I have to say or to do in a circumstance unexpected by other people; it is reflection, it is meditation." - Napoleon I
|
|
|
|
|
I only create software that I would use personally; and that does not mean taking "short cuts".
Implying I do.
Maybe pay more attention to what you write.
Then you won't seem like a hypocrite for taking offense after being insulting and being responded to in kind.
Just sayin'
Edit: If you're implying I'm the one that made Randor leave, you couldn't be more wrong. He and I are in contact on Reddit.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
modified 28-Feb-24 13:54pm.
|
|
|
|
|
Good question(s).
I'll hazard a guess and say perhaps some C++/MFC devs chose to not want to have to learn a new language and UI framework. In 2005, after a couple of years of using C# and .NET, I ported my MFC apps to WinForms and have never looked back.
/ravi
|
|
|
|
|
To get a developer to change is very difficult.
Mainly they can do it faster the old way and most of the time they don't have the time to learn the new way.
I worked for a mayor company, a long time ago that used C as their main language. When I came along and developed libraries, gave classes and tried to spend time teaching them C++ I had no takers.
Just an old hippie and don't know what to do;
Should I hang on to the old or grab on to the new? Bellamy Brothers
"Ten men in the country could buy the world and ten million can’t buy enough to eat." Will Rogers
PartsBin an Electronics Part Organizer - Release Version 1.3.1 JaxCoder.com
Latest Article: EventAggregator
|
|
|
|
|
At "my" company we create a lot of small applications. Many of them have data grids to display e.g. a bill of material, tree-views, little bit of drag and drop, etc.
We wire this up way faster with Winforms than with WPF. The WinForms data binding isn't that bad. And there are almost never surprises that make you google for hours how to solve this weirdness. Maybe if we would use 3rd party controls like we do in WinForms (DevExpress), it would be easier. But plain WPF takes a ridiculous amount of time to make things work.
We also have two teams which work on big WPF projects for years now. They created awesome UIs. But the effort they put in for this is tremendous. So, if your customer is willing to pay for WPF, go for it. If you need it yesterday, go with Winforms
|
|
|
|
|
...and our core development team is using C++ and MFC. It's an ECAD system which is in devolopment for over 20 years. Was once ported from HP workstations to windows (Electrical Design Software | E3.series | Zuken EN[^])
There is no way to rebuild all of this in WPF, MAUI or what ever.
|
|
|
|