Comment by shadowmint

8 years ago

We'll see.

I think the netstandard -> all platforms approach, combined with the aggressive depreciation of old .Net 4.6.x versions is a road map for the future.

Maintaining two entire release chains, the 4.x and the .Net core 2.x, is an impossible long term strategy.

I would be absolutely astonished if the 4.x line is quietly folded away and depreciated ('unsupported') once the netstandard surface area means the code bases that no longer run on the .Net core fall to significantly small fraction.

At that point there will just be 'one' .Net again, and it will be .Net core, on all platforms.

Significantly, there seems little to no indication (https://github.com/dotnet/core/issues/43) that winforms and WPF are going to .Net core.

You might argue that Microsoft is a legacy beast, and they won't abandon their developers by dropping support for old versions, but they already are doing that in the 'you can install it, sure, but it'll never get any more updates' (#1, #2), so you know.

Don't bet the farm on a WPF app. Just saying.

#1: https://blogs.msdn.microsoft.com/dotnet/2015/12/09/support-e...

#2: https://support.microsoft.com/en-us/help/17455/lifecycle-faq...

What the heck can replace winforms and wpf apps though?

I've seen them promote at least 2 different technologies since the first time I heard WPF was dying, and both of them are dead already, so far as I can tell.

  • UWP's XAML stack is alive and growing. The cool "Fluent" stuff like acrylic brushes and active focus highlights want you to use UWP XAML, and while shiny things aren't necessarily a reason to pick a dev stack, they do seem signs of health in that dev stack.

  • Apparently Xamarin.Forms, from the .NET Conf 2017 roadmap talks.

    • lol, so not only is the replacement technology none of the tech previously promised to replace wpf / winform, its a piece of tech that is still roadmapped?

      Yeah, I don't think winform / wpf is going anywhere quite yet.

      1 reply →

IIRC Winforms relies on core, proprietary, parts of Windows which couldn't be feasibly ported to .net core.

Not sure about WPF. It's a shame because it's a great development experience.

  • Windows Forms is a thin wrapper around the Win32 API and GDI+. Which is good if you want to customize things on a low level, but bad if you want to run it anywhere else. But cross-platform compatibility for a UI framework was probably a very low priority in 1999 or 2000. You could port it to .NET Core, but then you could only run it on Windows, since pretty much everything is a P/Invoke into user32.dll.

    Generally, having something cross-platform either means you're terrible everywhere (Swing), terrible on non-primary platforms (GTK), or have to invest a lot of work in making things work well and still don't quite feel native (Qt). Or you go the Xamarin Forms route and have a few core controls that have to be implemented natively on every platform, which reduces their features to the lowest common denominator, often doesn't expose or enable low-level platform details that may sometimes be needed for customization, and means that you have to invest thrice as much effort into making everything work.

    In my experience UI frameworks either are bound to a specific platform, or suck. Or both. But a cross-platform WPF would be awesome, but I'd rather expect UWP to become cross-platform instead of WPF.