gutopia-dev
[Top][All Lists]
Advanced

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

RE: [rgui-dev] Camelot


From: Rich Kilmer
Subject: RE: [rgui-dev] Camelot
Date: Thu, 29 Aug 2002 02:43:06 -0400

> -----Original Message-----
> From: address@hidden 
> [mailto:address@hidden On 
> Behalf Of Tom Sawyer
> Sent: Thursday, August 29, 2002 1:54 AM
> To: address@hidden
> Subject: RE: [rgui-dev] Camelot
> 
> 
> On Wed, 2002-08-28 at 23:03, Curt Hibbs wrote:
> > I hope you won't take this the wrong way, but Laurent, 
> Rich, Bob and 
> > myself have decided to temporarily put the development of 
> FreeRIDE on 
> > hold and produce a wxWindows binding for Ruby (wxRuby). As 
> I said in 
> > the beginning, wxWindows meets our need very, very well, and 
> > continuing with FOX means writing more and more throw-away code. 
> > Perhaps you will be able to make use of wxRuby as one of your 
> > backends.
>  
> > However, GUtopIa does have a very definite future in 
> FreeRIDE. By the 
> > time GUtopIa is ready for primetime, we may be ready to implement 
> > GUI-builder features in FreeRIDE -- it could be a match made in 
> > heaven! Time will tell.
> > 
> > I know you won't let this discourage you. You are perusing 
> some very 
> > good ideas, and I'm looking forward to watching them 
> develop. You can 
> > be sure I will continue to contribute my opinions when I feel its 
> > warranted.
> 
> i was afraid of this. pretty much saw it coming. and honestly 
> i think it pretty sad. you guys were ready to take the hard 
> road with SWT but now you have fallen back to easy street, a 
> street that will only lead to middle of the road results. 
> it's funny actually. it was due to your idea of using SWT and 
> the extra bonus of Ruby/DL that caused me to realize that the 
> right way, the best way, was not to use go-between libraries 
> at all. so mine is a middle of the road task but in the end 
> will give top of the line results. too bad you all arn't up 
> for the trip.

I don't think you fully get what you are going to have to do to use
Ruby/DL to wrap a native GUI API.  The SWin/VRuby code is an example of
minimal amounts of code in c...lots more in Ruby.  If you look closely
at those files you will see what you are going to have to produce in
Ruby on a per-platform basis if you want the library to be
comprehensive.

SWin is in C and you will have to reproduce what it does in Ruby and
Ruby/DL.  

The stats for SWin are (lines of code):

    127 larray.c
    957 swin.c
    599 swinbmp.c
    416 swincdlg.c
    206 swincvs.c
    309 swindialog.c
    502 swingdi.c
    301 swinmenu.c
    901 swinoledd.c
    268 swinprn.c
    603 swinrsc.c
    988 swinwin.c
   6177 total

The Ruby/DL version of this will likely be shorter, and perhaps
refactored, but what the SWin author did, you will have to do...on every
platform.  VRuby is pure-Ruby.  It only requires SWin and the
objects/methods it creates.  You will have to (on a per platform basis)
reproduce this pure-ruby part because what is does is wrap platform
widgets (and other capabilities like
drag-drop/clipboard/multimedia/dde/ole).  

For its part, VRuby stats are (lines of code)

     82 clipboard.rb
    139 dragdropformat.rb
    167 rscutil.rb
    196 sysmod.rb
     44 vrclipboard.rb
   1787 vrcomctl.rb
   1288 vrcontrol.rb
    508 vrdde.rb
    191 vrddrop.rb
    306 vrdialog.rb
    191 vrhandler.rb
    204 vrlayout.old.rb
    170 vrlayout.rb
    258 vrlayout2.rb
    291 vrmmedia.rb
    180 vrolednd.rb
    115 vrowndraw.rb
    330 vrrichedit.rb
    144 vrtimer.rb
    274 vrtooltip.rb
    120 vrtvitem.rb
    180 vrtwopane.rb
    993 vruby.rb
    142 winconst.rb
   8300 total

Most of that code is processing the attributes/events of the various
types of widgets.

The SWin/VRuby project is almost exactly like SWT, but it did a bit more
logic in C than SWT did.  Like SWT, the actual behaviors of the widgets
are built in the "higher-level" language...in this instance Ruby.  I am
not an avocate of the VRuby design, just reporting...

> 
> well curt, i wish you guys luck. i know that wxWindows will 
> suit your needs for FreeRide in place of FOX. i wish you 
> would give it some more thought. i am certain that a purist 
> ruby implementaion is the best way to go and can be done 
> nearly as fast, and certainly better, and to our own 
> specifications! not someone elses. but you have to do what 
> you think is best. i understand.

Actually, you are going to have to code it to Microsoft's
specifications...or the GTK authors...etc.

> 
> the worse part of this, of course, is that i just lost four 
> developers. but i will see if i can find new recruits, and 
> encourage those still with me to take up the slack.

You did not *have* four developers.  Tom...no one here works for
you...people donate their time(==$$) to projects they choose.  You are
organizing an effort to produce a high-level metadata-based MVC UI
framework based on work I (and others) started and you have furthered.
You have set out to do the high level api, and have had success in
connecting it to some else's low level graphics api (GTK).  This is very
different that actually building that low level graphics api.  I wish
you and others luck in this, and I hope that our efforts with wxRuby can
be of use to you going forward (or at least the FreeRIDE IDE when we get
that completed ;-) 

Regards,

Rich






reply via email to

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