Re: wxEuphoria vs win32lib
- Posted by Matt Lewis <matthewwalkerlewis at yahoo.com> Jun 30, 2004
- 484 views
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