Article View: comp.sw.components
Article #496Re: ** Toward a Portable OO GUI Library **
From: Scott E. Preece
Date: Fri, 12 Feb 1993 19:54
Date: Fri, 12 Feb 1993 19:54
82 lines
6025 bytes
6025 bytes
In article <C2B1z0.6w4@world.std.com> kevyn@world.std.com (Kevyn Ford) writes: | | emery@goldfinger.mitre.org (David Emery) writes: | | >The model (even if practice doesn't live up to it) for IEEE and other | >formal standards is to codify existing practice. I don't think | >there's enough existing practice out there to standardize on yet. | >There are some commercial products (e.g. XVT, Galaxy, and Galaxy is | >supposed to be the most 00-like) but in the absence of reasonable | >experience with existing practice, I believe formal standardization to | >be premature. | | Beyond that, you must realize that a portable application like XVT | compared to something written in native Motif or MS Windows simply | cannot compare. How do you compensate for its shortcomings? | | IMHO you will *never* see a truly portable GUI for the same reasons you will | *never* see a truly portable OS (don't even _thing_ about saying *nix). The | best we'll ever be able to hope for is ONE GUI for each OS (Motif on Unix, | MS Windows on DOS, PM on OS/2, etc). --- While opinions are always interesting, it is conventional to provide at least a little bit of evidence or experience to support them. What shortcomings of portable GUI toolkits did you have in mind? Certainly there are quite a few people working on building them and there quite a few major corporations and organizations using them to build portable applications. Those applications seem to meet the needs of those organizations quite nicely, with the tremendous advantage of being portable across the major platforms. In fact, I think some people would argue that those portable applications in some cases obey the GUI style guides better than some applications built using the native style guides. This is not surprising, since the look and feel is being regulated by the toolkit and the application developer is being constrained to expressing the application in look-and-feel-independent terms. I have heard people describe things they said could not be done in a portable GUI toolkit and which they felt were essential to providing a quality application. In most cases they were describing things they had to do *because the native toolkit was broken or inadequate*. I find that a weak argument for the superiority of the native toolkits; in many cases the portable toolkits have avoided those problems or have filled in gaps in ways that are nicely portable across platforms. The point of your second paragraph is equally obscure. Either you meant to knock the idea of a portable operating system API (like POSIX), which seems pretty goofy, since there are quite a few implementations of the POSIX API and there are real, portable programs written to that API to prove that it does work, or you meant that UNIX is too hard to port to call it portable. The latter statement is, of course, un-testable, in the absence of a definition of portability, so it's not very interesting even as opinion. Certainly UNIX is a lot more portable than most other operating systems have, historically, been. Certainly future operating systems will be more portable. Of course, a more interesting question is "what is an operating system." Most of the modern standards are being written as APIs or ABIs based on application execution environments. Is the operating system the outer interface, used by binary applications? It's possible to implement UNIX as one or more servers and/or libraries on top of a micro-kernel. The micro-kernel is much more constrained and helps isolate the machine-dependencies such that it is, typically, *much* easier to port to different hardware. The outer shell of libraries and servers may then be extremely portable, possibly even as binaries. Applications, of course, don't care whether an API turns into a trap, a library routine, or a message. My opinion is possibly biased, since I'm chairing an IEEE standards working group (1201.1) working on producing a specification for a uniform API for GUI programming. Contrary to Dave Emery's opinion, I believe that there is quite a lot of existing practice; what there is not is a single, common existing practice. However, most of the existing products have a lot in common, architecturally; 1201.1 is trying to take that core practice and express it as a language-independent specification and a C API instantiating the specification. scott -- scott preece motorola/mcg urbana design center 1101 e. university, urbana, il 61801 uucp: uunet!uiucuxc!udc!preece, arpa: preece@urbana.mcd.mot.com phone: 217-384-8589 fax: 217-384-8550
Technical Details
Message-ID:
<PREECE.93Feb12135443@predator.urbana.mcd.mot.com>Path:
arc1-ca.pugleaf.net!sparky!uunet!stanford.edu!agate!spool.mu.edu!howland.reston.ans.net!paladin.american.edu!gatech!asuvax!ennews!mcdphx!udc!preeceReferences:
<C1zv2w.63L@csisun.uucp> <1993Feb10.083156.5298@latcs1.lat.oz.au> <EMERY.93Feb10103958@goldfinger.mitre.org> <C2B1z0.6w4@world.std.com>Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: ff6c8,8f5dc62bc6cbe273 X-Google-Attributes: gidff6c8,public X-Google-Thread: 1040c9,8f5dc62bc6cbe273 X-Google-Attributes: gid1040c9,public X-Google-Thread: fc89c,8f5dc62bc6cbe273 X-Google-Attributes: gidfc89c,public X-Google-Thread: f9256,8f5dc62bc6cbe273 X-Google-Attributes: gidf9256,public X-Google-Thread: 1025b4,8f5dc62bc6cbe273 X-Google-Attributes: gid1025b4,public X-Google-ArrivalTime: 1993-02-13 00:26:06 PST Newsgroups: comp.sw.components,comp.sys.mac.programmer,comp.sys.next.programmer,comp.unix.programmer,gnu.misc.discuss Path: arc1-ca.pugleaf.net!sparky!uunet!stanford.edu!agate!spool.mu.edu!howland.reston.ans.net!paladin.american.edu!gatech!asuvax!ennews!mcdphx!udc!preece From: preece@urbana.mcd.mot.com (Scott E. Preece) Subject: Re: ** Toward a Portable OO GUI Library ** In-Reply-To: kevyn@world.std.com's message of Thu, 11 Feb 1993 22:18:35 GMT Message-ID: <PREECE.93Feb12135443@predator.urbana.mcd.mot.com> Sender: news@urbana.mcd.mot.com (News) Nntp-Posting-Host: predator.urbana.mcd.mot.com Organization: Motorola MCG, Urbana Design Center References: <C1zv2w.63L@csisun.uucp> <1993Feb10.083156.5298@latcs1.lat.oz.au> <EMERY.93Feb10103958@goldfinger.mitre.org> <C2B1z0.6w4@world.std.com> Date: Fri, 12 Feb 1993 19:54:50 GMT Lines: 82