The future of WinForms...
-
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
Quote:
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?
Cross Platform in a business depends on business decisions....winforms is pretty mature and has a historical component source as in third party controls and components...so its a good think if you can flex ... cross platform there is WinForms | Mono[^]
Caveat Emptor. "Progress doesn't come from early risers – progress is made by lazy men looking for easier ways to do things." Lazarus Long
-
Quote:
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?
Cross Platform in a business depends on business decisions....winforms is pretty mature and has a historical component source as in third party controls and components...so its a good think if you can flex ... cross platform there is WinForms | Mono[^]
Caveat Emptor. "Progress doesn't come from early risers – progress is made by lazy men looking for easier ways to do things." Lazarus Long
abmv wrote:
Cross Platform in a business depends on business decisions....
That's a given. And having been involved with the business for years in my career, this is something I already know. However, it's up to the tech people to know about the tech that's out there, so we can communicate this to the business to help them make a better decision. Thus, I'm fishing for info.
abmv wrote:
winforms is pretty mature and has a historical component source as in third party controls and components
VB6 is also mature. Doesn't mean I'd use it 10 years from now.
abmv wrote:
so its a good think if you can flex ... cross platform there is WinForms | Mono[^]
My understanding of this is it's not feature complete. Granted, I've never used Mono WinForms so maybe things have changed. It's worth looking into again no less. Thanks.
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
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
-
abmv wrote:
Cross Platform in a business depends on business decisions....
That's a given. And having been involved with the business for years in my career, this is something I already know. However, it's up to the tech people to know about the tech that's out there, so we can communicate this to the business to help them make a better decision. Thus, I'm fishing for info.
abmv wrote:
winforms is pretty mature and has a historical component source as in third party controls and components
VB6 is also mature. Doesn't mean I'd use it 10 years from now.
abmv wrote:
so its a good think if you can flex ... cross platform there is WinForms | Mono[^]
My understanding of this is it's not feature complete. Granted, I've never used Mono WinForms so maybe things have changed. It's worth looking into again no less. Thanks.
Jeremy Falcon
VB6 actually is not used much... 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. Rather just code for MAC and iphones .. haaa..
Caveat Emptor. "Progress doesn't come from early risers – progress is made by lazy men looking for easier ways to do things." Lazarus Long
-
VB6 actually is not used much... 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. Rather just code for MAC and iphones .. haaa..
Caveat Emptor. "Progress doesn't come from early risers – progress is made by lazy men looking for easier ways to do things." Lazarus Long
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
-
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)