[comp.windows.open-look] XView vs OLIT?

aim@Corp.Sun.COM (Amy) (12/07/90)

>>From unify!openlook-request@csusac.ecs.csus.edu Thu Dec  6 06:11:14 1990
>>Received-Date: Thu, 6 Dec 90 05:39:52 -0800
>>Posted-Date: Wed, 5 Dec 90 12:55:51 CST
>>To: openlook@unify.com
>>Subject: XView vs OLIT?
>>
>>I'm looking for some advice. If I'm going to develop a new OPEN LOOK
>>application, should I use XView or OLIT/Xt+?
>>
>>I understand the difference between these two, but I'm interested in all the
>>pro's and con's.
>>
>>For example, which is more conformant now? Which is likely to be most conformant
>>in the future? Which is easier to program? Easier to port? Which gets the best
>>support? Which is the most ICCCM-conformant? Which is the most robust? The
>>fastest? Etc.

I cannot address the areas of robustness & speed (would be an interesting
comparison!), but I can give some advice on ease of programming:

It actually depends on your experience with windows programming.  If
you're a seasoned sunview programmer, then XView will require significantly
less ramp up time (if almost none at all, since the API is so similar).
If you've programmed with Athena widgets or Motif (Intriniscs based 
toolkits) then OLIT would be easier to pick up.

If you've got little to no X windows programming experience, then XView
is a bit easier to learn - plus the fact that the DevGuide product (which
allows you to build a user interface graphically and is very fast and
easy to use) currently generates XView code.

If you are not in a hurry to develop your program (ramp up time not
being an issue) then I encourage you to take a close look at exactly
what you are trying to accomplish with the toolkit.  i.e. WIll it
be a complex user interface with lots of popups and dynamic creation
and deletion of objects?  Or is it more of a simple, static OpenLook UI 
using a couple subwindows and some buttons & menus?  For the former
case I'd tend to recommend OLIT because there are OLIT widgets which
handle dynamic sizing and relative positioning very nicely, which the
current version of XView does not handle well.  If it's the latter case,
then I'd go with XView - no need to deal with the complexity of using
the Intrinsics when XView will provide your required functionality with
significantly less effort.

Some other tidbits on Pros and Cons:

	.XView provides and API for handling Colormaps, ServerImages,
	 cursors, icons, while OLIT (Intrinsics) require you to 
	 use Xlib directly for such things.

	.OLIT provides more freedom in object layout - it will let
	 you nest all kinds of objects (i.e. Forms within Forms,etc)
	 while XView is pretty strict about this, i.e.  You can only
	 put Panel Objects in a Panel, textsw in a frame, etc.

	.XView currently has an API to receive objects dropped on
	 the app from the OW V2 filemgr, while this requires some very
	 nitty-gritty programming in OLIT(and is NOT recommended since
	 drag&drop WILL change for OW V3).

	.OLIT provides the extensive use of application or user defined
	 resources (via the Intrinsics) so that you can specify values
	 for widget attributes OUTSIDE the program in resource files
	 (which comes in handy when configuring/changing a UI - no
	 need to recompile, just change the value of the resource in
	 the resource file).  Currently XView provides a very limited
	 ability to do this.

If you're concerned with portability to OTHER platforms:
	XView is being ported to all varieties (DEC, IBM, PC, MAC, etc)
	and the source if freely available on expo.

	OLIT is currently only available on the Sun, AT&T and HP 
	platforms.  The source is available from AT&T USL for $1000
	or from the Sun OpenWindows source offering for $995.
	However, since OLIT is based on Intrinsics, it's much easier
	to port to other Intrinsics toolkits (I won't mention names!)
	since a great deal of the code will be common. (OLIT is based
	on the MIT R4 Intrinsics).

I've programmed extensively in both.  I can easily say XView was easier
to learn.  However, there have been some cases where I've required the
flexibility in layout that OLIT provides, and once I spent the time
learning the Intrinsics I've grown to appreciate the power it provides
to the programmer.

This doesn't answer all of your questions, but it's a start.  I'd
encourage you to take a close look at both before deciding.

Regards,
Amy Moore
Member of Technical Staff
Market Development Group
Sun Microsystems, Inc.
aim@sun.com

>>
>>
>>Regards,
>>
>>Kerry Kimbrough
>>
>>kk@tivoli.com
>>

tomj@snowking.Eng.Sun.COM (Tom Jacobs) (12/07/90)

The December 1990 "SunTech Journal" has several interesting articles
comparing the various GUIs and APIs (including XView and Xt).  Dan
Heller (writer of both OPEN LOOK and Motif reference manuals) wrote
a couple of the article, so the source is at least qualified to make the
comparisons.  Phone numbers for SunTech are (415)363-5200 in Redwood City 
CA and (603)924-0100 in Peterbourough NH.

--Tom

In article <g9jy68v@openlook.Unify.Com>, kk@shasta.tivoli.com (Kerry
Kimbrough) writes:
|> I'm looking for some advice. If I'm going to develop a new OPEN LOOK
|> application, should I use XView or OLIT/Xt+?
|> 
|> I understand the difference between these two, but I'm interested in
all the
|> pro's and con's.
|> 
|> For example, which is more conformant now? Which is likely to be most
conformant
|> in the future? Which is easier to program? Easier to port? Which gets
the best
|> support? Which is the most ICCCM-conformant? Which is the most
robust? The
|> fastest? Etc.
|> 
|> 
|> Regards,
|> 
|> Kerry Kimbrough
|> 
|> kk@tivoli.com

david@jpl-devvax.JPL.NASA.GOV (David E. Smyth) (12/12/90)

aim@Corp.Sun.COM (Amy) writes:
>
>Some other tidbits on Pros and Cons:
>
>	.OLIT provides the extensive use of application or user defined
>	 resources (via the Intrinsics) so that you can specify values
>	 for widget attributes OUTSIDE the program in resource files
>	 (which comes in handy when configuring/changing a UI - no
>	 need to recompile, just change the value of the resource in
>	 the resource file).  Currently XView provides a very limited
>	 ability to do this.

Amy, have you used Wcl with OLIT yet?

For those of you who don't know what Wcl is, here's a summary:

Wcl, the Widget Creation Library, is a thin veneer over capabilites
provided by the Xrm X Resource Manager which is in Xlib but extensively
used by Xt based widget sets.  Xrm allows the attributes of Widgets to
be specified in resource files.  It also allows the bindings between
key and mouse events and application or library functions to be specified.

Wcl adds the ability to specify callback bindings, widget types, and
widget heirarchies in the resource files.

The end result is this: your application ends up implementing callbacks,
and the resource file contains *virtually* all the code which says anything
about the interface.  Its a nice separation of UI and behavior.  

The resource files are free of logic in almost every respect, and are
free from alloc/free hassles.  Therefore, non-programmers have little
problems making major contributions to the user interface.

Resource files are interpreted, so you've got a very quick edit-test
cycle - no compile/link required.  Also, Wcl makes your application
start up faster in almost every case because the widget creation order
is optimal (recursive).

-------------------------------------------------------------------------
David Smyth				david@jpl-devvax.jpl.nasa.gov
Senior Software Engineer,		seismo!cit-vax!jpl-devvax!david
X and Object Guru.			(818)393-0983
Jet Propulsion Lab, M/S 230-103, 4800 Oak Grove Drive, Pasadena, CA 91109
--------------------------- Quote of the Day: ---------------------------
   "A Guru is not one who simply knows all the answers.  Rather, a
    Guru is like one who walks among the mountains, and by wandering
    around abit, can see the horizon through long narrow canyons."
-------------------------------------------------------------------------