Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!cam-news-hub1.bbnplanet.com!news.bbnplanet.com!howland.erols.net!newspump.sol.net!newsfeeds.sol.net!uwm.edu!msunews!harbinger.cc.monash.edu.au!news.mel.connect.com.au!news.syd.connect.com.au!phaedrus.kralizec.net.au!not-for-mail
From: [email protected] (Ross McKay)
Newsgroups: comp.windows.misc,comp.answers,news.answers
Subject: Portable GUI Development Kits FAQ, part 4/4
Followup-To: comp.windows.misc
Date: 2 Mar 1997 21:00:42 +1100
Organization: Kralizec Dialup Unix Sydney, +61-2-837-1183 V.32bis
Lines: 507
Approved: [email protected]
Expires: Sun, 30 Mar 1997 00:00:00 GMT
Message-ID: <[email protected]>
Reply-To: [email protected]
NNTP-Posting-Host: godzilla.zeta.org.au
Summary: This posting discusses many of the various platform-independent
       Graphical User Interface (GUI) development software libraries/
       packages.
Keywords: PIGUI
Xref: senator-bedfellow.mit.edu comp.windows.misc:33555 comp.answers:24598 news.answers:96031

Archive-name: portable-GUI-software/part4
Posting-Frequency: monthly
Last-modified: 1997/03/02
Version: 3.1
URL: http://www.zeta.org.au/~rosko/pigui.htm

                     PLATFORM INDEPENDENT FAQ PART FOUR

    _________________________________________________________________

   Copyright 1996 Ross McKay. Last released $Date: 1997/03/02 09:04:40 $
   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.

    _________________________________________________________________

VI. VENDOR REPORTS - cont.

  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
              [email protected]
       www
              http://www.franz.com/

         Harlequin

       email
              [email protected]
       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
              [email protected]
       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
              [email protected] - 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
         _G_enerating an _A_malgam of _R_eal-time, _N_ovel _E_ditors and
         _T_oolkits, 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
              [email protected]
       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
              [email protected]
              [email protected] - 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
              [email protected]

  _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
              [email protected]
       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
              [email protected]
       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.

    _________________________________________________________________

VII. ACKNOWLEDGEMENTS

  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 [email protected], 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,
  [email protected]

  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 ([email protected]),
  '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, [email protected], "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:[email protected]
   $RCSfile: pigui4.txt,v $; $Revision: 3.1 $; $Date: 1997/03/02
   08:36:20 $