The future of WinForms...
-
Wellllll....(deep subject, I know) I've hosted Chromium in a WinForm app, which is quite interesting actually -- you can call into C#, and the C# can call into the Javascript. Why? Well, you end up with a "thick-client" that can easily be turned into a web app, particularly if you don't have any C# calls, or you've abstracted them in the Javascript so that they're easily replaced with by AJAX calls to a server. I know, it's a crazy idea, but since I won't touch WPF, don't really want to learn Xamarin/XAML, Qt, GTK+, wxWidgets all suck, and I do enough web development nowadays anyways, it makes more sense for me, particularly since I can also leverage some really nice web-based UI components.
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
As a web guy myself, I love that idea. But if I get this role, I think I'll be the only web guy there. So in an effort to play with the team that may not be viable. Granted all this of this down the road anyway, it's a low priority for now and for good reasons they said in the interview. However, I'm totally inline with the web vibe you're thinking man.
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
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
-
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:
No HTML/CSS or XAML mess! Just grab a control, drop it on the screen and IT JUST WORKS!
Aw come one man, you don't like having to install 500 npm packages for hello world? :rolleyes:
Sander Rossel wrote:
I'm not really sure about Microsoft alternatives, but I know they used Electron[^] for Visual Studio Code.
That's cool. Didn't know this. At first glance it reminds me of Adobe Flex rehashed. I reckon if Slack and MS and Atom all use it though, it'll be around for a while. Thanks for the tip.
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
Write your own UI. It's not very hard.
I am endeavoring, ma'am, to construct a mnemonic memory circuit using stone knives and bearskins.
-
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
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[^]
-
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 assume there is no real future in WinForms.
If you're referring to WinForms vs WPF, then yes, I agree. if you're referring to Windows Development as a practice, then I disagree. There are and always will be many different types of enterprise level apps that are and always will be Windows based.
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[^]
raddevus wrote:
HTML, JavaScript, CSS
In that case, Regressive Web Apps would be better suited name :)
-
Jeremy Falcon wrote:
I assume there is no real future in WinForms.
If you're referring to WinForms vs WPF, then yes, I agree. if you're referring to Windows Development as a practice, then I disagree. There are and always will be many different types of enterprise level apps that are and always will be Windows based.
If it's not broken, fix it until it is. Everything makes sense in someone's mind. Ya can't fix stupid.
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
-
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?