SwiXml, is a small GUI generating engine for Java applications and applets.
Graphical User Interfaces are described in XML documents that are parsed at runtime and rendered into
javax.swing objects.
Depending on the application, XML descriptors may be deployed with the remaining code or loaded from a
remote server at runtime. This late binding of the GUI has many advantages. Enabling features in an
application based on a license code or a user's role does not have to be hard coded anymore. Instead
an XML document describing the application's GUI could be dynamically loaded.
Generating the GUI based on descriptors also has some of the advantages that code generators provide,
but without generating the none-maintainable code.
While SwiXml doesn't free the developer from knowing the
javax.swing package, it reduces the amount of repetitive, sometimes error prone, and often
complex GUI related code.
Constructing a User Interface based on XML documents is not a totally new idea. Projects like Thinlet, XUL, XULUX, Jelly, and SwingML, to name a few,
have successfully proven this concept.
SwiXml differentiates itself from the rest by focusing completely on javax.swing.
Programmers who know Swing already can immediately start writing descriptors. No additional XML
dialect has to be learned: Class names translate into tag names and method names into attribute
names.
SwiXml is faster since no additional layers had to be added on top of the Swing objects.
SwiXml is smaller. Despite the fact that the swixml jar file is only about 40 Kbyte in
size, almost all of the infamous Swing objects are supported.
SwiXml does Java Swing GUI generation and that is all. The dynamic behavior of the user
interface, defining the application's business rules, has to be coded in Java.