Competition

From JAXXWiki

XML is a very natural language for representing Swing user interfaces, and there are a number of other toolkits similar in concept to JAXX. Before choosing JAXX, I encourage you to take a look at the other tools and make an informed decision.

If there is missing or inaccurate information on this page, please add or correct it. I have every intention of providing a fair portrayal of all of these toolkits. See the Talk:Competition page for details.


Contents

SwiXml

From SwiXml's home page:

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.

  • 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.

SwingML

From the About page of SwingML's site:

SwingML is a specification based on XML that releases the power of the JFC/Swing libraries making them easier to implement in the client side and providing an alternative to replace completely the use of HTML. In the traditional model a server side component returns HTML to the web browser. In the SwingML model a server side component produces SwingML and returns it to the client side where an applet will receive it and use it to render the graphical user interface, this makes possible the creation of graphical user interfaces based totally on Swing instead of HTML.

XUI

XUI's home page

XUI is a Java and XML framework for building Rich Internet Applications. It includes support for Swing, AWT, SWT and other widget sets. The framework also includes support for data binding, localization, drag and drop, validations, event handling, multiple databases, and a variety of communication protocols. XUI supports JDK 1.1.8 through to JDK 6.

Applications can be delivered over Java Webstart and can integrate with the desktop with system tray support and Office intergration. XUI provides a range of rich UI components for text handling, animation, SVG, data, charting, navigation and also various application styles such as docking/sliding, MDI, SDI and embedded.

The XUI project provides plugins for both NetBeans and Eclipse and these plugins allow two-way WYSIWYG editing, plus automated generation of UIs from POJOs and databases.

Beryl

inactive

From Beryl's home page:

The Beryl XML GUI library was written to ease the development of graphical user interfaces using Swing on Java. It lets you store user interfaces as XML markup. This will help you avoid unnecessary clutter in your source - Swing code mixed with application logic can become a troublesome and hard to read mess as the application size increases. The library comes with a visual component builder, which makes development a breeze. The most important features are:

  • It has a very easy syntax, makes designing a GUI as easy writing HTML
  • Effectively removes all Swing UI construction code from your program, resulting in a much more readable, maintainable and smaller codebase.
  • Comes with its own visual GUI builder (which, in turn, has been entirely written using the XML GUI)
  • Almost all of the Swing widgets are supported
  • Integrates with JavaHelp
  • Supports Drag'n'Drop with much less effort
  • Builtin internationalization
  • Uses caching for improved performance
  • Widgets are self-configuring with default values
  • Validators can be attached to widgets, common validators are supplied (Date, Number, Phone number, Email address ..)
  • Spacings are automatically set to conform with the Java Look And Feel Design Guidelines
  • Automatic "Group" layout for easy construction of simple dialogs
  • Embraces the MVC design pattern
  • Ready for J2EE client applications (For example you can automatically create a table row from a J2EE value object)
  • Adds several much-needed custom swing components: JWizard, JIconView, JConsole, JOutlookBar and JHorizontalSeparator

Luxor

inactive

From Luxor's home page:

Luxor is a free, open-source XML UI Language (XUL) toolkit in released under the GNU General Public License (GPL) that lets you build UIs using XML and includes an ultra-light weight, multi-threaded web server, a portal engine, a template engine (Velocity), a scripting interpreter (Python) and more.

XUL stands for XML UI Language and was pioneered by Mozilla. XUL is superior to API-based UI toolkits such as Swing or WinForms because it clearly separates the user interface into four parts:

  • content (structure and description of UI elements),
  • appearance (look