Platform Independent FAQ
Part Four
Copyright 1996 Ross McKay. Last released $Date: 1997/03/02 08:36:20 $
Copyright 1993-1995 Wade Guthrie. Permission is granted to copy
and redistribute this document so long as it is unmodified (including
the part that explains where to get the FAQ free-of-charge) and the
copyright remains in-tact. I'd appreciate it if you told me about any
redistribution, but that's not strictly necessary.
The different PIGUI kits are classified by the language they support. These
are the ones which support languages other than C and C++. PIGUI kits for C and C++ can
be found in Part 2 and Part 3 of the FAQ.
PIGUI Kits for languages other than C and C++:
- Ada
- OpenUI
- Screen Machine
- Eiffel
- EiffelVision
- Lisp
- Common Lisp Interface Manager
- Garnet
- Java
- Java Abstract Window Toolkit
- Oberon
- Oberon/F
- Python
- wxWindows
- Smalltalk
- VisualWorks
- VisualAge
- Tcl
- Tcl/Tk 4
Common Lisp Interface Manager, V2.0
- VENDOR:
-
Well, this gets kind-of complicated. It was started by a company
called `Internation Lisp Associates', or ILA, but was adopted by
several Lisp vendors. The current active CLIM parters are:
-
- Franz, Berkeley, CA
- email
- info@franz.com
- www
- http://www.franz.com/
-
- Harlequin
- email
- web@harlequin.com
- www
- http://www.harlequin.com/full/products/sp/clim2.html
-
- Illudium
- SOFTWARE CONFIGURATION:
-
CLIM is a de-facto extension to the Common Lisp language. It
supports standard shape-drawing primitives with a portable color
model. Full 2D affine transforms are supported. In addition, a
platform-independent typeface specification mechanism is included.
-
CLIM contains an intensional type system, known as presentations,
whereby any piece of output can be associated with an
application-object. On input, the same type-system allows
context-sensitive input, driven by the application-types.
-
CLIM also contains high-level facilities for table-formatting,
graph-formatting, window layout, dialogs, etc.
-
CLIM operates through a back-end for each underlying GUI. Back-end
efforts exist for Motif (which is shipping), OpenLook, the
Macintosh and MS-Windows. CLIM can also run in a CLIM-look-and-feel
mode as a fallback.
-
For additional information, see the comp.lang.lisp FAQ, part 7.
- COMMENTS:
-
I have been advised that a former "active CLIM partner" Symbolics
have "gone Chapter 11", risen again, but probably have little time
now for CLIM.
-
Also, Lucid Lisp, from another former "active CLIM partner", has been
acquired by Harlequin.
-
EiffelVision
- VENDOR:
- ISE
-
- Voice: 1-805-685-1006
- Fax: 1-805-685-6869
-
- email
- info@eiffel.com
- www
- http://www.eiffel.com
- news
- comp.lang.eiffel
- SOFTWARE CONFIGURATION:
-
EiffelVision is a platform-independent GUI framework developed by ISE for
ISE Eiffel. The EiffelVision library provides classes for the standard widgets
(buttons, fields, panels, geometry management) as well as graphical
functionality (lines, polygons, circles etc.)
-
EiffelVision is currently available for Motif, Open Look and Microsoft Windows.
- OPTIONS:
-
A graphical application builder called EiffelBuild, which generates
Eiffel code utilising EiffelVision classes.
- COMMENTS:
-
This product is apparently stronger on Motif than on Windows, but the
current efforts for the next version will redress that.
- FUTURE:
-
Macintosh support is on the way, and a greater level of abstraction in
the GUI classes to increase platform independence.
Garnet
- VENDOR:
- Carnegie Mellon University
-
- email
- garnet@cs.cmu.edu - to get
on the mailing list
- www
- http://www.cs.cmu.edu/~garnet/
- ftp
- ftp://a.gp.cs.cmu.edu/usr/garnet/garnet/
- news
- comp.windows.garnet
- SOFTWARE CONFIGURATION:
-
Garnet is a GUI development environment for X/windows and Macintosh,
under Common Lisp. Garnet is an acronym for Generating an
Amalgam of Real-time, Novel Editors and
Toolkits, and was developed by the User Interface Software Group
of Carnegie Mellon University.
-
Garnet provides basic API emulation, a fairly complete set of widgets
(GUI objects), and some tools for WYSIWYG design. Two look-and-feel's
are provided for: Garnet's custom look, and the Motif look.
-
Garnet works with MCL 2.0.1 on the Macintosh, and any Lisp for Unix that
implements CLX (X11), including: Allegro, Lucid, CMU, Harlequin
Lispworks, AKCL, CLISP, TI Explorer Lisps.
- COMMENTS:
-
Garnet can not be supported by the UISG at Carnegie Mellon any longer,
because the people who know enough about Garnet to support it have
either left the UISG or have been moved on to Garnet's `successor',
Amulet. There is still a good number of
users out there who can help with problems and bug fixes though, and
they are accessable through the above email and newsgroup.
-
Garnet does not use CLOS, instead using a system called KR (Knowledge
Representation). I don't know if that means it is incompatible with CLOS
though; can anyone fill me in ?
Java Abstract Window Toolkit 1.0
- VENDOR:
- Sun Microsystems
- 2550 Garcia Ave.,
- Mtn. View, CA 94043-1100 USA
-
- email
- java@java.sun.com
- www
- http://java.sun.com/
- news
- comp.lang.java
- SOFTWARE CONFIGURATION:
-
Java is an Object Oriented language developed by Sun Microsystems,
out of a project targetting smart devices such as TV set-top boxes.
The Java language describes a Virtual Machine (VM) to which Java
source code is compiled, providing a platform-neutral binary
format for Java programs. All that is needed to port programs
written in Java (excluding GUI) is an implementation of the
Java VM for that platform. So far, SunOS, Solaris, Win32 and
MacOS for PowerMac have VM interpreters.
-
The Java AWT is a platform-independent class library including
classes for data primitives, containers, system objects,
communications, and GUI (among other things). When the Java VM
is ported to a platform, the Java AWT is ported with it.
-
Sun, Borland, Microsoft, Symantec, and a raft of others have produced
nice IDE's for Java, allowing developers to build Java applets and
Web pages `visually' in much the same style as Visual Basic et al.
- COMMENTS:
-
By now, most people know something about what Java is, even
most software developers! Java is being [over]hyped as the [latest]
silver bullet for cross-platform, distributed, client / server, object
oriented, Web-enabled and generally buzzword-compliant systems for
today's applications. In truth, it looks like it actually can deliver
this, and certainly is worth consideration when developing platform
independent applications.
-
While the class library could be considered quite comprehensive in a
general sense, there is not much in the way of high level GUI objects.
For example, there is a text field object, but no number or date fields.
There are no high-level dialog objects either. If you need these (and
most business apps do) then you must either find a third-party source or
subclass your own from the AWT classes. For a good list of third-party
tools, check out http://www.cybercom.net/~frog/javaide.html
-
Much of the push behind Java is getting application code running
in Web browser pages. Netscape, Internet Explorer, HotJava,
and the latest Mosaic
all support embedded `applets' in HTML pages. What is often
overlooked about Java is that you can also write stand-alone
applications in it, which don't rely on a Web browser.
Oberon/F
- VENDOR:
- Oberon Microsystems, Inc.
- Technopark
- Technoparkstr. 1
- CH-8005 Zurich
- Switzerland
-
-
- email
- www@oberon.ch
- oberonf-request@math.tau.ac.il - subscribe to mailing list
- www
- http://is.eunet.ch/Customers/omi/
- ftp
- ftp://ftp.inf.ethz.ch/pub/software/Oberon/OberonF/
- news
- comp.lang.oberon
- SOFTWARE CONFIGURATION:
-
Oberon/F is a commercial implementation of Niklaus Wirth's Oberon
language, including an Integrated Development Environment and a
platform-independent framework. Oberon/F currently supports MS-Windows
3.1, Win32, and Macintosh.
-
Oberon/F supports the typical GUI objects (windows, dialogs, fields) and
supports unlimited undo/redo, direct Win API / Mac Toolbox calls,
Windows DLLs or Macintosh code fragments, hypertext help. A form/dialog
editor is included, which generates resource files (in Oberon/F format).
- OPTIONS:
-
- Direct-to-COM compiler
- Source-code analyser and Profiler
- Arbitrary Sized Integer Library
- SQL subsystem (single-user ot client/server)
- SUPPORT:
-
Email assistence is available in 10-packs for about $450, and a training
course is also available.
- COMMENTS:
-
Oberon/F is available for download free for non-commercial use.
Screen Machine, V1.43
- VENDOR:
- Objective Interface Systems, Inc.
- 1892 Preston White Drive
- Reston, Virginia 22091-5448
-
- (800) 800-OIS7 (inquiries)
- (703) 295-6500 (voice)
- (703) 295-6501 (fax)
-
- email
- info@ois.com
- SOFTWARE CONFIGURATION:
-
This is an Ada PIGUI which includes a WYSIWYG GUI builder.
-
The product fully supports Ada's built in multi-threading
capabilities (protects against non-re-entrant code in the native
windowing systems). This allows SQL applications and such to
continue processing input from the user while waiting on one or
more database transactions.
-
Screen Machine (I have to give them two points for the name alone)
includes an Ada code generator that generates layered Ada GUI code
that follows the presentation/dialog/application scheme.
- SUPPORT:
- Free (with updates) for one year. After that, call for pricing.
- FUTURE PLANS:
-
OIS is currently developing an Ada95 (fully O-O) parallel implementation
of the CORBA-based Fresco/C++ (the new Xt replacement technology in
X11R6). This technology is part of OIS's Acumentor product
development suite and is known as Acumentor/GUI.
-
Acumentor/GUI will offer the same:
- object embedding (via CORBA)
- multi-threading support
- resolution independence
- multiple look-and-feel emulation, and
- structured graphics
in the C++ version of Fresco. The CORBA interface will allow Ada
applications to transparently interoperate with C++ applications. OIS is
extending the product to include a full MVC paradigm and fully automatic
memory reclaimation. Windows 95/NT versions are in progress in addition
to the VMS and Unix X Windows versions.
Tcl/Tk 4
- VENDOR:
- Sun Microsystems Laboratories
-
- email
- john.ousterhout@eng.sun.com
- www
- http://www.sunlabs.com/research/tcl/
- http://www.neosoft.com/tcl/ - archives
- ftp
- ftp://ftp.smli.com/pub/tcl/
- ftp://ftp.neosoft.com/pub/tcl - archives
- news
- comp.lang.tcl
- SOFTWARE CONFIGURATION:
-
Tk is a graphical user interface toolkit for adding X/Windows GUI
objects to Tcl, a scripting language. Tcl and Tk were developed by Dr.
John Ousterhout at the University of California, Berkeley. He now works
at Sun Microsystems who have employed him to do some further development
of Tcl / Tk.
-
There are versions of Tcl/Tk for X-Windows (many platforms),
MS-Windows 3.1 (Win32s), Win32, Macintosh; and ports underway for OS/2 and MS-DOS.
-
A GUI builder tool called SpecTcl is available from Sun, for Unix platforms.
- COMMENTS:
-
Tcl/Tk presents the X/Windows look-and-feel, regardless of what platform
it is run on. There is some effort underway to get native look-and-feel
on Windows and Macintosh, but it's a little way off yet.
-
Because Tcl has been designed as an embeddable language, you can use Tcl/Tk
from C, C++ and Java quite easily. The Tk functions can be called from these
languages directly, and extensions to Tk can be supported by creating a
callback which has some embedded Tcl.
-
There is a shell for calling Tk from Ada, called TASH (Tcl Ada SHell).
For details, see http://www.ocsystems.com/xada/tash.
-
The Tk toolkit has also been modified to work with Perl and other
languages. For details, check out
http://w4.lns.cornell.edu/~pvhp/ptk/ptkFAQ.html
VisualWorks v2.5
- VENDOR:
- ParcPlace-Digitalk
-
- 1-800-759-7272 or 408-481-9090
-
- email
- webinfo@parcplace.com
- www
- http://www.parcplace.com/
- SOFTWARE CONFIGURATION:
-
VisualWorks is a Smalltalk application development environment and
class library for client-server GUI products. The VisualWorks
software includes a set of interactive development tools to help
you, well, develop your GUI software interactively. In addition,
one can use the Chameleon View product to preview the look of an
application as if it were running under different windowing
managers on the various supported platforms.
-
In addition to all of this, VisualWorks includes an external
database interface, currently for Oracle and Sybase.
- OPTIONS:
-
Advanced Tools - performance benchmarks, complex numbers, extended
browser, metanumbers, parser compiler, space use profiler, class
analysis and reports (e.g., variables used but not defined).
-
- Business Graphics - pie, bar, line, etc., charts
- DLL & C Connect - parse C header files, call out to DLLs and shared libraries
- Oracle Connect 2.0
- Sybase Connect 2.0
- WHAT THE USERS SAY:
-
Some users simply prefer programming in Smalltalk over C++ anyway,
others say that language differences aside, VisualWorks is a
better toolset than any C++ kit they've seen.
- COMMENTS:
-
Apparently (I haven't seen the article, personally) the June 14,1993
issue of Computerworld ranks ParcPlace pretty highly.
Many thanks to the previous maintainer and original author of this FAQ,
Wade Guthrie. Wade has done a marvellous job since the inception of the
Platform Independent GUI FAQ, aka Portable GUI FAQ, and I personally owe
him a debt of gratitude for the assistance he has given me in getting
this FAQ out the door. I also have benefited from his FAQ over time, in
making the tough decision about which PIGUI kit to go for.
Wade can still be contacted at wade@nb.rockwell.com,
where he is probably just settling back into a nice cold beer right now
and enjoying return to a FAQ-reduced life. Please leave Wade in peace, and
address all correspondence related to this FAQ to me,
rosko@zeta.org.au
Thanks to the many netters that have helped give information and
general impressions of the software packages listed here. Also thanks
to the vendors for keeping this FAQ accurate and up-to-date.
In specific, I'd like to thank Eric Raymond (esr@snark.thyrsus.com),
'cause [Wade] stole his UNIX FAQ format for use here. Thanks, Eric.
Some articles which have contributed to the pool of knowledge about
Platform Independent GUI programming:
- Steve Apiki, "Paths to Platform Independence", Byte, January
1994, pp. 172-178
- Richard Chimera, carm@cs.umd.edu, "Evaluation of Platform
Independent Interface Builders", Human-Computer Interaction
Laboratory, University of Maryland, dated March 1993.
- Carl Dichter, "One For All. . .", UNIX Review, October 1993,
pp. 65-74
- Thomas Murphy, "Looking at the world through cheap sunglasses",
Computer Language, February 1993, pp. 63-85
- UNIX Review Staff, "Outstanding Products of 1993", UNIX Review,
December 1993, pp. 47-54
- Scott Mace, "Windows-to-Mac bridge now open", InfoWorld, Nov. 7,
1994, p21
Ross McKay
email:rosko@zeta.org.au
$RCSfile: pigui4.htm,v $; $Revision: 3.1 $; $Date: 1997/03/02 08:36:20 $