views:

212

answers:

3

I learnt about some declarative UI languages such as XUL for Mozilla/Gecko and HTA for Microsoft at Wikipedia.

  • What would be the advantages/disadvantages of these markup languages?
  • Why don't common OSes and Applications use these techniques?
  • Do these languages impart flexibility to the system?
  • Are there any OSes that use markup languages for displaying their UI if not why?...
    Examples of these OSes or Applications however ancient they may be would be welcome..
+3  A: 
  1. HTA isn't a markup language. It's basically a container for HTML, which is the markup.
  2. The web is driven around markup languages, so "common" applications do use them.
  3. This is a good place to start reading. Also this.
  4. You might also be interested in Metaprogramming. There's similar ideas to both. You describe something using markup or metadata, and then the program executes it and turns it into something useful.

Many of your questions will be answered in-depth at those links. Except for the last one. I can't think of anything specific on the OS side.

The long and short of my personal experience is that markup is great for defining structures and organization and layout. But behavior isn't well represented. If you want your UI to do something useful, you still need to program it.

Glenn
And the opposite is also true, code isn't usually as good in defining structures, organization and layout as a markup language. The approach makes a good match.
Vinko Vrsalovic
+2  A: 

Are there any OSes that use markup languages for displaying their UI

The ISPF was a rapid application development system on IBM mainframes which used a declarative markup to define the screens, then Fortran or Cobol code behind it to provide behaviour. One previous job of mine was converting such applications to an XUL based front-end to run on a PC; it was a fairly trivial conversion.

Pete Kirkham
A: 

Re #2: I don't know, but I think it's for performance reasons, you couldn't waste time parsing XML on a 486 :)

Re #4: yes, if you count Linux as an OS, GTK uses some kind of markup language for UI. Also XAML in .NET.

Nickolay