What developers and users are saying
John O'Conner is a software architect,
consultant, author, and speaker: "This thing called "SwiXml" has potential for becoming the GUI layout
tool for Java developers. As the name suggests, SwiXml is an XML document. It can describe standard Java UI components
in XML. Although you still have to understand Java layout managers, you don't have to understand the Java language to
understand what the UI will look like. And that's perfect for localization people who just want to translate and localize the UI...
I'm convinced that a declarative XML file will be the standard for Java GUI design and layout in the future. It's gonna happen, so better start looking at this now. This - or something very similar - will be the standard for creating Java user interfaces."
Rick Jelliffe lives in Sydney, Australia,
and is C.T.O. of Topologi Pty. Ltd, a company making XML-related desktop
tools, and spends most of his time working on editors,
validators and publishing-related markup. He is the author of The XML & SGML Cookbook; Recipes on Structured Information and
lead the Chinese XML Now project at Academia Sinica Computing Centre: "
I have been using SwiXml for a few years now: rock stable, saves lots of programer time, much smaller than GUI-generator-generated
code, more bang per line on screen makes for easier editing, use of Swing means no need to learn different concepts, can be extended
with custom components: no downside that we have found at all, actually!
We do tend to keep major components as separate SwiXml components: so the menu bar is one SwiXml component and the button bar is a different one. We use a naming trick for menus and buttons: each major subsystem has its own prefix, and a generic action listener dispatches the actions to each subsystem to be taken care of.
SwiXml is also a great advertisement for the usefulness of reflection, btw! "
Eitan Gurari Associate Professor,
Department of Computer Science and Engineering at Ohio State University teaches SwiXML as part of his
Extensible Markup Language (XML) course.
SwiXML: A XML GUI Languages for SWING
"SwiXml offers three sets of tags representing Swing classes, or minor variants of those classes. The XML representaion makes it easy to experiment with different designs of GUIs. The descriptions of the tags and the examples offered by the SwiXml distribution are valuable resources."
Joshua Marinacci joined the Swing team at
Sun and recently co-authored O'Reilly's Swing Hacks with Chris Adamson.: "SwiXml is a powerful GUI layout tool,
and most importantly, layout is the only thing it does. It doesn't have features to specify event code, animations,
or anything else. This means it is easy to learn and small enough to use pretty much anywhere you can use Swing,
even in downloaded Java Web Start applications or applets.
Best of all, SwiXml is free and released under an Apache license. SwiXml does the job very well with little extra effort. The net result of working with SwiXml is delivering better-looking applications in less time, and that is always a good thing."
Hans Muller is the CTO for Sun's Desktop
Division. He's been at Sun for over 15 years and has been involved with desktop GUI work of one kind another:
"There are two kinds of schema designs: Special purpose and Mirror Swing API.
SwiXML is the strongest example of the latter.
* Straightforward design
* If you know the Swing API, you know SwiXML
* Small (40K bytes!)
* Integrates nicely with code
* Some takeup by projects"
Ben Galbraith, President of
the Utah Java User's Group (ujug.org),
co-authored books on various Java/XML-related topics, including Professional JSP 2.0 and
Professional Apache Tomcat 5.0,
NFJS feat. speaker: "Last I checked, SwiXML was the best "XUL motor"
available for Java.
Rather than try and port Mozilla XUL (as the Luxor project has done), SwiXML has created an XML vocabulary that will be much more natural for Swing developers.
So -- if you're looking for a way to define your Swing UI's in XML, SwiXML is one of the best choices around."
JDJ's Desktop Technologies Editor, software developer
working on WebSphere development tools for IBM in Hursley, UK.: "It makes sense from an object-oriented
viewpoint to separate the UI from the back-end logic, but why not have this architected into the framework.
The GUI could be separately serialized into some kind of XML format to allow easy transmission across HTTP, and arguably easier construction for people who preferred markup languages to writing Java Swing code.
Other issues such as providing different GUIs for levels of accessibility, countries, or hardware devices could be achieved by providing new XML files that were dispatched according to each client type.(...) For the GUI portion the beginnings of this might already be there with technologies such as SwixML (www.swixml.org), SwingML (swingml.sourceforge.net), or the XMLEncoder/XMLDecoder that was included with 1.4."
CTO of Topologi, and a standards activist with
ISO and W3C: "We only use SwiXML currently for for the frames and menus. Previously we used Visual Age Visual Builder
for these. I liked using Visual Age (which has now migrated to Eclipse in some form) but it generated
terribly verbose code all into a single file. By moving to SwiXML, we have
* reduced our source code size by 500K (unbelievable, but that is Visual Age!)
* improved maintainability
* seemingly improved our start-up time, though we have other changes so I cannot measure it."
Mike P., Software Architec, Canada, at JavaLobby:"
If people would only clue in to XUL. YES ! That's right! XUL is *THE* answer to all your swing nightmares.
Try out SwiXml. You write a relatively simple xml file, and in your class you instantiate a special class with a reference to a class that interfaces with the components that are referenced from the xml file. It's brilliant!
Remember RC files on Windoze back in the days before we left windoze? XUL is like that but then on steroids.&qout;
Konstantin Ignatyev, kgionline.com:
"Thinlet is nice but too limited IMO. http://swixml.org/ +
Hessian protocol and started with Java Web Start is capable of delivering Zero Administration Clients
with UI of any complexity."
Mike Stephen on TheServerSide.com: "Konstantin, I agree with you that from a purely technical standpoint this is a killer combination of technologies - especially when used with Spring and Hibernate."
Andrzej Bialecki, Thinlet and Luke contributor: "I had the least trouble to wrap my mind around the way Thinlet worked - so it was enough at the time not to bother too much with alternatives. Now I would probably be more tempted to choose SwiXML, which IMHO strikes the right balance between the complexity (but also robustness) of Swing and the user-friendliness of the XUL paradigm."
Guillaume Bisch: "I have spent some time reading about Xml described interfaces.
Now I believe this is the future, but i still wonder what technology will be the most prominent.
Maybe the in-house Microsoft solution, but i have great hopes for XUL from the mozilla project and i
was impressed by the current implementation of Jelly-Swing.
I will watch about this, it can save much time. Anyway I'm still looking for x-forms implementations that may be a subset of what can do XUL or others.
2004-01-02 Update: I have found a wonderful XUL to Swing implementation: SwiXML. Those guys rock!."
Rick Jelliffe, CTO of Topologi, and a standards activist with ISO and W3C blogs: "Objectively, Java is now looking pretty good for use in desktop applications: the speed for tasks that don't involve much object creation is excellent, Swing is stable though in need of scintillation with some fresh JComponents, SWT is available for people who want something else, Linux's new threads may improve responsiveness there, JRE 1.4.2 is available pretty much everywhere, and we have a zillion open source libraries--my current favourite is SwiXML"
Kate Rhodes at masukomi dot org: "There
are some great packages out there other than SwiXML that use XML
to generate a GUI.
However, SwiXML is fairly unique in it's approach and it's focus - I think that SwiXML is the easiest way to define a Swing layout. period."
Thomas Haaks, Talkline GmbH, Germany: "I really like the idea of separating GUI and functionality but also keeping it small and simple. Not trying to add "scripting" functionality to the XML files was a good decision. Technically, Swixml is my favorite XUL approach."
Levente Sántha: "I think SWIXML is an interesting software, because it looks like a very straightforward, thin layer over the Swing components."
John Piersol: "As a programmer, I love the simplicity of the Swixml model. .. I was able to start making my own dialogs and adding custom tags almost instantly with very little effort. I don't care about size of lib but it is a pretty good indicator of a design patterns complexity. SwixML is simpler then the others."
Patrick Forhan: "SwixML does an excellent job of setting up a GUI. I hate GUI code in java, and SwixML makes this much more clean."
Gerald Bauer, The Richmond Post: "Wolf Paulus - of Theodore fame (XUL Forms Designer for Thinlet) - has created a tiny (less than 30k) open-source XUL motor for Swing dubbed Swix licensed under an Apache-style license. Swix lets you create UIs for your apps or applets using a XUL dialect that holds on to Swing names wherever possible (e.g. class names such as JFrame or JPanel map to tag names such as <frame> or <panel>; method names such as setSize() or setTitle() map to attribute names such as size or title)."
Frank Meissner, Germany: "Swixml ist eine hervorrgagende Bibliothek. Ich verwende Sie nun schon an einigen Stellen und bin dabei, nahezu meine gesamte GUI auf swixml-Files umzustellen."
Ted Hesselroth: "I am using swixml for a medium-size java application, and have found it to be very useful. I like the fact that it is quite focussed and works well. I was pretty impressed upon reading the source code, too."
Emil Breding, Printon AB, Sweden: "I've just started using SWIXML and I’m very impressed! GUI development and maintenance will take half the time or less now."