Re: XUL, SwiXML, & Thinlets
Wolf Paulus <[email protected]> Thu, 2 Dec 2004 21:17:59 -0800
| Newsgroups | gmane.comp.embedded.carlsbad-cubes |
|---|---|
| Message-ID | <[email protected]> |
Hi Owen, Here is my take : If I wanted to generalize, I'd say GUI generation can done by manually coding it, using a code generator (before compile-time), or de-serialize an object hierarchy, which was serialized at an earlier time. The XUL approach fits somewhat in the later category. While the object hierarchy never really existed, an XML document, describing objects and their state (tags are matched with classes and attributes are matched with properties), is used to instantiate the GUI at runtime. There are OS and even programming language independent solutions available, i.e.(http://www.mozilla.org/projects/xul/). However, this independence comes with a price tag attached. The required runtime modules are of noticeable size, which can be an issue if the solution needs to be deployed remotely. More importanly, widgets are often re-implemented on top of the native components, adding to a sometimes already slow native UI framework. Thinlet (http://www.thinlet.com) and Swixml (http://www.swixml.org) purposely not implemented this way. Thinlet works with Java AWT where as SwixML works directly with Java Swing components. Both solution require only tiny runtime libraries (around 50 kilo bytes) and are specially build for remote clients, i.e. conveniently deployable through Java Web-start. And yes you are correct, thinlets.jar provide the engine for the Thinlets widgets and swixml.jar provide the engine for the swing widgets. Unfortunately, the XUL descriptor are not interchangeable. Again, swixml for instance does not implement its own widgets but calls directly into Swing. Thinlet widgets and Java-Swing components have different properties, which are reverenced differently in the XUL descriptor. I have not tried to access thinlet generated widgets with Jython but you can access Swixml gen. widgets with Jython. At this point, Theodore an only create XUL descriptors for Thinlet. However, an comparable designer application for Swixml is currently worked on. To summarize, neither Thinlet nor Swixml tries to be everything to everybody (read render AWT, Swing, SWT on every OS and Platform). Both solutions are highly optimized solution for pure Java, thinlet for java 1.1 - swixml for java 1.2 and greater. The performance is 100% equivalent to pure AWT or pure Swing - the size of the required runtime in marginal. Wolf -- Wolf Paulus 707.202.3937 [email protected] C a r l s b a d C u b e s Dedicated to Excellence CONFIDENTIALITY NOTICE: This message is intended only for the use of the individual or entity to which it is addressed, and may contain information that is privileged, confidential and exempt from disclosure under applicable law. If you are not the intended recipient, please contact the sender by reply email and destroy all copies of the original message. On Dec 2, 2004, at 8:25 PM, Owen Densmore wrote: > Our research group (http://friam.org) is looking into better tools for > simulation work. The UI in particular can be quite arduous. The idea > of using XML to describe the UI sounds great! Some questions: > > 1 - XUL: I'm a bit confused by the difference between building XUL for > Thinlets vs Spring. Is it a goal that the XUL should be able to be > targeted to multiple widget sets (AWT, Thinlets, Swing, SWT) and > possibly even different languages (Java, Python, TclTK, ...) by > supplying the "engine" that translates from the XUL to the target > platform? > > 2 - Thinlets vs SwiXML: If the above is somewhat true, then the > thinlets.jar provide the engine for the Thinlets widgets, and SwiXML > provide a different engine for the swing widgets, right? > > 3 - Jython: Presumably one could access either the thinlets or swixml > engines from Jython. Is this possible? Any idea how? > > 4 - Theodore: Can Theodore produce XUL that could be used by both the > thinlets and swixml engines? > > Thanks! > > Owen http://backspaces.net/ > > > _______________________________________________ > Forum mailing list > [email protected] > http://carlsbadcubes.com/mailman/listinfo/forum_carlsbadcubes.com _______________________________________________ Forum mailing list [email protected] http://carlsbadcubes.com/mailman/listinfo/forum_carlsbadcubes.com