News for hackers. Stuff that matters.
Re:Microsoft’s Monopoly Hangover by pjmlp on Thursday July 27, 2017 @04:00AM (#14863455)
The problem with UWP started with Windows 8.

As consequence of the traditional WinDev vs DevTools relationship, WinRT did not care for a good story.

Worse, it forced devs to write the app three times because the APIs were not the same between phone, tablet and desktop.

Window 8.1, helped a bit with the Universal Apps model. Then the business code could be shared between platforms, but the views (XAML) still needed to be written three times.

Finally UWP was supposed to be back into one single code base for all platforms, but it still lacks polish.

One area is that .NET Native imposes restrictions on .NET code and they are still improving on that area.

Another burning point was that they dropped raw 2D APIs from .NET, forcing anyone that wanted accelerated graphics to go write DirectX code with C++/CX or C++/WRL. Forcing them to make Win2D available.

This is also one of the reasons why Visual Layer was later introduced.

C++ devs also don't know much what to expect.

Initially there was C++/CX and C++/WRL, then Kenny Kerr got hired to work on C++/WinRT, which would support UWP but with standard C++ instead of the extensions used by the former.

C++/WinRT is still WIP after two years, and C++ almost vanished from Microsoft UWP related presentations. The majority of C++ talks are always related to standards support, or OS X/Linux/Android related tooling support.

No word when C++/WinRT will reach feature parity with C++/CX, be supported on Blend or even actually integrated into Visual Studio.

Meanwhile HoloLens and Visual Layer graphical coding presentations are done with C#.

A real pity, because UWP is what I wish .NET would have been since version 1.0 built on COM and AOT compiled to native code, but Microsoft doesn't seem to get it right how to send an uniform message to the developers to build up confidence.

Re:Microsoft’s Monopoly Hangover by CannisterFlux on Thursday July 27, 2017 @05:37AM (#14863787)
Didn't the problems start even before that? Windows 7 phone was the first new phone platform from Microsoft and was widely regarded as pretty good by the pundits. It had a whole new set of APIs though compared to Win32 (as could be expected), based on a Silverlight-like platform IIRC. Then Microsoft changed all of the APIs again for phone 8 as you outlined. That really scared off a lot of developers I think. Who would be willing to code for something so unstable? 2 new sets of APIs in as many years, with no kind of overlap or migration plan.

All these changes had their reasoned explanations back in the day: the install base was small so it didn't have much impact and they were removing cruft each time, but with hindsight it was a really bad way to go about creating a healthy ecosystem.

Re:Microsoft’s Monopoly Hangover by pjmlp on Thursday July 27, 2017 @05:49AM (#14863836)
Kind of, it had to with "WinDev vs DevTools relationship" I refer to.

Windows 7 was .NET based, Silverlight for apps and XNA for games, native code was only available to Microsoft partners.

Then the WinDev won the next round and we got WinRT, fully based on COM, based on the initial design of .NET before CLR was a thing (Ext-VOS).

As side effect XNA and Silverlight were killed, not even ported to WinRT, and as I mentioned for accelerated graphics the APIs were only exposed at C++ level.

Re:Microsoft’s Monopoly Hangover by dman on Sunday July 30, 2017 @06:20PM (#14888161)
As a c++ developer it has been indeed impossible to figure out what ui stack to use from Microsoft. We ended up choosing Qt because it seemed to have much lesser roadmap uncertainty.