From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,92c39a3be0a7f17d X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2001-12-19 08:52:23 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!netnews.com!xfer02.netnews.com!newsfeed1.cidera.com!Cidera!cyclone.socal.rr.com!cyclone3.kc.rr.com!news3.kc.rr.com!typhoon.san.rr.com!not-for-mail Message-ID: <3C20C5CE.DBFE5B96@san.rr.com> From: Darren New X-Mailer: Mozilla 4.77 [en] (Windows NT 5.0; U) X-Accept-Language: en MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: Portable GUI (was Re: Future with Ada) References: <9v57u1$mfb$1@nh.pace.co.uk> <9v74ov014bc@drn.newsguy.com> <9vb24v$7fg$1@nh.pace.co.uk> <9vdo2a$9h3$1@nh.pace.co.uk> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Date: Wed, 19 Dec 2001 16:53:03 GMT NNTP-Posting-Host: 66.75.151.160 X-Complaints-To: abuse@rr.com X-Trace: typhoon.san.rr.com 1008780783 66.75.151.160 (Wed, 19 Dec 2001 08:53:03 PST) NNTP-Posting-Date: Wed, 19 Dec 2001 08:53:03 PST Organization: Road Runner Xref: archiver1.google.com comp.lang.ada:18098 Date: 2001-12-19T16:53:03+00:00 List-Id: Mark Lundquist wrote: > 1) First, you write your native Ada GUI library. This is the hard part. > Make it the very best thing you can make. Also let it be configurable with > traits that allow it to emulate Windows-like or Motif-like LAF. The problem with doing it this way (i.e., not using native GUI calls) is that when the native GUI changes, your GUI does not. E.g., if you make it look like Win98 without using native widgets, it won't look right on WinXP. > 2) Next, write an XML schema to define GUI layout in terms of the primitives > that map to those of your portable GUI. It wouldn't hurt if (1) were done > with a view to (2). Now, you have a way for GUIs to be represented as XML > documents, instead of encoded in program source code. This too has already been done. It's called HTML. Actually, it's been done many times. And XML is probably *not* a real good representation for a GUI description language. It would be OK, but not excellent. > 3) Now we need a way for your applications to talk to these GUIs. First > step is to define a simple object model to ride on top of some middleware: > CORBA and/or SOAP and/or Bonobo... The semantic level of this layer is what > is left after abstracting away from all the details of appearance, layout, > perhaps even some choices of controls, etc... that are now all loaded into > the XML representation. > > 4) We also need a way to render the GUIs, and so we write an XML browser (in > Ada, of course) to interpret the schema. This is trivial, since the schema > is just an XML oil-slick over the native portable Ada GUI (1). This > component brings together (1), (2), and (3). It's a standalone executable. > Start with Windows and Linux. > > 5) Write/generate the bindings to (3) in every popular language that knows > how to talk to the middleware options you support. So now you can offer a > platform-independent GUI for C++, Perl, Python, Ada of course, and even Java > for those who find compelling advantages in this GUI over Swing (and there > would be some advantages, I think). > > 6) While you're at it, write a GUI-builder. It's target-language > independent, because it doesn't have to generate program source code, only > XML and IDL (or whatever). > > 7) Now take what we've done, and hype the living daylights out of it, while > preserving our dignity (we might need that later on). Sell it at a modest > price to every cross-platform developer in the world. Get written up in all > the trendy industry rags (cover stories of course). Win a Jolt award. Get > the schema recommended as a W3C standard. Go public. So far, this sounds like HTML. Indeed, it would seem that AWS is a fine way of building GUIs for Ada programs, yes? -- Darren New San Diego, CA, USA (PST). Cryptokeys on demand. "This wine goes good with feet."