home *** CD-ROM | disk | FTP | other *** search
- Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!news.starnet.net!news.starnet.net!news.dra.com!news-out.internetmci.com!newsfeed.internetmci.com!su-news-hub1.bbnplanet.com!news.bbnplanet.com!news.pbi.net!samba.rahul.net!rahul.net!a2i!news.vbc.net!vbcnet-west!news.mira.net.au!harbinger.cc.monash.edu.au!news.mel.connect.com.au!news.syd.connect.com.au!phaedrus.kralizec.net.au!not-for-mail
- From: rosko@zeta.org.au (Ross McKay)
- Newsgroups: comp.windows.misc,comp.answers,news.answers
- Subject: Portable GUI Development Kits FAQ, part 1/4
- Followup-To: comp.windows.misc
- Date: 2 Mar 1997 20:54:57 +1100
- Organization: Kralizec Dialup Unix Sydney, +61-2-837-1183 V.32bis
- Lines: 1131
- Approved: news-answers-request@MIT.EDU
- Expires: Sun, 30 Mar 1997 00:00:00 GMT
- Message-ID: <5fbiph$g3p@godzilla.zeta.org.au>
- Reply-To: rosko@zeta.org.au
- 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:33551 comp.answers:24595 news.answers:96028
-
- Archive-name: portable-GUI-software/part1
- Posting-Frequency: monthly
- Last-modified: 1997/03/02
- Version: 3.1
- URL: http://www.zeta.org.au/~rosko/pigui.htm
-
- PLATFORM INDEPENDENT FAQ PART ONE
-
- _________________________________________________________________
-
- 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.
-
- _________________________________________________________________
-
- I. WHAT'S NEW IN THIS ISSUE. . .
-
- Seems that many of the vendors with commercial products are looking
- hard at Java... just a few that I know of include Willows, Visix,
- Neuron Data, Bristol, and RogueWave. Of course, there are many other
- big names there already, including Sun, Symantec, Borland, Oracle, and
- yes, even Microsoft.
-
- I will try to get together a rundown on what each offers for next
- month. In the meantime, you may want to check out some of the sites.
- It seems that many people are looking to Java as the language that
- will allow cross-platform portability at last.
-
- Watch those prices! Many will still be out of date! _Check with the
- vendor!_
-
- Notable in this version (3.1)
- * added first entry for GraphApp
- * removed ObjectViews as manufacturer Quest Windows is defunct
- * updated ILOG Views with new database access, ActiveX and plugins
- * updated MainWin with new pricing, support OLE 2.0 and threads
- * updated Galaxy as eval no longer requires training
- * updated NuTCRACKER to 3.0
- * updated prices on Qt
- * updated XVT to 4.5
- * updated home page of wxWindows, and there _is_ a Mac port
- * updated home page of Amulet
- * notice: watch out for StarView falling from the sky soon...
-
- II. INTRODUCTION
-
- This posting is intended to shell-out as much information as I can
- find concerning platform-independent Graphical User Interface (PIGUI)
- development kits (actually, it's platform-independent APIs targeting
- various platform-DEPENDENT GUIs, but let's not get too picky). This
- list is being posted because I've seen a whole mess of requests for
- GUI portability information and, besides, I need this information as
- well.
-
- This document is maintained and periodically updated as a service to
- the net by Ross McKay (rosko@zeta.org.au). Any corrections, updates,
- or other pertinent information are welcomed at that address. If you
- are a vendor of a PIGUI package (whether it's represented here or
- not), I encourage you to amend, annotate, and append to this document
- (and then, of course, send the revisions back to the author).
-
- IIa. Where to get this document.
-
- As the primary format of this document is now HTML, the best place to
- get it is on the Word Wide Web at the following place:
- http://www.zeta.org.au/~rosko/pigui.htm
-
- You can also get the plaintext version from the following HTML page:
- http://www.zeta.org.au/~rosko/textfaq.htm, by anonymous FTP from
- `rtfm.mit.edu', or by following newsgroups comp.answers or
- news.answers.
-
- IIb. What's a PIGUI?
-
- A PIGUI (_Platform Independent Graphical User Interface_) toolkit is a
- software library that a programmer uses to produce GUI code for
- multiple computer systems. The toolkit presents functions and/or
- objects (along with a programming approach) which is independent of
- which GUI the programmer is targeting. For the purposes of _this_
- document, a PIGUI must support several GUIs under at least two
- different operating systems (so just supporting OpenLook and Motif on
- two Unix boxes doesn't count). The toolkit does not necessarily
- provide any additional portability features. Native look-and-feel is a
- desirable feature, but is not essential for PIGUIs.
-
- Now, let's consider Petula Sniggly, a programmer who decides she wants
- to build the ultimate computer program. This thing is going to be so
- cool that everyone anywhere near a CPU will want to use it, so Petula
- targets her program for every type of computer on the planet. She
- considers getting herself a PIGUI toolkit to handle the GUI portion of
- her code. With a PIGUI toolkit, when she wants to put a menu on the
- screen, she calls the toolkit's `PIGUI_menu' function. When she
- compiles her code with the `Macintosh' flag set, the PIGUI library
- puts a Mac menu on the screen in response to the PIGUI_menu call. When
- she compiles her code with the `Motif' flag set, the call causes the
- library to put-up a Motif-style menu. All this happens (theoretically)
- without Petula having to change her source code. If she is careful to
- make her non-GUI code portable, she would have a single program (with
- a single source) that works on multiple platforms.
-
- There is no free lunch, so our heroine Petula has a few things to
- consider before deciding whether to use a PIGUI. First, most (and
- maybe `all' depending on whom you believe) of the PIGUIs will slow the
- execution of your code. You are also limited to the feature set
- provided by the PIGUI unless you want to code around the toolkit (but,
- then again, why would you buy the PIGUI in the first place if you're
- going to code around it?). Bugs in any toolset (PIGUI or otherwise)
- filter down to your production code. Fewer people know how to code any
- specific PIGUI than do a platform-specific GUI (e.g., MS-Windows), so
- wizardly help will be limited. The PIGUI only deals with the GUI
- aspects of your program -- you're on your own for other portability
- issues. Finally, if the vendor goes out of business you may be
- out-of-luck for support of future OS enhancements (source code can
- ease, but not eliminate, the pain of a vendor closing its doors).
-
- Another approach that Petula could choose, is to design her system
- partitioned into GUI and non-GUI objects, and implement the GUI
- objects in the native API. Then, when porting, only the GUI objects
- need to be rewritten for the new platform. There are some developers
- who recommend this course of action, as it produces a better fit on
- each platform and eliminates the overheads often associated with PIGUI
- toolkits. Obviously, this would mean more effort on Petula's part, in
- both the initial development and in ongoing maintenance (no single
- base of source code). It also means learning how to code for _every_
- target platform. Not (usually) a trivial task, hence the market for
- PIGUI kits.
-
- (NB: partitioning your design into GUI and non-GUI objects is a _good
- thing_ to do anyway)
-
- IIc. A word (or two...) about language choice.
-
- There are PIGUI kits for languages including C, C++, Smalltalk, Java,
- Ada, Tcl, and Python. Most (all?) new PIGUI kits will be developed in
- Object-Oriented programming languages, as GUI work is ideally suited
- by the advantages of OO (especially inheritance / reuse). The bulk of
- exising kits are in C++, due to the popularity of that language, with
- many still in C but supporting C++. I have partitioned the Vendor
- Reports into separate parts because of this, putting C and C++ kits
- into Parts 2 and 3, and others in Part 4. My justifications are that:
- a)
- Part 2 was getting too big and needed splitting;
- b)
- due to practical or religious concerns, some people don't want
- to _know_ about the C/C++ kits
-
- Many C programmers will look at the purchase of a PIGUI library as a
- great opportunity to migrate to C++. If the library takes full
- advantage of C++, the programmer will have to use C++ methodologies
- (not just a C++ compiler with C syntax) to use it. When one ports a C
- program to such a library, one should expect to invest a _significant_
- amount of effort learning about (and modifying one's code to take
- advantage of) classes, inheritance, and constructors in order to
- complete the port. Of course, if one wants one's C code to become C++
- code, this is a necessary exercise anyway.
-
- IId. What else is in this Document?
-
- After the introductory stuff, you'll find some more detailed
- information about PIGUIs in general followed by tables and prose that
- describe specific PIGUI toolkits.
-
- The limits placed on which products are discussed in this posting are
- pretty-much provided in the title. The products listed here must be
- platform-independent and support at least two different OSs. The
- product must be shipping to the general public (i.e., no beta-only or
- pre-beta PIGUIs). Moreover, these packages focus on GUI portability,
- though some provide a larger breadth of portability features (and,
- I've tried to list those, where applicable). No limits (at either the
- high or the low end) have been placed on price, even though the prices
- in the field vary by more than an order of magnitude (and, now, there
- are some free PIGUI kits).
-
- Note that in addition to one of the products listed here, you'll need
- (natch) one of the supported host machines, a compiler or interpreter
- of the appropriate type, and, for layered GUI packages (q.v.), the
- basic GUI builder for that platform.
-
- IIe. Other Issues to Consider.
-
- The difference in GUI programming is most likely the greatest hurdle
- when programming for cross-platform portability, but it is not the
- only hurdle. Other issues often not delt with by cross-platform GUI
- kits, and not addressed by this FAQ, include (but may not be limited
- to):
- * byte alignment (little-endian vs big-endian) of data types in
- files and over network connections
- * (more generally) data formats, eg. non IEEE floating point
- * memory management (eg. 64k segment limitations)
- * text file end-of-line (CR-LF, LF, CR, RS, ...)
- * directory / folder navigation and file management services
- * multi-threading support
- * inter-process communications
- * system level functions (OS specific)
- * Unicode (16-bit international character set)
-
- When developing an application that may be ported to more than one
- platform (even if those platforms are the 16 and 32-bit versions of
- Microsoft Windows), you should be aware of the differences between the
- target platforms before development commences.
-
- IIf. More Legal Barf.
-
- At this point, I find it necessary to say that this FAQ is my personal
- work and that this FAQ does _IN NO WAY_ indicate, reveal, imply,
- infer, allude to, display, suggest, symbolize, expose, demonstrate,
- hint at, or in any way have anything to do with the thoughts,
- policies, suggestions, reflections, decisions, theories, sentiments,
- ponderings, rules, dreams, or beliefs of my employer.
-
- I use a lot of names that are trademarks in this FAQ. At no time
- should the use of a trademarked name be construed as contesting the
- trademark. Those trademarks belong to their respective trademark
- holders.
-
- If lots of stuff in this posting looks familiar to you, you're not
- hallucinating (well, maybe you are, but not regarding this). Much of
- the format (and some of the words) of this FAQ have been lifted (with
- permission -- thanks Eric) from Eric Raymond's PC-UNIX FAQ.
-
- Despite the best efforts of the maintainer of this FAQ, some
- information contained herein may not be accurate. Please verify any
- information (especially prices) with the respective vendors before
- finalising any desision. Please also forward any corrections or
- comments to the FAQ maintainer, rosko@zeta.org.au
-
- Some information contained in this FAQ is based on the opinions of
- users of the respective products, and does not necessarily reflect the
- views of the maintainer of this FAQ.
-
- III. GLOSSARY
-
- Here are some words that you'll find in this FAQ along with working
- definitions for them.
-
- _API_
- Applications Programming Interface. This is what the programmer
- sees when he's using a software development kit. Normally, this
- would be a set of function calls and/or objects.
-
- _APIW_
- Applications Programming Interface for Windows, a standard for
- cross-platform development. APIW was adopted by the European
- Computer Manufacturers Association (ECMA) on 15 December 1995,
- and is currently awaiting approval from the International
- Standards Organisation (ISO). APIW is based on the Microsoft
- Windows API. Microsoft are not happy; expect to see more legal
- action.
-
- _CDE_
- The GUI part of COSE (q.v.) is CDE, the Common Desktop
- Environment which includes hypertext help, IPC (q.v.), printer
- support, and a bunch of other stuff. The look-and- feel is
- Motif-like, but there's a lot more than that to CDE. It looks
- like CDE certification will be withheld from most if not all)
- PIGUIs since CDE includes its own API -- you have to comply
- with the API to be certified.
-
- _COSE_
- Common Open Software Environment. COSE is the industry-agreed-
- upon graphical environment that will augment (significantly)
- and replace Motif and OpenLook.
-
- _CUI_
- Character User Interface. This is like a graphical user
- interface, but it's implemented only with characters (e.g.,
- ASCII). Many Platform-Independent CUIs are developed using the
- public-domain curses package.
-
- _DDE_
- Dynamic Data Exchange. This is a method of inter-process
- communication under Microsoft Windows.
-
- _DDEML_
- Microsoft Windows' Dynamic Data Exchange Management Library.
-
- _DLL_
- Dynamically Linked Libraries. These are, essentially, shared
- libraries under Microsoft Windows or OS/2.
-
- _FAQ_
- Frequently Asked Questions. A list. . .like THIS one!
-
- _font_
- A specific set of shapes for a character set. Old English is
- one example of a font (it's more complicated than that, but I'm
- not going into it here).
-
- _GDI_
- Microsoft Windows' Graphical Drawing Interface.
-
- _GUI_
- Graphical User Interface. If you don't know what this is
- already, you have quite a bit of homework before this FAQ will
- mean anything to you.
-
- _HTML_
- HyperText Markup Language, an implementation of a Standard
- Generalised Markup Language (SGML). HTML is what Word Wide Web
- (WWW) pages are written in; click on `View Source' in your Web
- browser to see some.
-
- _IMO, IMHO_
- In My (Humble) Opinion. Usually means very opinionated and not
- very humble.
-
- _IPC_
- Inter-process Communication. It's a generic term for the way
- separate processes (or tasks) under an operating system talk to
- each other.
-
- _MDI_
- Microsoft Windows' Multiple Document Interface. An MDI parent
- window is intended to be the main window of an application and
- MDI child windows represent separate documents or sessions (or
- whatever) under that application.
-
- _Motif_
- This is one of the choices of look-and-feel under the X Window
- system. In order to have one's software certified as Motif
- compliant, one must pay a fee to the Open Software Foundation
- (OSF).
-
- _OpenLook_
- This is one of the choices of look-and-feel under the X Window
- system. It was originally championed by Sun Microsystems before
- they agreed to support COSE (q.v.).
-
- _PCL_
- Hewlett Packard's Printer Control Language. It's a language for
- getting HP printers to display what you want. Several versions
- exist, including PCL4 and PCL5.
-
- _PIGUI_
- Platform-Independent Graphical User Interface. Actually, it
- refers to a platform-independent API (q.v.).
-
- _PM_
- OS/2's Presentation Manager. This is the GUI under OS/2.
-
- _PostScript_
- This is a printer language owned by Adobe Systems. It's an
- interpreted language that is used by a wide variety of
- printers. This is yet another technology created by Xerox Parc.
-
- _SDK_
- Software Development Kit. It's software to help a programmer
- build other software.
-
- _Unicode_
- This is an international (16-bits per character) character set
- in which all the characters from the various supported
- international languages co-exist at once. Among the supported
- character sets is the Latin alphabet (as used for English and
- other languages), Hebrew, and kanji.
-
- _WYSIWYG_
- What You See Is What You Get (pronounced Wizzy-Wig). It's a way
- of allowing the user of a package to see the package's output
- (in its ultimate format) while the user is developing using
- that package. Most WYSIWYG software is really WYSISWYG
- (pronounced Wizzy-Swig) -- What you see is sort-of what you
- get.
-
- _Xlib_
- This is the library of X-Windows functions distributed by MIT
- with the X Window system (hence, it's free -- just like X
- Windows). One can generate software that is compliant to the
- OpenLook or Motif look-and-feel (or any other, for that matter)
- using Xlib.
-
- _YMMV_
- Your Mileage May Vary.
-
- IV. USER-INTERFACE APPROACHES
-
- Most, if not all, of the products in this FAQ take one of three
- approaches to providing platform independence. The two most common
- approaches are the `layered' and the `emulated' user interface but an
- up-and-coming approach is `API emulated' interface.
-
- Products using a layered interface access native, third party,
- GUI-building toolkits to provide the look-and-feel compliance for each
- particular GUI. Layered user interfaces have the advantage that, since
- they depend on other products which concentrate on a single GUI, they
- have to provide less software (and, hence, are usually less expensive)
- than emulated interfaces. Layered interfaces are also more likely to
- get the native look-and-feel correct on all platforms. Most of the
- PIGUI products in this FAQ fit in this category.
-
- In an emulated user interface, the PIGUI's resultant code produces
- low-level calls and all the look-and-feel compliance is handled by the
- PIGUI software itself (e.g., for OpenWindows support, the software
- would _NOT_ produce an XView program that must be compiled with the
- XView toolkit; the software would produce code that interfaces
- directly with X intrinsics). To provide an emulated user interface, a
- vendor has to develop a lot of extra code for look-and-feel support.
- Emulated user interfaces have the advantage that someone on a Motif
- workstation, for example, can see how the Macintosh-style UI will look
- (since the look-and-feel is part of the product). Emulated interfaces
- have the opportunity to provide a faster GUI than does a layered
- interface; in addition, it does not require you to purchase (or learn
- how to use) other kits to build GUI software.
-
- A third approach to platform independence is emulating one of the
- supported target's APIs (usually, the Microsoft Windows API) to target
- other GUIs. With one of these products, one would program using the
- emulated API and the code would be (to the extent to which the product
- provides portability) portable to other GUIs.
-
- V. FEATURES AND SUPPORTED PLATFORMS
-
- [Platform vs Price]
- [Features, Other Nifties, and Hidden Costs]
- [Hardware Vendors Supported]
- [Support Features]
-
- The products in this FAQ are pretty similar in their basic
- functionality; they each provide function calls or classes that allow
- the user to build windows, buttons (regular as well as radio buttons
- and check boxes), menus, menu bars, and the like. Areas of contention
- seem to be things such as:
- * support for the platforms you need,
- * the choice of implementation language,
- * availability and price of source code,
- * printer support,
- * support for international character sets,
- * capability to support draw-package-like features,
- * bitmap (and icon) support,
- * the approach to platform independence (see below),
- * nifty high-level widgets, and
- * price (complete price including royalties and distribution
- charges),
-
- Of course, each user will have his own requirements; YMMV.
-
- Now, on to the comparisons. To interpret the tables below, bear in
- mind the following things:
- * If information for a cell is unknown, a period ('.') is placed
- there. It is the ultimate goal of the author to eliminate all of
- these.
- * If a PIGUI package does not support a feature or platform in the
- table, the cell is marked with a hyphen ('-').
- * If a feature or platform is not currently supported, but that
- support is planned, the cell is marked with ('soon'). Support in
- the form of beta versions (as well as longer- lead versions) fit
- in this category.
- * If a price is known for a product, that price is inserted in the
- appropriate cell of the table. If that price is not known (but the
- feature is supported), the cell is marked with `yes' -- it is
- hoped that all `yes' entries will be replaced with prices `Real
- Soon Now'.
- Note that prices in this FAQ are the MSRP (Manufacturer's
- Suggested Retail Price). The street price for some of these
- products can be _significantly_ less.
- * Tables are annotated, where appropriate, with letters (in
- parentheses where it doesn't take up too much room). The
- appropriate notes are found below the table. Also note that as
- information changes, some of the notes will disappear. The note
- letters will not necessarily be in sequence -- get used to it.
-
- Another note: given that Sun Microsystems has announced its
- abandonment of OpenLook in favor of COSE, I'm not sure I'd hold my
- breath for the OpenLook betas in the tables below. It may just not be
- worth it for some of the vendors to support a product that has limited
- (at best) application (in fact, at least one vendor has abandoned an
- existing OpenLook product).
-
- The following products are listed in this FAQ. Abbreviations are given
- for product names which are too long to go into the tables.
-
- _Alleg_
- Allegris Workshop, Intersolv (was C++/Views by Liant)
-
- _CLIM_
- Common Lisp Interface Manager, several vendors
-
- _DCLAP_
- Don's Class Application library, Don Gilbert
-
- _Eiffel_
- EiffelVision, ISE
-
- _Galaxy_
- Galaxy, Visix
-
- _Graph_
- GraphApp, by Lachlan Patrick
-
- _ILOG_
- ILOG VIEWS, ILOG
-
- _JAM_
- JAM, JYACC.
-
- _Java_
- Java AWT, Sun Microsystems Inc.
-
- _libWxm_
- libWxm, Visual Solutions
-
- _MAINWin_
- MAINWin/Cross-Development Kit, MAINSoft Corporation
-
- _MetaCrd_
- MetaCard, MetaCard Corporation
-
- _Menuet_
- Menuet/CPP, Autumn Hill Software, Inc.
-
- _MEWEL_
- MEWEL UIL, Magma Systems
-
- _MS-MFC_
- Microsoft Foundation Classes as provided by _Microsoft_ Visual
- C++ and related products. This does NOT include non-Microsoft
- vendors who also support MFC (they are listed separately).
-
- _NuTCRAC_
- NuTCRACKER, DataFocus, Inc.
-
- _OberonF_
- Oberon/F, Oberon Microsystems
-
- _OI_
- Open Interface, Neuron Data
-
- _OpenUI_
- OpenUI, Open Software Associates
-
- _Qt_
- Qt, Troll Tech
-
- _ScrMach_
- Screen Machine, Objective Interface Systems, Inc.
-
- _StarVie_
- StarView, StarDivision
-
- _SUIT_
- Simple User Interface Toolkit, University of Virginia
-
- _VisAge_
-
- VisualAge for C++ and Smalltalk, IBM
-
- _VisWork_
- VisualWorks, Openware
-
- _Wind/U_
- Wind/U, Bristol Technology
-
- _WMMOTIF_
- WM_MOTIF User Interface Library, Software UNO, Ltd.
-
- _WNDX_
- WNDX GUI Toolkit, WNDX
-
- _wxWind_
- wxWindows, Artificial Intelligence Applications Institute
-
- _XVT_
- XVT Portability Toolkit, XVT Software Inc.
-
- _YACL_
- Yet Another Class Library, M. A. Sridhar.
-
- _zApp_
- zApp, RogueWave (Inmark have merged with RogueWave)
-
- _Zinc_
- Zinc, Zinc
-
- In addition, I'd like to mention the following products that are not
- mentioned in this document (well, not except for here):
-
- _Appware_
- This product has been _de-emphasized_ (which is commonly
- believed to mean `dropped') by Novell.
-
- _Aspect_
- Looks like `Open' has gone out of business.
-
- _CommonV_
- Word has it that Computer Associates has stopped supporting
- Glockenspiel CommonView.
-
- _GUILD_
- this seems to be part of the software configuration management
- tool, Continuus, rather than a toolkit in its own right
-
- _Object Windows Library_
- Borland seem to think `cross platform' means all varieties of
- Microsoft Windows.
-
- _Presentation Services Manager_
- after months of fruitless searching, I don't believe this is
- around anymore
-
- _STDWIN_
- This product is no longer supported, but it's free from
- ftp://ftp.cwi.nl/pub/stdwin/.
-
- _Vibrant_
- I'm told this is no longer supported, but contact
- info@ncbi.nlm.nih.gov for more information.
-
- _Table 1: PLATFORM VS. PRICE (US$ except where noted) _
-
- _Please_ check with vendor, as many of these prices may be out of
- date!
-
- X/ Open- Next-
- Vendor ASCII DOS Win(s) Win/NT OS/2 Motif Look Mac PenOS Step
- ------- -----------------------------------------------------------------------
- Alleg - - 995(f) 995(f) 995 995 - - - -
- Amulet - - - free - free - free - -
- CLIM . . . . . yes yes soon . .
- DCLAP . . (k) . . (k) . (k) . .
-
- Eiffel - - . . - . . soon - .
- Galaxy - - 9600m 9600m 9600m 9600m 9600m 9600m - .
- Garnet - - - - - free - free - .
- Graph - - free free - free - soon - -
-
- ILOG - - 6500 10000 10000 10000 - - - -
- JAM yes yes yes . . yes yes . . .
- Java - - - yes yes yes . yes - .
- libWxm - - (h) (h) - yes - - - .
-
- MAINWin - - (h) (h) - 8000n - - - .
- Menuet - 499 599 - 599 999 - . yes .
- MetaCrd - - 995(l) 995(l) - 995(l)- soon - -
- MEWEL 1595 395u (h) (h) 795 yes - - - .
-
- MS-MFC - - yes 399 - - - 1999 - -
- NuTCRAC - - - 2995 - (h) - - - -
- OberonF - - 400v 400v - - - 400v - -
- OI yes yes 5800 6850 6850 9850 9850 4800 . .
-
- OpenUI yes - 3500 soon 4900 7900g - 3500 (w) .
- Qt(q) - - - 1470 - 1470d - - - -
- ScrMach 495 495 1995 soon - (p) - - - -
- StarVie - - 499 995 495 1499 1499 499 - -
-
- SUIT . (k) (k) . . (k) (k) (k) . .
- Tcl/Tk free soon free free soon free free free - .
- TWIN - - (h) (h) soon (t) . (t) - -
- V - - free free soon free - - - -
-
- VisAge - - . . . . . - - -
- VisWork . . 2995 . 2995 4995 4995 2995 . .
- Wind/U - - (h) (h) - 9950 - - - .
- WMMOTIF 1500 - (h) (h) - 1995 - - - .
-
- WNDX . 1000 1000r 1000r 1000r 1000r - 1000r - -
- wxWind soon - free free soon free free free - .
- XVT - - 1950 6300ab 1950 6300a (c) 1950 . .
- YACL - - free free free free - - - -
-
- zApp(i) - - 1495 1995 1995 4995d - soon - .
- Zinc(e) 1499e 499e 499(f) 499(f) 499e 1499 - 499ej 499 .
- ------- -----------------------------------------------------------------------
- Vendor ASCII DOS Win(s) Win/NT OS/2 X/ Open- Mac PenOS Next-
- Motif Look Step
-
- (a)
- This is the price for platforms other than x86-based computers.
- For x86-based machines (under DOS/UNIX/Xenix -- where
- applicable), the price is $1950.
- (b)
- For non-x86 platforms, check for availability -- Alpha and MIPS
- supported.
- (c)
- Support for this product has been discontinued.
- (d)
- per platform, e.g. once for each of SGI, HPUX, etc.
- (e)
- Zinc requires a single-time purchase of the Zinc GUI Engine at
- $499, plus the cost for each individual GUI (e.g. HP-UX Motif =
- $499 + $1499). They also offer several packages, called
- `bundles', which reduce the total price when you buy several
- platforms. These are PC (Engine + DOS, Win16/32, OS/2, Mac)
- $1999; Motif (Engine + all Motif platforms) $4999; Everywhere
- (Engine + all platforms) $5999. Unicode is $4999.
- (f)
- Win16, Win32s, and Win32 are packaged together.
- (g)
- for a PC-based Unix, we're talking $5850.
- (h)
- This product uses the API that's native on this platform (e.g.,
- support for Win32 under MS-Windows NT); so, in that sense, it
- supports this platform.
- (i)
- You can purchase the entire bundle of libraries with zApp
- Factory for one platform for $8995.
- (j)
- Pre-release.
- (k)
- This product is free for non-commercial use. If you make a
- profit, you'll have to check with the vendor for pricing and
- availability.
- (l)
- A single license (any platform) can be used for all supported
- platforms.
- (m)
- Each version of Galaxy is able to use the Motif, OpenLook, OS/2
- CUA, or Windows look-and-feels. On the Macintosh version the
- Mac look-and-feel is available along with the others listed
- above. Also: This is the C price. You're looking at $12.2K for
- C++.
- (n)
- The cost drops for subsequent copies. Number 2 is $3500 and
- number 3 is $2000.
- (p)
- The pricing here is a little complicated. It was explained to
- me as follows. "We have both systems based pricing and floating
- license pricing. The system based pricing runs from $3K (small
- Sun or SCO) to $24K (big VAX or Sun 2000). The Unix Motif
- floating license pricing is $6K for the first license and $3K
- for each additional license."
- (q)
- Qt is actually sold in terms of Norwegian Krona, so US prices
- may vary. A `Duo pack' for Win32 and UNIX/Motix for one
- developer is NOK13950, or about US$2200.
- (r)
- Per programmer per platform per annum. Check other options
- online.
- (s)
- That's Microsoft Windows (TM).
- (t)
- Annual subscription; Willows has three levels of subscription:
- Basic for $250 p.a., Standard for $1000 p.a., and Premium for
- $5000 p.a. Non-commercial users can download TWIN for free, or
- buy a CD-ROM for $80.
- (u)
- Price does not include source code (the other MEWEL products
- do).
- (v)
- Price includes all platforms supported, in one package.
- (w)
- Does work on PenOS systems, but does not _yet_ have Pen
- extensions.
- (x)
- That's OpenLook.
- (y)
- That's NextStep.
- (z)
- DOS Text is sold separately from DOS graphics.
-
- What we're looking at is two groups of products. The lower-priced
- group is usually C++, is a more recent introduction to the market, is
- almost always a layered GUI, and concentrates on PC-based operating
- systems. Products from the higher-priced group usually offer a more
- stable platform with both greater breadth and depth than does the
- previous group. In either case, the cost premium for UNIX support is
- usually a factor of 3 -- that is, the GUI package for a UNIX platform
- for any PIGUI product is usually 3 times as expensive as the version
- for DOS/MS-Windows. Other `personal' operating systems (e.g. OS/2 and
- the Mac) vary as to whether they follow the UNIX pricing or the PC
- pricing. These are merely observations, your mileage may vary.
-
- _Table 2: FEATURES, OTHER NIFTIES, AND HIDDEN COSTS _
-
- Vendor Type(p) LAF(i) Eval(a) Source Royalty Distrib(z) Language Builder(g)
- ------- -----------------------------------------------------------------------
- Alleg layered native (j) free no . C++ yes
- Amulet layered native - free free free C++ soon
- CLIM . native (u) . . . Cmn Lisp (u)
- DCLAP . native free free . . C/C++ .
-
- Eiffel emulate native . . . . Eiffel yes
- Galaxy emulate native (d) (e) no . C/C++ yes
- Garnet emulate custom free . . . Cmn Lisp yes
- Graph emulate native free free . . C no
-
- ILOG emulate native 30 no no - C++ yes
- JAM layered native . yes no . C yes
- Java layered native free (l) . . Java (l)
- libWxm API emu native 60 4995 . . . .
-
- MAINWin API emu native 30 no (w) (w) C/C++ yes
- Menuet . native . . . . . .
- MetaCrd emulate native free no no free MetaTalk yes
- MEWEL API emu native . (r) no no C(s) (t)
-
- MS-MFC . native . . . . C++ yes
- NuTCRAC API emu native . yes . yes C/C++ .
- OberonF emulate native free free no no Oberon yes
- OI emulate native (x) . no $8,000 C/C++(k) yes
-
- OpenUI layered native (q) (e,b) no . C(h) yes
- Qt emulate native . . no no C++ .
- ScrMach layered native 30 (e) no . Ada free
- StarVie layered native 30 6000 no free C++ yes
-
- SUIT . native free free . . C .
- Tcl/Tk . custom free free no . Tcl(c) yes
- TWIN API emu native free free no no C/C++ .
- V emulate native free free no no C++ .
-
- VisAge layered native . . . . C++,Smal yes
- VisWork emulate native 30(j) 100000 yes . SmalTalk yes
- Wind/U API emu native 30(j) (f) no $19,500/yr C/C++ (t)
- WMMOTIF API emu native (j) 7500 no no C/C++ (t)
-
- WNDX layered native 30 (f) no . C yes
- wxWind . native free free no . C++ (n)
- XVT layered native (j) yes no . C/C++ yes
- YACL . native free free no no C++ .
-
- zApp layered native 60(j) free no . C++ $499
- Zinc layered native 60(j) free no no C++ yes
- ------- -----------------------------------------------------------------------
- Vendor Type(p) LAF(i) Eval(a) Source Royalty Distrib(z) Language Builder(g)
-
- (a)
- This is the number of days that the product can be evaluated.
- Inside this time, the software can be returned for full money
- back (minus, possibly, a cost for the evaluation -- check with
- the vendor).
- (b)
- Open Software Associates is willing to make a deal for source
- on a case-by-case basis.
- (c)
- The Tk part of Tcl/Tk can be used from C/C++ and Java also.
- There is a shell for Ada, called TASH. There is a version of Tk
- for Perl and Scheme (Unix et al).
- (d)
- Give them a P.O. They'll give it back if you don't like the
- product.
- (e)
- Source code is held in an escrow account. You can't get to it
- unless the company goes belly-up. This helps you protect your
- investment -- if the company goes belly-up, you can do the
- software maintenance yourself.
- (f)
- You can buy it, or you can get an escrow account.
- (g)
- This is a WYSIWYG GUI Builder.
- (h)
- Pascal, Cobol, and Ada are supported, too, but there wasn't
- room.
- (i)
- Look And Feel - as claimed by the vendor. Native means on OS/2
- it looks like a Presentation Manager app, on Macintosh it
- _doesn't_ look like a MS-Windows app, etc. Custom means it has
- made up a new one of its own.
- (j)
- There is a cost for evaluation.
- (k)
- They've taken a `wrappers' approach -- you can't subclass from
- their C++ classes.
- (l)
- Source to the JDK and AWT is available, unknown (to me) what
- licence conditions apply. 3rd party GUI builders abound in beta
- release.
- (n)
- Uses SunOS's DevGuide.
- (p)
- Type means `emulated', `layered', or `API emulated'. This
- describes how the product approaches support for various GUIs.
- (q)
- They charge (about $500) for a 90 day (money applicable to
- purchase) evaluation period. Included is a 1-day training
- course and phone and fax support.
- (r)
- ASCII, OS/2, and Unix versions come with source for free. The
- DOS version is an additional $400 with source. The Motif
- version can also be purchased.
- (s)
- You can program in the MS Windows API or use MFC, OWL, or
- C++/Views.
- (t)
- Any C/C++-based (depending on the nature of the product) MS
- Windows Application Builder will work.
- (u)
- Different LISP vendors support CLIM -- each provides a
- different set of options and pricing structures.
- (w)
- MAINWin kind-of charges royalties and/or distribution... there
- are two schemes, `per product' and `machine general'. When
- there is more than one product installed on a machine, `machine
- general' is best, otherwise probably `per product' would suit.
- (x)
- These guys have a `flexible evaluation structure'.
- (z)
- This represents a cost per platform or application (check with
- the vendor) distributed. It's not technically a royalty since
- the cost is not per unit of software shipped, but it is a cost
- that one has to consider. These costs are usually limited to
- commercial applications.
-
- _Table 3: HARDWARE VENDORs SUPPORTED _
-
- This table makes the most sense for operating systems that work on
- various types of hardware (e.g., UNIX, Windows NT) rather than for OSs
- dedicated to a certain type of hardware (e.g., DOS, Microsoft Windows,
- Macintosh).
-
- Win32 Sun A U
- D O S A Win Mac +++++ +++++ X l L
- +++++++ S +++ +++ O M O S P O t A M H P i N
- G T 1 3 C 3 3 6 P S x A I p n S I / V r V T S I P A S m n Q E
- f x 6 2 I . 2 8 P / 8 X P e O o S U M i M & C P U I G i u N X
- x t x x I 1 s k C 2 6 P S n S l C x S x S T O S X X I d x X T
- =========================================================================
- Alleg - - - - - y c - - c c . - - c c - c . - . . . - c c c - . . .
- Amulet - - - - - - - c c - c . . - c c . c . . . . c c c c c . c . .
- CLIM . . . . . p . p . . p . . c c c . . c . . . c c c c c . . . .
- DCLAP . . . . . c . c c . c . . . c c . c . . . . . . . . . . c . .
-
- Eiffel - - - - - y . p p - c . . c c c . . c c c . c c c c c c c . c
- Galaxy - - . . - - y y c y y c b y y c . c c y y . . c y y c . i . .
- Garnet - - - - - - - c c - - - - . c c . c . . . . . . c c c . . . .
- Graph - - - - - c c p p - c . . - c c . c . . . . c c c c c . c . .
-
- ILOG - - - - - c c - - c c b - c c c - c - - - - - - c c c - . . .
- JAM - - - - c c c c c - c c c c c c . c c . c c c c c c c c . . .
- Java - - - - - p p . y c y . . . c y . . . . . . . . y c c . y . .
- LibWxm . . . . . e . . . . . . . . c . . . . . . . . c c c c . . . .
-
- Menuet . . . c . c . . . c . . . . . . . . . . . . . . . . . . . . .
- MAINWin - - - - - e . - - - c c c c c c p c - - - - c - c c y - - - -
- MetaCrd - - - - - - - p p - c - - - c c - c - c - c c - c c c - c - -
- MEWEL c c . c c e . - . c p p p - c c - - - - - - c - c c - - . . .
-
- MS-MFC - - - - - y y y b . y y y - - - - - - - - - - - - - - - - - -
- NuTCRAC - - - - . - - - - - y c c - - - e e e e e e e e e e e e e . .
- OberonF - - - - - . c c . - c - - - - - - - - - - - - - - - - - - - -
- OpenInt . . . . . c . c c c c c . c c c . c c c c . c c c c c . i . .
-
- OpenUI - - - - y y . y p y c . . - c . c c c c c . c - c c - c . . .
- Qt - - - - - - - - - p y . . - c c . y - - - . c . c c c . y . .
- ScrMach - c c c c c . - - - p p p - c . c . . c c . c - c c c - . . .
- StarVie - - - - y y y y y y y c c c c c - . . p p . p p p c p - p . .
-
- SUIT c . . . . c . c c . . . . c c c . c . . . . . . c c c . . . .
- Tcl/Tk p - - - * - c c c p y y y c c c . c c y y . c c c c c . c c c
- TWIN - - - - - e e c c p e e e . c c . c - - - c c c c c c . c c .
- V - - - - - y . - - p c . . - c c . y . . . . c c y c c . y c .
-
- VisAge - - - - - . . . . c c c . . . . . . . . . . . . . c . . . . .
- VisWork . . . . . c . c c c c c . c . . . c . c . . . . c c . . . . .
- WNDX c - c c . c c c c c c . . . c c . . . . . . . . c . c . c . .
- WMMOTIF - - - - c e - - - - e - - - c c c c - - - c c - c c - - c . .
-
- Wind/U . . . . . e e . . . e e e . y c . c c . c . . p c y y . . . .
- wxWind - - . . p c . c c p b - - c c . c . . c . . c c c c y . c . .
- XVT - - - - y c c c c c c c - x c c x c c x c c c c c c c - p . .
- YACL - - - - - y c - - c c c c - c c . c . c . . c . c c c . c . .
-
- zApp - - - - . c c - - c c c . - y c . - - - - . y . y y c . . . .
- Zinc y y y y c y y y y y y c . - c c . c c . p c c c c c c c i c c
- =========================================================================
- D O S A Win Mac O Win32 Sun I A O U V A S M H A S P L Q N
- +++++++ S +++ +++ S +++++ +++++ S X V l M T C I P I G m i N E
- G T 1 3 C 3 3 6 P / x A M O S S C P M t S & O P U X I i n X X
- f x 6 2 I . 2 8 P 2 8 X I p n o / S r T S X d u T
- x t x x I 1 s k C 6 P P e O l U i x
- S n S x x
-
- y
- indicates that support has been verified by a user report.
- c
- indicates that the hardware/OS is claimed to work in vendor
- literature.
- e
- indicates that this is the API emulated by the software.
- b
- indicates that the hardware/OS is in beta.
- p
- indicates that the hardware/OS is planned, but not yet in beta.
- x
- indicates that support for the hardware/OS is being PHASED OUT.
- i
- indicates that I've heard that the vendor has ported their
- libraries, but they are only available in-house.
- .
- indicates that whether this combination works is unknown.
- -
- indicates that the vendor doesn't support that hardware.
- *
- points you at footnote info.
-
- Sun - Open:
- SunOS OpenLook
-
- Sun - SnOs:
- SunOS Motif
-
- Sun - Sol:
- Sun Solaris Motif
-
- AXP/Ux:
- AXP Digital Unix
-
- OVMS:
- DEC AXP OpenVMS
-
- AT&T:
- AT&T System 3000
-
- SCO:
- SCO Unix/Xenix
-
- SGI:
- Silicon Graphics Irix
-
- Pmid:
- Pyramid
-
- Footnotes, denoted by `*'
-
- Tcl/Tk
- There is ASCII support for Tcl/Tk, but it is limited. However,
- it is claimed that `most scripts will run' on it.
-
- _Table 4: SUPPORT FEATURES _
-
- With 800 FTP Read Support
- Vendor sale number? BBS? Compuserv? server? USENET? Other contracts
- ------- -----------------------------------------------------------------------
- Alleg . yes no no yes yes (w) 17%/yr (v)
- Amulet . no . . yes . (wb) -
- CLIM (c) (c) (c) (c) (c) (c) (c) (c)
- DCLAP none no no no yes yes . -
-
- Eiffel . no no no yes . (w) yes
- Galaxy none yes no no yes yes (wk) $1,995/yr
- Garnet none no no no yes yes (wb) no
- Graph none no no no yes no (w) .
-
- ILOG 30d yes no yes yes yes (wn) 15%/yr
- JAM . ? . . . . (w) .
- Java . . . . yes yes (w) .
- libWxm . ? . . . . . .
-
- MAINWin 90d yes . . yes . (wh) $2000/yr(e)
- Menuet . ? . . . . . .
- MetaCrd forever no no no yes yes (bhw) (i)
- MEWEL yes no yes yes yes yes (w) $250/yr
-
- MS-MFC . no . . . no (w) .
- NuTCRAC 1 year yes no no no yes (w) $500-$750/yr
- OberonF . no no no yes yes . yes
- OI . ? yes . . yes (w) $1200-$2400/yr
-
- OpenUI 90d yes soon no yes yes (wh) 12%-30%/yr
- Qt 1 year no no no yes . (w) 30%/yr
- ScrMach 1 year yes no no no yes (hk) 20%/yr
- StarVie . yes yes yes no yes (w) -
-
- SUIT . no . . yes . (wd) -
- Tcl/Tk (t) no no no yes yes (w) .
- TWIN . no no no yes . (w) (p)
- V no no no no yes no (w) .
-
- VisAge . yes . . . . (w) .
- VisWork (f) yes yes yes (g) . . $675/yr
- Wind/U . no no no yes yes (wn) 12%-20%/yr
- WMMOTIF 30d yes yes yes yes yes (w) 20/yr
-
- WNDX 30d no yes . soon no (hnw) (p)
- wxWind . no no no . yes (w) -
- XVT 6 mon. no yes yes yes (r) (wb) (call)
- YACL - no no no . yes . -
-
- zApp forever yes yes yes yes yes (w) $395-$1995(a)
- Zinc forever no yes yes yes yes (w) $499/yr(j)
- ------- -----------------------------------------------------------------------
- Vendor With 800 BBS? Compuserv? FTP Read Other Support
- sale number? server? USENET? contracts
-
- (a)
- $395 for Windows 3.1, $495 for Win32 (95 and NT) and OS/2,
- $1295 for Unix, or a complete package (all platforms) for
- $1995.
- (b)
- There's a mailing list.
- (c)
- CLIM is a multi-vendor product. See the individual vendor for
- information.
- (d)
- There is a SUIT mailing list. Send email to
- suit-users-request@uvacs.cs.Virginia.EDU for more information.
- (e)
- That's for one person. The second person is $700, and
- subsequent users are at $500.
- (f)
- Installation and temporary evaluation help plus one free
- general support question.
- (g)
- Gopher service.
- (h)
- Support (including distribution) by e-mail.
- (i)
- Phone support available on a `per incident' basis
- (j)
- This is for their higher-end support. Simple support still
- comes for free, but telephone and fax support stops after 60
- days.
- (k)
- They support an email mailing list.
- (n)
- Newsletter.
- (p)
- Cost of technical support per year == purchase price of
- product.
- (r)
- Informally.
- (t)
- There are commercial releases, which offer support. Check out
- the Commerical Uses of Tcl/Tk FAQ - Part 2. http://www.cpu.com
- (w)
- WWW support.
- (v)
- Intersolv has `QuickStart' license plus service packages for
- extra bux, which can accelerate your startup.
-
- _________________________________________________________________
-
- Ross McKay
- email:rosko@zeta.org.au
- $RCSfile: pigui1.txt,v $; $Revision: 3.1 $; $Date: 1997/03/02
- 08:37:38 $
-