I've been doing Windows development for over a decade now. WPF was too different from WebForms (or less often, WinForms) to get most of the other developers on every team I've worked on to agree to switch to it. I wish we had switched way back when, because it is a much better design than (Web|Win)Forms.<p>That said, now that I'm on my own, I'm not switching to it. The legacy windows-only apps I support I'm sticking to WinForms, because I don't want to spend effort on learning yet another Microsoft ecosystem API. I'm actively getting out of MS-only work now.<p>Unfortunately, there are no UI toolkits that I would call "good". They all have some weird idiosyncrasy to them. It's like they all start out with a great idea, and then beef it in the face halfway through completing the full set of controls that would be useful to most people. It necessitates 3rd party control libraries of vastly variable quality, and makes it extremely difficult to tell clients "yes, we can do that, and it will be done by XYZ date".<p>So, lacking a better alternative, I'm going all-in on HTML5. It's the closest to "ideal" of what I want for a UI toolkit. I've about decided that I really, really don't want my UI to be anywhere near my application layer. A node-webkit-style deal might be bothersome to some people, but for my ideals, it's exactly how I want to arrange my applications.<p>I'd just like it very much if Node weren't my only readily available option. I like Node for small things, and I use it in a few projects, but there are some other projects where I'd really prefer to be writing the backend in C#, or C, or anything with a wide variety of libraries that aren't mostly just a weekend project for a CS grad somewhere like half of everything on NPM often appears to be.