I'm hoping this question fits within the scope of Programmers SE and that it's not too open ended.
I've always hated GUI design. I don't mean to offend anyone, but I've hated CSS/HTML, I've hated Java Swing, I can't stand any type of GUI editor, and in general I don't have any skill making anything look nice.
But then the Android platform came around, and I've been in love with it ever since. GUI design isn't a problem anymore, because the abstraction of the design in XML files (which combine both structure and style) out of the code (Java files). It was clean, easy to use, and very extensible. Making themes was incredibly easy, and it followed the same structure as the concept of overriding in computer science.
This brings me to my question. The Android platform was released in 2007. It's been 5 years as of the posting of this question. And yet I haven't seen this idea of XML for GUI design pop up anywhere other than for Android. (For reference on how android design works, here's an official hello world tutorial)
Are there any cons that would make using XML for GUI design a bad choice for either web or desktop development? Are there any other reasons why this type of model would be hard to make or use or simply any reason preventing it from becoming widespread?
As for a little context, this question popped into my head as I was recently struggling with a GridBagLayout in Java.