I should add that the purpose of them adding this capability isn't to set up a new cross-platform UI suite. It is just to lure enterprise shops to .NET core by supporting more of their .NET Framework workloads
I'm still wondering whether it would be smart for them to port WPF or UWP to all platforms. They are already decoupling their services from Windows and a UI library would be quite a flagship for them.
Then again they'd also lose the Windows vendor lock-in, which might still be more valuable to them.
Then again they could sell their development toolchain and gain developer sympathy.
There will be a desktop pack that extends Core with windows desktop application technologies. Bear in mind these are really .NET API wrappers round the underlying Windows systems, so since those underlying libraries and such don’t exist on Mac or Linux .NET APIs won’t have anything to provide access to.
Think if it this way. Someone could write a .NET Core wrapper round the MacOS GUI libraries and platform APIs, but you couldn’t run that on Windows.
In general, yes, but a lot of its cross-platform capabilities are community-contributed/community-led, there are still some APIs that don't have cross-platform implementations (because it hasn't been a community priority), but also there are APIs that simply can't work on any platform but Windows (obvious things like Registry access, for instance) and will either no-op or throw clear exceptions on other platforms.
The "desktop app packs" for WPF and WinForms Microsoft has made very clear that they will not support anything other than Windows. (They also won't directly be a part of .NET Core according to diagrams, but packages installed on top of it.) It's also unclear if they can be open sourced (they probably cannot be), and if they can't be open sourced it is unlikely a community-led effort could easily work on making them cross-platform.
They might not port Mono's WinForms to .NET Core? Given how strictly tied to Windows WinForms is, they may not want to give enterprises they are encouraging to use .NET Core any confusion on the subject. Taking that extra step of trying to run the application on Mono shows at least some awareness of possible compatibility issues in the software.
That said, this may still be a great opportunity for .NET Core to encourage trying Mono in its documentation for enterprises looking for cross-platform support. (Hopefully they already knew about Mono by this point, but an extra push won't hurt.
I think you have that a little backwards. This is not up to the Core developers but to the Mono developers. There is nothing preventing the Mono developers from supporting .Net Core.
Wine uses its own Mono instance and I usually run WinForms apps directly with the system Mono set-up without using Wine (although I have both installed).
Very good. For a moment I was worried that desktop development would stay on Framework which from the article seems to slowly being pushed into maintenance mode.