Slashdot Mirror


Introduction To XAML

prostoalex writes "It was recently reported that Microsoft will integrate its own XML-based language for application programming into the next edition of Windows (codename Longhorn). This Introduction to XAML (Extensible Application Markup Language) provides an insight into how it's possible to build a Windows application with Microsoft's brand-new XAML language."

11 of 68 comments (clear)

  1. Question by jsse · · Score: 4, Interesting

    XML is meant to be interoperable.

    How well does XAML achieve in this regard?

    1. Re:Question by borgboy · · Score: 3, Interesting

      That's an interesting question, and should be modded up.

      The possibility - hopefully not a minimal one, is that you could develop an editor that based your gui layouts on XAML. Then your .Net presentation rendering - the big sticking point right now between WinForms and Mono GUIs - would be in an interoperable form. Maybe. Looking at the samples in the FA, I don't see any reason XAML couldn't be implemented for any platform hosting the CLR. Or most modern languages running on a gui platform, for that matter.

      Disclaimer - I am NOT a hardcore GUI developer. I could be full of it. Don Box and lots of other folks seem to be pretty excited about XAML.

      --
      meh.
    2. Re:Question by The+Bungi · · Score: 4, Interesting
      Interoperable with what? If you're hoping that MSFT will port this to some other OS, don't hold your breath.

      OTOH, since it's just XML you can theoretically create an implementation of the engine in any platform where you have an XML parser available, which is pretty much any meaningful platform in existence. Just bind it to your GUI/widget set/rendering engine and you're all set.

      I mean, if Mono can create a complete (or almost complete) CLR implementation that runs on Linux I don't see why they or someone else can implement this as well.

    3. Re:Question by 0x0d0a · · Score: 3, Insightful

      If you're an XML nut, you could have XSLT that converts XAML to whatever XML dialect glade uses and just get GTK interfaces directly. :-)

  2. XML based programming by Kethinov · · Score: 3, Insightful

    'Less I'm mistaken, this means that people will be able to develop fully functional simple Windows executables by writing a few lines of script in XAML? I think that's a good idea. Sure we still need stuff like C for large projects, but why waste your time coding in C when all you want to develop is something like a simple caculator?

    --
    You're right, I wouldn't steal a car. But if it were possible, I sure as hell would download one!
    1. Re:XML based programming by !3ren · · Score: 5, Insightful

      Mmm not so much.
      All this does is abstract the UI from the code.
      (Which is super if you look at the kludgey cra* they have foisted on developers through the VS series of products. I have always liked the ease of use of MS's designers but the resulting code usually made me angry. Nothing like adjusting the attribute of a control in the source and having it crash your IDE.)

      You will still need to write behaviours for any application using XAML.
      I believe there's been a couple of O/S projects that have done the same thing for a couple of years (abstracting UI to XML) but I'm not sure of the names..

  3. Wow! by thecampbeln · · Score: 4, Interesting
    Very cool stuff! This is a very cool way to define the layout of a form, it boils it down very effectively (IMHO). Depending on it's implementation, it could allow for cross platform development (assuming that the target platform had a compatible compiler, of course)... But then again it is Microsoft, to them "cross platform" means Win9x, Win 2k and WinXP (see .NET). This will probably step into the same sort of role that VB (has) filled for so many years - quick and dirty applications development. Course that doesn't mean the concept is shit. This seems to be a very cool (and relativity open) means of defining UI layouts, and all the compiler would need is an XML parser!

    If Microsoft was only a technology company and could leave that whole messy marketing evilness out of it. Microsoft has come up with (or outright "borrowed") some very cool RAD technologies over the years. But god help us if they try to integrate any more then the UI elements into this "programming language" (I was once forced to use an ad-hoc XML-based programming language... it sounded ok until you tried to program in it, implementing logic was weird), but for the UI, wow.

    --
    "1984" was ment to be a warning, not a guidebook. You hear that Kim Jong-il!? BushCo?!
  4. Nothing new actually by Mastos · · Score: 5, Informative

    The idea of XML-based interface definition has been around well before XAML. There are a ton of XML user interface languages around: http://xul.sourceforge.net/. Hell, Mozilla is built around it: http://www.hevanet.com/acorbin/xul/top.xul

  5. MS's reply to XUL by josepha48 · · Score: 3, Insightful

    This is basically Microsofts answer to Mozillas XUL. What a suprise that they have such an original idea. Of course what they probably haven't realized is that this means that creating GUI interface that are cross platform becomes easier and it then becomes easier to move away from thier OS. If they publish the dtd for the XML then an interpreter for other OS's that can render the XML is all that is needed. Then using .net framework or web services, your applicaiton could run anywhere and work anywhere.

    --

    Only 'flamers' flame!
    Does slashdot hate my posts?

  6. Re:Yawn by Jerf · · Score: 4, Insightful

    You've been modded "funny" as I write this but really you have an interesting point.

    The answer is that to date, all of our wheels have been spikey and sharp, tending to work poorly and often killing, crushing, and destorying things in its path, rather then working as designed.

    My pet example of this is "Object Oriented Programming". I think OOP is a significant advance, but it took 20 years to start to get implementations of it that were really useful, in C++, in Python, in a couple of other languages. (I take a broad view here. C# probably qualifies, but I haven't used it. Perl does for wizards only; technically the capabilities exist but they're damned hard to really get right. Java is getting there but still borderline, unless you augment it with other tools. Most other implementations tend to hit complexity walls too early to be useful, such as pre-template C++.) Think "design patterns", and the subsequent work being done based on that.

    Finding the best way to do one thing is easy. Finding the best way to do a million things is harder. Iterators or Observers? MVC or something else? Pervasive persistence or request only? (These are of course only sample questions, not meant to be answered or considered as exhaustive.) The only way to answer these questions on a large scale is to try them on a large scale. That takes time, and a lot of what seems like re-invention, as some new combination is tried out with a few subtly different answers from last time.

    The sheer staggering multiplicity of answers on so many dimensions is really unprecendented in any other Engineering field, since they all tend to be able to use "physical locality" to isolate the complexities of their system. Consider the almost uniformity of mainstream CPU design, for instance; is it really so inconceivable that a little 'reinvention of the wheel', i.e., a complete re-thinking of PC architecture, isn't called for?

    Right now, we really don't know as much as Language X bigots ("Language X is the one true way!") would have you think. There's still a lot of room for experimentation. And the only true way to experiment is by building a slightly different wheel, and seeing if it maims its users slightly less then before in a wide variety of situations.

    In this sense, "software engineering" almost approaches a true experimental science, albeit with very engineering-oriented experiments.

  7. Re:This is a mess, not for serious coders by rbolkey · · Score: 4, Insightful

    Although I empathize with your sentiment, you obviously have no clue what your talking about in reference to the actual article submitted(yes, this is slashdot, big shock). The article's comment is a little misleading, this isn't for coding, it's for interface layout, which XML is quite effective at if you've ever touched XUL. XML is heirarchical. As are most, if not all, common GUI components. And separating logic from layout is A Good Thing, which XUL performs more cleanly than most toolkits I've seen (Swing, Windows Forms).

    The true measure of the impact of a technology is how many highly effective solutions you can find that it wasn't really intended for. This is one for XML.