← Back to context

Comment by int_19h

2 days ago

WinCE (which was rebranded as Windows Mobile at one point) basically had a cut-down version of Win32 as its app framework. There was also .NET complete with a WinForms port.

Windows Phone 7 had Silverlight as the app framework, which, to remind, was itself basically a rewrite of a subset of WPF in native code for perf (although the public API remained .NET).

And then after that it was WinRT / UWP, which was effectively further evolution of Silverlight in terms of how it looked to app devs.

WP7 was a really low point for the series because not only the new app dev story was completely and utterly incompatible with anything done before, it also had a very limited feature set in terms of what you could actually do inside the app - much worse than the iOS sandbox.

WP7 -> WinRT transition was easier because WinRT was so similar to Silverlight in terms of APIs (in some simple cases you literally just had to change the using-namespace declaration to compile). It also added enough functionality for more interesting apps to be viable. But by then, the reputation hit from both devs (who were being told to again rewrite everything they already rewrote for WP7) and users (who were being told again that their devices won't get the new OS, and the new apps are incompatible with the old OS) was too much for the platform, IMO.

And then on top of all that Google actively sabotaged it by refusing to make apps for its popular services - such as YouTube - and actively pursuing third-party apps that tried to fill that gap.

Not only Silverlight, XNA was used for games.

After WinRT transition, Microsoft sabotaged themselves, due to the way WP 8 => WP 8.1 => WP 10 happened to be, with rewrites, promised upgrades that didn't happen, deprecation of C++/CX, and plenty of other missteps.