Re: wxEuphoria vs win32lib

new topic     » goto parent     » topic index » view thread      » older message » newer message

Derek Parnell wrote:
> 
> sixs wrote:
> > 
> > What do you think of wxEuphoria vs Win32lib? Is one better than the other
> > for certain tasks, or for all things?
> > Jvandal
> 
> I can't talk for wxEuphoria as I have had no experience with it.
> 
> Win32Lib is for Microsoft Windows *only*. It is not a low-level API
> wrapper as it handles many of the tedious housekeeping functions that
> GUI applications need to do. Thus it is not optimised for speed or 
> size, but for usability instead. The current version still lacks some
> of the more esoteric features but it does permit low-level API
> access if you need it.

Believe it or not, but wxEuphoria is built to be similar to Win32Lib in
the way it's used.  I've added a fair amount of code to Win32Lib, so I'm
pretty familiar with using it, and with the basic design philosophies 
involved.

Like Win32Lib, wxEuphoria isn't really a low-level API wrapper, and, 
handles lots of the tedious stuff that nobody likes to deal with.  Some
of that is dealt with in the wxWidgets library (which is compiled C++).
My wrappers aren't nearly as mature, widely used or tested, so the
usability isn't quite as easy as with Win32Lib, although there are some
things that are easier to do (like using Sizers to automatically position
and [re]size controls--just like Irv's EuGTK wrappers do).

Not as much of the total functionality of wxWidgets is available yet in
wxEuphoria.  It's basically a matter of time.  I've found that interfacing
with C++ code creates some 'unique' challenges, such as dealing with 
copy constructors, where I need to add methods to properly get certain 
kinds of data back from the library and into Euphoria (don't worry if
that doesn't make sense to you, it just means that you haven't been 
forced to learn C++ :).  I've had some hardware issues lately with my
Linux box, plus had a lot of travel (for me) that I've had to do for
work, so development has stalled lately.  I think I've just about got
the hardware thing worked out, so I hope to get v0.3 out soon (most of
the work is done already for Linux--I basically need to fix the wxDialog
stuff).

If you're only working on Windows, I'd recommend Win32Lib.  wxEuphoria 
requires a 1~2MB dll (or ~4MB .so on Linux) file to work, plus all the Euphoria
source of the
library.  Win32Lib only needs the Euphoria stuff.  Plus, Win32Lib is
more likely (ATM) to have Feature-X that you need to have in your app,
and there are lots of people around here who are familiar with it and
can help you around problems.  I'm pretty much the only wxEuphoria
'expert', and there are lots of little idiosyncracies involved in using
the library (just like any other library), plus undiscovered bugs, I'm
sure. :)

If being able to run the same code with little to no changes on both 
Windows and Linux (plus BSD, I think--CK?) is important to you, then 
wxEuphoria makes more sense.  It's actually fairly easy to port Win32Lib
apps to wxEuphoria.  There's work involved, but most things can be 
translated pretty easily (most of the demos, the editor in wxIDE and 
wxEDB are all basically Win32Lib code that I've converted to use 
wxEuphoria).  I think it'd be a lot easier than converting Win32Lib
code to use EuGTK (just because the structure of the two libs are 
fairly different, IMHO).  Also, the dependencies in Windows are a lot
simpler for wxEuphoria than GTK.

OTOH, if you're just developing for Linux, it probably makes sense to
use EuGTK (unless you really prefer the way wxEuphoria does things, or 
something) for basically the same reasons that I'd recommend Win32Lib
for Windows-only development.

Any cross-platform thingy will be a compromise.  I think that wxWidgets
is a good one, and that wxEuphoria does a pretty good job of translating
a C++ way of doing things into a more familiar Euphoria paradigm.

Matt Lewis

new topic     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu