discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Why Renaissance could be the Greatest Thing Ever


From: Gregory John Casamento
Subject: Re: Why Renaissance could be the Greatest Thing Ever
Date: Sun, 28 Dec 2003 16:22:22 -0800 (PST)

Michael,

--- Michael Baehr <usemike@spamblocked.com> wrote:
> Hash: SHA1
> 
> Howdy folks; long time no post (been travelling).
> 

<...... stuff about traveling and the failure of Qt as a crossplatform solution
deleted ......>

> 
> This is why I think those fighting over whether GNUstep on Win32 should
> have a native Win32 look or retain the OpenStep look are misguided.  Of
> _course_ it should look native Win32.  It should use the Win32 API,
> without a doubt.  Just like GNUstep on OS X, or as I like to call it,
> Cocoa (wink wink), looks nice and natively Mac, and uses native Mac
> widgets.  How, then, to make a cross-platform toolkit out of something
> with clearly different implementations on different platforms?

First off there is no doubt that it should *look* like Win32, the
implementation is what is at issue.

In Cocoa, and in the OpenStep paradigm in general, all gui objects are
responsible for drawing themselves.   From the lowliest view to the window
itself.   This is true for all implementations.  
(Note: Some implementations such as OPENSTEP1.1/Solaris and GNUstep depend on X
to draw the window since they must play nice with other X apps on that level,
but this is generally true on MOSX and OPENSTEP4.2/Mach.) 

Because of this paradigm, it is not possible for GNUstep to utilize the native
widget implementations of any given operating system.   Yes,
OPENSTEP4.2/Windows (aka YellowBox) did *look* like Windows, but it was because
the look/feel of Windows was duplicated.   This is where the NSInterfaceStyle
enumerated type got it's start, so that the code responsible for drawing will
draw in the appropriate style for the OS on which the system is operating.

Making GNUstep use the Windows API to draw it's widgets implies a fundamental
change in the architecture of GNUstep.  This change would especially effect how
the widgets draw themselves and how they accept events from the  window server
in a way that is incompatible with the current paradigm.  This is very unlikely
to change. 

> The answer lies in Renaissance.
> 
> Renaissance right now just provides a way to specify interfaces in xml
> files.  That's fine and dandy, and solves the whole NIB vs. gmodel 
> problem by providing one format for implementing an interface.  However, 
> that's not where its true strength lies.

It is difficult, even with the autolayout features of Renaissance, to create a
GUI that looks good on all platforms.

> The opportunity Renaissance provides is to revolutionarize the idea of 
> GUI composition, and make way for the first truly cross-platform GUI 
> toolkit.
> 

<...... long missive about XML and short example deleted ......>

> 
> The Renaissance project was started to solve a simple problem, but I 
> feel like it may end up giving us so much more.

The idea of an XML defined interface is not a new one.  The guys at Netscape
did it with XUL, and the guys who created Glade did it too.   Glade, as I
remember, is the Qt GUI builder. :)  

> Big up the GNUstep massive.
> 
> Good night.
> 
> - - Mike

Just wanted to put things in perspective. :)

Later, GJC


=====
Gregory John Casamento -- CEO/President Open Logic Corp.
-- bheron on #gnustep, #linuxstep, & #gormtalk ---------------- 
Please sign the petition against software patents at: 
http://www.petitiononline.com/pasp01/petition.html 
-- Main Developer of Gorm (featured in April Linux Journal) ---

__________________________________
Do you Yahoo!?
New Yahoo! Photos - easier uploading and sharing.
http://photos.yahoo.com/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]