|
It will forever be possible to build a WinForms desktop app capable to mimic any newer "design" that Microsoft "invents".
After all, UI is pixels displayed on a screen, that need to react to some input (mouse, keyboard, gestures, etc.)
A framework needs features like skinning, high DPI scaling, touch enabled, ribbon, toolbars, menus, nice SVG icons, powerfull grids/trees/scheduler/reporting/dashboards/wordprocessor/Excel/diagrams, with search, navigation, direct edit, filter, grouping, etc.
None of these features comes out of the box in any framework in Visual Studio or elsewhere.
When building a multi-dialog application, I love to use enterprise level UI components.
I have far enough work dealing with my business rules, validation, persistence, layout, etc.
UI components included in java, javascript, linux, etc. or other frameworks do not reach the quality of the .NET ecosystem (see DevExpress, etc.).
|
|
|
|
|
... it's the most cost effective way to build, distribute, and support desktop applications for Windows.
My group builds public facing and internal applications. The public facing applications are web applications -- the relatively low cost of distribution and support are the driving factors. The price for this is increased development time and upgrade costs (due to technology changes). Security is a significant cost as well -- properly securing a web app is a moving target as things change rapidly.
For internal applications we've tried various things, but WinForms distributed as ClickOnce applications wins. The cost & time of development is lower than anything else we've tried, especially web technology. The technology changes slower than other things (especially web technology), so our upgrade and support costs are lower.
Bryan
Every time someone makes something foolproof ... someone else makes a better fool
|
|
|
|
|
It also just works. resizing controls and making layouts was quick. although it would be nice to get a little more modern feel to the Winform control libraries, but I'll take it any day over WPF.
to me it felt like MS saw the web, took ideas from it and implemented something half ass. if they had been done with standard HTML 5 and CSS, they might have won over some web devs, but now we got things like react native, MS missed the boat on that one.
|
|
|
|
|
I believe Microsoft is merging the WPF/UWP technologies. I've used both and they aren't that dissimilar. I am looking forward to getting access to the UWP controls from WPF.
One of the best things about WPF is the ability to go steal a DataGridView control using a WindowsFormsHost if you really need it. With that said, it seems kind of absurd to develop a strict windows forms application these days...
|
|
|
|
|
out of both, I still liked UWP better because of the win2D library let you draw your own controls right to the DirectX. Where no support was made for WPF.
for me it was really hard to discover what I could do in WPF, it felt like I was googling every 5 minutes to figure out how to do something, I didn't have that problem in Winforms and I could generate whole layouts in a small amount of code.
I made a vow after the last job to never touch WPF again.
|
|
|
|
|
I never dug into the win2D library. Sounds pretty cool! Thanks for the tip, i'll go check that out.
I'll admit that WPF has a hell of a learning curve, but when you (have to google less) get it, its pretty damn epic. Also, if you have to draw objects (like you described with Win2D) your totally screwed in WF without a 3rd party library. I literally scrapped and never rebuilt one application that was 95% complete simply because windows forms didn't offer decimal precision direct draw capabilities and the learning curve to WPF took so long that I had to move on to other projects. Similar to you, that experience made me vow to never touch Windows Forms again...
|
|
|
|
|
.. on the scope of the App:
1) Major CRUD application -> winforms is by far the most productive.
2) Tool -> probably winforms again.
3) Networked app -> winforms or possibly a console HttpListner with a svelte web front
Exception up = new Exception("Something is really wrong.");
throw up;
|
|
|
|
|
Quote: If you have a new Windows desktop to build, what framework would you use?
If I'm building a Windows desktop, this comes with a UI. I don't need to choose one.
If I were building a *nix desktop, maybe the question would be relevant though most *nix OS's come with their own "desktop"
And Electron? Is that even a desktop? I thought it was a UI running under a Chrome app? Or something like that.
|
|
|
|
|
Thanks Marc,
the word 'App' was left out. I've corrected it, but it may take a while for the cache to update.
"Time flies like an arrow. Fruit flies like a banana."
|
|
|
|
|
Marc Clifton wrote: If I'm building a Windows desktop, this comes with a UI. I don't need to choose one. What if you were building a Windows laptop?
/ravi
|
|
|
|
|
Quote: Do you love the smell of installers downloading all morning?
What does this mean in the context?
I will not choose any of above, no WPF. Old survey before WPF time copied eh?
|
|
|
|
|
WTF is wrong with you?
".45 ACP - because shooting twice is just silly" - JSOP, 2010 ----- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010 ----- When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013
|
|
|
|
|
|
Totally agree !
|
|
|
|
|
If Windows Forms is an option, WPF should be an option.
|
|
|
|
|
+1
".45 ACP - because shooting twice is just silly" - JSOP, 2010 ----- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010 ----- When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013
|
|
|
|
|
+1
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpful answers is nice, but saying thanks can be even nicer.
|
|
|
|
|
Agreed.
Software Zen: delete this;
|
|
|
|
|
And that's either pure Win32 API or some ATL/WTL on top of it.
But seriously, who makes Windows desktop applications nowadays?
|
|
|
|
|
*raises hand - as often as I can get away with.
".45 ACP - because shooting twice is just silly" - JSOP, 2010 ----- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010 ----- When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013
|
|
|
|
|
This.
I've had to do a bit of web development, and I hated every minute of it with a passion. And I have exactly zero interest in writing mobile apps.
I'm just hoping I can draw this out until I'm ready to retire. Otherwise it'll be early retirement for me. It's not that you can't teach an old dog new tricks - but this old dog is looking at all the web development "frameworks" being re-invented every 3 weeks, and how they all integrate together (ahem), and is utterly unimpressed.
|
|
|
|
|
dandy72 wrote: I'm just hoping I can draw this out until I'm ready to retire.
August 2023 for me - unless I win the lottery beforehand.
I'm currently on a project that is ASP.net, comprised of several apps that have had over two dozen devs on it over the last 10 years - band-aids on band-aids, with an equally unstable database back end. The last time they updated the jquery and Telerik code was 2013, which is like 5 or 6 life-times in javascript land.
We're still on VS2015, too.
2023 can't get here fast enough...
".45 ACP - because shooting twice is just silly" - JSOP, 2010 ----- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010 ----- When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013
|
|
|
|
|
When you already have it down to the month, years in advance, you know you're not in a good situation. Sorry to hear that John.
|
|
|
|
|
I was told on wednesday that I have a bad attitude.
We've recently adapted scrum/agile processes, and I'm simply playing that game. They want me to write code against a poorly defined sprint item. In this case, they want a button to perform multiple actions selectible by the user. I told them how it should be implemented (a dropdown button), but they didn't agree, and wanted a popup form., so I asked for a precise and detailed mock-up of exactly what they wanted.
When they gave me a screenshot, it was a form with radio buttons and an OK button. In my response, I started with "As a developer who specializes in UI design (and has been doing so for over 40 years)...", and proceeded to tell them that if they want a pop-up form that presents radio buttons and an okay button, a drop-down button would be exactly the same thing, and would require one less click.
That's me having a bad attitude.
Screw 'em.
".45 ACP - because shooting twice is just silly" - JSOP, 2010 ----- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010 ----- When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013
|
|
|
|
|
If they think "that's you having an attitude", they haven't seen you on a bad day and you're showing an incredible amount of restraint.
That sort of thing would irritate me to no end, and you're absolutely right; your approach is much less annoying, if nothing else but for the simple fact that it doesn't require as much dicking clicking around.
Your best revenge is perhaps to give them exactly what they want, and let them live with the stupid UI.
|
|
|
|
|