Posted by: 2stepsback | September 21, 2005

XML Ideas: Controlling GUI

And so, I googled to see if anything exists and guess what? There are several separate successful efforts in Java alone to describe GUIs with XML!
Some of them are:
JFCML – http://jfcml.sourceforge.net/
SwiXML- http://www.swixml.org/
SwiXAT – http://www.swixat.org/docs/index.html
SwingML – http://swingml.sourceforge.net/demo.html
XUL – http://en.wikipedia.org/wiki/XUL
Thinlet – http://www.thinlet.com/
Beryl XML GUI – http://xmlgui.tigris.org/
Java GUI Builder – http://jgb.sourceforge.net/index.php
JEasy – http://www.jeasy.de/
Wicket – http://wicket.sourceforge.net/

So much, that it is quite a task to compare and choose which one would be best for you!

Another related project is AmbiGUI. Do have a look at it.
Yet another interesting project is SCGUI.

What also strikes one is the complete absence of XML-based gui in other languages like Visual Basic – Obviously, this is because of the simplicity of defining GUIs in VB’s own file format. However, I suspect that the fact that Java is free and hence very conducive to open-source development, could have something to do with it. Java being free, the open-source community has used Java to fully display all the talent there is, thereby producing such a variety of xml-based GUI programs.

A top level generalization of the xml-gui idea is to program in more than one language.
You can mix more than one programming languages togther and make an optimized solution for your problem. It is an old tested idea with VB COM coming to mind first from the Microsoft world. But some tools allow you to integrate Java and .Net code as well.
One company doing this is microTOOL at http://www.microtool.de/e_index.htm with their product ObjectiF Studio.

Another related idea is UML/CASE tool to source code conversion.
Visual paradigm (http://www.visual-paradigm.com) a free personal edition of their UML software at http://www.visual-paradigm.com/product/vpuml/productinfovpumlce.jsp

Advertisements

Categories

%d bloggers like this: