The future of WinForms...
-
Kevin Marois wrote:
If you're referring to WinForms vs WPF, then yes, I agree.
Yup. I don't think Windows development in general is going anywhere any time soon.
Jeremy Falcon
OK then - we can be friends ;P ;P
If it's not broken, fix it until it is. Everything makes sense in someone's mind. Ya can't fix stupid.
-
I think the keys to what Microsoft is thinking are: 1. announcing that they won't be creating HW devices (pads and phones) -- plus Surface may go away by 2020 or something 2. They are going to support Edge on iOS and Android I think that is a move toward Progressive Web Apps -- this is _not_ Progressive Enhancement - that's a different concept. When I heard PWA I initially thought progressive enhancement. This is a web technology that allows you to install a web app on a device as if it is an app but it uses HTML, JavaScript, CSS and ServiceWorkers. Check out this book I am reading right now O'Reilly press, amazon link: Building Progressive Web Apps[^]
Oh, I totally agree with that being the future. MS and hell even the industry has been trying to push and minimize the difference between web and desktop apps for decades now. Although, I suspect our current technology set for the web will be totally shaken up by WASM, which is key to bringing the future of PWAs into mainstream in the future. There's a lot of things that old skool languages offer that the web needs to embrace and vice versa. So, this is the next evolutionary step that's required. Looks like an interesting book man. I'll perhaps add it to my queue. Thanks for the link.
Jeremy Falcon
-
OK then - we can be friends ;P ;P
If it's not broken, fix it until it is. Everything makes sense in someone's mind. Ya can't fix stupid.
LMAO... yay!
Jeremy Falcon
-
abmv wrote:
VB6 actually is not used much...
That's my point.
abmv wrote:
Considering the amalgamation and proliferation of JavaScript there is something interesting called Electron | Build cross platform desktop apps with JavaScript, HTML, and CSS.[^] that could be a basis for architecture modern apps while maintaining less or more build complexity.
Going web is something I've strongly considered. I'm just fishing for options.
Jeremy Falcon
electron is not web, but a cross platform desktop application framework. Visual Studio Code uses electron.
-
electron is not web, but a cross platform desktop application framework. Visual Studio Code uses electron.
I'm fully aware of that. But thanks for stating the obvious. :thumbsup:
Jeremy Falcon
-
electron is not web, but a cross platform desktop application framework. Visual Studio Code uses electron.
Here, instead of saying "going web" let's say "going with web technologies."
Jeremy Falcon
-
Ok, try not to laugh at the title. Right now, I assume there is no real future in WinForms. It's gonna be the next VB6 if not already, as in it'll hang around but people are gonna look at it funny. That being said, I just had a job interview with a guy who I really like. He's got an entrepreneurial spirit which I jive with. Right now, for the job, the main app in question that I'd be working on is an 8 year old product based on WinForms. Should I get the job, and to plan for the future... I know WinForms isn't going anywhere. But for the big picture, think 10 years from now... we all know .NET Core is being shown the love. So, my question is, if I wanted to write a Microsoft-backed thick client application in C# that's possibly cross platform... what options do I have? I know Xamarin is one. Is that the only one? And of course, there's things like wxWidgets, Qt, and even GTK+ with C# bindings, but is Microsoft cooking up some Windowing/GUI juju meant to be cross platform that I just don't know about yet? Like most LOB apps, this is a MS-centric shop, so I'm just curious to know what the latest buzz is on the geek street.
Jeremy Falcon
Jeremy Falcon wrote:
I know WinForms isn't going anywhere.
Like SQL92, present, reliable and widely unknown. I'm using WinForms on Ubuntu and OpenSUSE; regardless of what Microsoft does or doesn't, the library will be there. Support for it is something I do not need, it just needs to be there; a proven UI, a wrapper around the legendary common controls. Stuff that people recognize and know how to interact with, without having to follow a "proper" course to interact with your application or reading a book! So, I'd say you're right. Unlike hypes like WPF, we know for sure that WinForms isn't going anywhere; it is a standard UI recognized regardless of the platform, available for free, with a mountain of documentation, examples and tutorials. A rich-UI, free, documented, and the defacto-standard since the Amiga left the market that's not going anywhere. Much like SQL92 and me - always present, always boring. With the promise not to go anywhere :)
Bastard Programmer from Hell :suss: If you can't read my code, try converting it here[^][](X-Clacks-Overhead: GNU Terry Pratchett)
-
Jeremy Falcon wrote:
I know WinForms isn't going anywhere.
Like SQL92, present, reliable and widely unknown. I'm using WinForms on Ubuntu and OpenSUSE; regardless of what Microsoft does or doesn't, the library will be there. Support for it is something I do not need, it just needs to be there; a proven UI, a wrapper around the legendary common controls. Stuff that people recognize and know how to interact with, without having to follow a "proper" course to interact with your application or reading a book! So, I'd say you're right. Unlike hypes like WPF, we know for sure that WinForms isn't going anywhere; it is a standard UI recognized regardless of the platform, available for free, with a mountain of documentation, examples and tutorials. A rich-UI, free, documented, and the defacto-standard since the Amiga left the market that's not going anywhere. Much like SQL92 and me - always present, always boring. With the promise not to go anywhere :)
Bastard Programmer from Hell :suss: If you can't read my code, try converting it here[^][](X-Clacks-Overhead: GNU Terry Pratchett)
Eddy Vluggen wrote:
I'm using WinForms on Ubuntu and OpenSUSE;
Is this over Mono or something like Wine?
Eddy Vluggen wrote:
Much like SQL92 and me - always present, always boring. With the promise not to go anywhere
Sometimes boring is a good thing. It's another way of saying stable. Just wanna make sure I have as much info as possible. That's cool about the Linux side of things. With the MS adoption of Linux now, it'll be interesting to see what happens.
Jeremy Falcon
-
Eddy Vluggen wrote:
I'm using WinForms on Ubuntu and OpenSUSE;
Is this over Mono or something like Wine?
Eddy Vluggen wrote:
Much like SQL92 and me - always present, always boring. With the promise not to go anywhere
Sometimes boring is a good thing. It's another way of saying stable. Just wanna make sure I have as much info as possible. That's cool about the Linux side of things. With the MS adoption of Linux now, it'll be interesting to see what happens.
Jeremy Falcon
Jeremy Falcon wrote:
Is this over Mono or something like Wine?
In my case Mono, though Wine should work (with limits).
Jeremy Falcon wrote:
Sometimes boring is a good thing. It's another way of saying stable. Just wanna make sure I have as much info as possible.
Some managers like sexy, others like predictable :)
Jeremy Falcon wrote:
That's cool about the Linux side of things. With the MS adoption of Linux now, it'll be interesting to see what happens.
It is cool to present a recognizable UI on a "foreign" platform, and it is doubly cool to cut dependencies. It is triple cool to see it run on a 40$ raspberry pi - it gives some competitive advantages for replacing those thin-clients :)
Bastard Programmer from Hell :suss: If you can't read my code, try converting it here[^][](X-Clacks-Overhead: GNU Terry Pratchett)
-
Personally, I love WinForms! No HTML/CSS or XAML mess! Just grab a control, drop it on the screen and IT JUST WORKS! You may want to add a third party control library such as DevExpress or Telerik to make it better looking, get more features and make it even easier to develop. Sure, it doesn't scale as well and it's not really multi-platform, but if your customers use Windows desktops that isn't really an issue. I'm not really sure about Microsoft alternatives, but I know they used Electron[^] for Visual Studio Code. Yeah, it features all of that awful HTML and CSS and it even adds JavaScript to make it worse, but at least it's "modern" multi-platform desktop development. It's what all the cool desktop developers use ;-)
Best, Sander arrgh.js - Bringing LINQ to JavaScript SQL Server for C# Developers Succinctly Object-Oriented Programming in C# Succinctly
I got started in my programming career on the old VC++ and then migrated to WinForms C#. I heartily agree with this post. Back then, the UI was not complicated, and all the stuff that is a PITA to do in JavaScript seemed to be so easily abstracted out. GUI Programming then was fun; now it's like getting a tooth removed. :mad:
-
Ok, try not to laugh at the title. Right now, I assume there is no real future in WinForms. It's gonna be the next VB6 if not already, as in it'll hang around but people are gonna look at it funny. That being said, I just had a job interview with a guy who I really like. He's got an entrepreneurial spirit which I jive with. Right now, for the job, the main app in question that I'd be working on is an 8 year old product based on WinForms. Should I get the job, and to plan for the future... I know WinForms isn't going anywhere. But for the big picture, think 10 years from now... we all know .NET Core is being shown the love. So, my question is, if I wanted to write a Microsoft-backed thick client application in C# that's possibly cross platform... what options do I have? I know Xamarin is one. Is that the only one? And of course, there's things like wxWidgets, Qt, and even GTK+ with C# bindings, but is Microsoft cooking up some Windowing/GUI juju meant to be cross platform that I just don't know about yet? Like most LOB apps, this is a MS-centric shop, so I'm just curious to know what the latest buzz is on the geek street.
Jeremy Falcon
Excellent post, and it has garnered a lot of attention. :thumbsup: I think winforms have their place still in our world. I use them all the time for internal utility apps, etc. Not everything needs to be pretty ;) . I hat working with WPF, always have. I have not worked with it in 2 years; perhaps it has gotten better. -- my opinion. With that said, I would not take a job where my work would be full-time winforms, unless I was certain to stay up to date on other technologies (more current) on my own.
-
Personally, I love WinForms! No HTML/CSS or XAML mess! Just grab a control, drop it on the screen and IT JUST WORKS! You may want to add a third party control library such as DevExpress or Telerik to make it better looking, get more features and make it even easier to develop. Sure, it doesn't scale as well and it's not really multi-platform, but if your customers use Windows desktops that isn't really an issue. I'm not really sure about Microsoft alternatives, but I know they used Electron[^] for Visual Studio Code. Yeah, it features all of that awful HTML and CSS and it even adds JavaScript to make it worse, but at least it's "modern" multi-platform desktop development. It's what all the cool desktop developers use ;-)
Best, Sander arrgh.js - Bringing LINQ to JavaScript SQL Server for C# Developers Succinctly Object-Oriented Programming in C# Succinctly
I like Winforms. It seems a good match with the Windows UI. It seems odd that MS have left it fallow - what else would they like us to use? We could use WPF but that isn't updated before. Given that Windows' success is on the top of desktop apps - why wouldn't Microsoft want to give us a first class, up-to-date framework for it? What would be the downside?
-
Jeremy Falcon wrote:
he main app in question that I'd be working on is an 8 year old product based on WinForms.
If you're tasked with writing new UI components, you could build them in WPF and host them in the existing WinForms app. FWIW, I'm in the process of porting this[^] WinForms app (30K lines of code) to Android, and later iOS. I'm using Xamarin to build a native UI and 99% of the business and persistence layer has been portable without any changes. One of the huge wins using Xamarin is that a user can take their desktop database file and plop it onto their Android device (and vice-versa) with no problems. (In reality, they don't have oto do this manually. I've written a cloud backend that lets them sync their data between the desktop and mobile versions of the app.) I'm a big fan of WinForms and Xamarin and not ashamed to say it. The productivity gains are awesome. /ravi
My new year resolution: 2048 x 1536 Home | Articles | My .NET bits | Freeware ravib(at)ravib(dot)com
Ravi - I'd love to hear how truly "cross platform" your Xamarin application is. Are you able to run on Windows / Mac / Android / iPhone / Linux ? My understanding is the C# business logic translates, but not the UI or XAML. Can you confirm from your experiences?
"Qulatiy is Job #1"
-
Ok, try not to laugh at the title. Right now, I assume there is no real future in WinForms. It's gonna be the next VB6 if not already, as in it'll hang around but people are gonna look at it funny. That being said, I just had a job interview with a guy who I really like. He's got an entrepreneurial spirit which I jive with. Right now, for the job, the main app in question that I'd be working on is an 8 year old product based on WinForms. Should I get the job, and to plan for the future... I know WinForms isn't going anywhere. But for the big picture, think 10 years from now... we all know .NET Core is being shown the love. So, my question is, if I wanted to write a Microsoft-backed thick client application in C# that's possibly cross platform... what options do I have? I know Xamarin is one. Is that the only one? And of course, there's things like wxWidgets, Qt, and even GTK+ with C# bindings, but is Microsoft cooking up some Windowing/GUI juju meant to be cross platform that I just don't know about yet? Like most LOB apps, this is a MS-centric shop, so I'm just curious to know what the latest buzz is on the geek street.
Jeremy Falcon
BTW, read [this awesome reply](https://www.codeproject.com/News/39686/The-future-of-WinForms.aspx). Not sure how it ended up there, but it's a gem on WPF. Totally expresses my sentiments. :laugh:
Latest Article - Class-less Coding - Minimalist C# and Why F# and Function Programming Has Some Advantages Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny Artificial intelligence is the only remedy for natural stupidity. - CDP1802
-
I like Winforms. It seems a good match with the Windows UI. It seems odd that MS have left it fallow - what else would they like us to use? We could use WPF but that isn't updated before. Given that Windows' success is on the top of desktop apps - why wouldn't Microsoft want to give us a first class, up-to-date framework for it? What would be the downside?
they don't have people to working on it...especially since google,amazon,oracle,saleforce are stealing the thunder and sales with cloud and with microsoft strategy for the cloud and since all development is moving towards web or cloud or whacma call it
Caveat Emptor. "Progress doesn't come from early risers – progress is made by lazy men looking for easier ways to do things." Lazarus Long
-
they don't have people to working on it...especially since google,amazon,oracle,saleforce are stealing the thunder and sales with cloud and with microsoft strategy for the cloud and since all development is moving towards web or cloud or whacma call it
Caveat Emptor. "Progress doesn't come from early risers – progress is made by lazy men looking for easier ways to do things." Lazarus Long
I can see they might not put 100% at the top. If everything goes to the cloud Windows becomes irrelevant... so why not keep people interested in developing for it.
-
Ok, try not to laugh at the title. Right now, I assume there is no real future in WinForms. It's gonna be the next VB6 if not already, as in it'll hang around but people are gonna look at it funny. That being said, I just had a job interview with a guy who I really like. He's got an entrepreneurial spirit which I jive with. Right now, for the job, the main app in question that I'd be working on is an 8 year old product based on WinForms. Should I get the job, and to plan for the future... I know WinForms isn't going anywhere. But for the big picture, think 10 years from now... we all know .NET Core is being shown the love. So, my question is, if I wanted to write a Microsoft-backed thick client application in C# that's possibly cross platform... what options do I have? I know Xamarin is one. Is that the only one? And of course, there's things like wxWidgets, Qt, and even GTK+ with C# bindings, but is Microsoft cooking up some Windowing/GUI juju meant to be cross platform that I just don't know about yet? Like most LOB apps, this is a MS-centric shop, so I'm just curious to know what the latest buzz is on the geek street.
Jeremy Falcon
:) My friend. First I will quote Redmonk analyst James Governor: "When companies grow up, they turn into Java shops". With that in mind, if you want A FUTURE you should learn Java. Period. So that said and knowing that that only applies to the Server, your options in the thick client front end are quite limited. We have seen everything come to Windows since the heyday of Win32. It's the "Fire and Motion" that Joel Spolsky mentioned in it's seminal Joelonsoftware blog. We've had WinForms, WPF, Silverlight, Metro, and now UWP. I've seen Fortune 1000 throw thousands of dollars rebuilding something from the former to the latter. Ironically, my fellow, I've only seen WinForms apps survive. With the whole Web then Mobile revolution when you need a thick app you can't be picky about the environment. It has to run across the board and only WinForms does that. WPF needs heft graphics, Silverlight is just dead, Metro needs awful Windows 8 and UWP needs Windows 10. In the same, Swift or Obj C need iOS and Java is only valid for Android in the client side with people moving swiftly to Kotlin. with that in mind, don't think .NET Standard or .NET Core have any future outside Docker containers. We are currently pushing all IIS dependent migrations to go to .NET Core, but that gonna take a while, since Kestrel is still NOT IIS. Hope this long rant serves you. BTW. If you haven't, learn WCF, that's the only thing useful from the Vista era 3.0 (pseudo) framework.
The more you see, the less you know.
-
BTW, read [this awesome reply](https://www.codeproject.com/News/39686/The-future-of-WinForms.aspx). Not sure how it ended up there, but it's a gem on WPF. Totally expresses my sentiments. :laugh:
Latest Article - Class-less Coding - Minimalist C# and Why F# and Function Programming Has Some Advantages Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny Artificial intelligence is the only remedy for natural stupidity. - CDP1802
Well I actually used to develop LOB with WPF sometime back when it got released and we had a considerable time invested in it , The things component developers did with it was remarkable and well its different. We actually wanted to XBAP it and not code a web app UI over the LOB framework, it was back some time and well XBAP did'nt actually gel in a way because it needed some security setting etc done on IE , though we had it working and it worked and it did not need all the complicated call backs and stuff u do it in java-script if it was run in a closed enterprise environment,just the database drivers,it was like there was no need to re-code a web app when you had WPF running in the browser. Then came silverlight and the decline... There are similar sentiment other devs shared ...like below... [^] also The consequences of declaring WPF is dead. | RIAGENIC.com[^] (also many other interesting thing on this blog.
Caveat Emptor. "Progress doesn't come from early risers – progress is made by lazy men looking for easier ways to do things." Lazarus Long
-
Personally, I love WinForms! No HTML/CSS or XAML mess! Just grab a control, drop it on the screen and IT JUST WORKS! You may want to add a third party control library such as DevExpress or Telerik to make it better looking, get more features and make it even easier to develop. Sure, it doesn't scale as well and it's not really multi-platform, but if your customers use Windows desktops that isn't really an issue. I'm not really sure about Microsoft alternatives, but I know they used Electron[^] for Visual Studio Code. Yeah, it features all of that awful HTML and CSS and it even adds JavaScript to make it worse, but at least it's "modern" multi-platform desktop development. It's what all the cool desktop developers use ;-)
Best, Sander arrgh.js - Bringing LINQ to JavaScript SQL Server for C# Developers Succinctly Object-Oriented Programming in C# Succinctly
Sander Rossel wrote:
Personally, I love WinForms! No HTML/CSS or XAML mess! Just grab a control, drop it on the screen and IT JUST WORKS! You may want to add a third party control library such as DevExpress or Telerik to make it better looking, get more features and make it even easier to develop. Sure, it doesn't scale as well and it's not really multi-platform, but if your customers use Windows desktops that isn't really an issue.
Agreed. Tell you what? Let all the young kids go drive themselves to distraction chasing whatever technology is the fad of the day and let us old guys cry all the way to the bank as we continue to write professional applications that get the job done, even if "behind-the-scenes", eh? ;-) -CM
If you think hiring a professional is expensive, wait until you hire an amateur! - Red Adair
-
Ok, try not to laugh at the title. Right now, I assume there is no real future in WinForms. It's gonna be the next VB6 if not already, as in it'll hang around but people are gonna look at it funny. That being said, I just had a job interview with a guy who I really like. He's got an entrepreneurial spirit which I jive with. Right now, for the job, the main app in question that I'd be working on is an 8 year old product based on WinForms. Should I get the job, and to plan for the future... I know WinForms isn't going anywhere. But for the big picture, think 10 years from now... we all know .NET Core is being shown the love. So, my question is, if I wanted to write a Microsoft-backed thick client application in C# that's possibly cross platform... what options do I have? I know Xamarin is one. Is that the only one? And of course, there's things like wxWidgets, Qt, and even GTK+ with C# bindings, but is Microsoft cooking up some Windowing/GUI juju meant to be cross platform that I just don't know about yet? Like most LOB apps, this is a MS-centric shop, so I'm just curious to know what the latest buzz is on the geek street.
Jeremy Falcon
Well, at the speed Microsoft has abandoned technology, I recommend you wait 5 years, and see what they did. But I would put a decision like this OFF until real demand for other platforms shows up in a serious way. And then I would look to go to the cloud. Maybe mobile if it makes a difference. We maintain systems that are LOB winForms that were first implemented in Windows 95. While we converted many things to NT Services because they no longer require a GUI, the remaining stuff is solid, and there is no requirement to support any other platform. But even the screen sizes and font combinations are starting to cause old programs some issues. a 16x16 icon is like a spec nowadays... (BTW, what I would have given to have created the idea of a FONT as the icon package, totally scalable, portable).