Well, it's pretty bad. Aside the facts that you have to manually implement screen rotation in DirectX11, the matching touch coordinate translation and that viewports get messed up depending on which side of the screen they are and other stuff because of which I am have PTSD, I just came across something that baffled me so hard that I just had to share it.
So, one of our games is a bit RAM heavy and hence it won't run on low-memory devices (512 MB), even though they run fine on an iPhone 3GS with only 256 MB RAM. Figures. Microsoft has an option which can be added in the app manifest to require at least 1 GB of RAM for the app. So I add that XML to the manifest.
<Requirements>
<Requirement Name="ID_REQ_MEMORY_300" />
</Requirements>
http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj681682(v=vs.105).aspxAnd I get this error when I compile it.
QuoteThe element 'App' has invalid child element 'Requirements'
What. The. Fuck. Seriously, Microsoft, what the fuck?! I literally copy-pasted that XML from their documentation. Alright, I go googling that error to see if somebody else had it. And I come across another site with documentation, but this time it's a different one, saying 50% of the same stuff that I read on the other one. But notice this little extra detail here in the first site:
QuoteThe Requirements element should be listed after other elements in the App element, but before the FunctionalCapabilities element, if both are present.
And this one in the second site I found:
QuoteThe Requirements element is a child of the App element, and should immediately follow the ScreenResolutions element for Windows Phone 8...
http://msdn.microsoft.com/en-us/library/windowsphone/develop/ff769509(v=vs.105).aspxWell, fuck you, Microsoft. What kind of godforsaken XML parser do you use that you have problems with ordering in XML where ordering is not important?
EDIT: Well, I have to admit that developing for Windows Phone 8.1 is a whooooooole lot better. It's on par with WinRT since it basically is WinRT. There are a few minor differences and things that are supported or not supported, but nothing that can't be made to work using a few "#ifdef"s. Still, WinRT development is still flawed. That means WP development isn't neckdeep in shit now, it's just waistdeep in shit. There are still certain issues such as deployment which takes ages. Where Android needs 5 minutes to deploy an app, WP needs 15+. I can't remember all the issues now, but admittedly WP8.1 development a huge improvement over WP8 development. The problem with this is that WP8.1 is what it was supposed to be from the beginning. That means MS is getting to their base level just now, 3-4 years after everybody else. And they are still far behind as everybody else already moved on and improvement their development processes.