WxRuby or FxRuby

Hello,

I'm new to Ruby and now searching for the best GUI toolkit to start with.
After testing different ones with little "Hello world" samples, I have two favorites: FxRuby and WxRuby.
I'd like to here some experiences or tips from you, why one of the mentioned toolkits could be the better decision for me.

I have no experience with GUI programming (except of web interfaces), nor I have with C++.

Thanx for any comments,
Jens

Hello Jens,

I'm new to Ruby and now searching for the best GUI toolkit to start with.
After testing different ones with little "Hello world" samples, I have
two favorites: FxRuby and WxRuby.
I'd like to here some experiences or tips from you, why one of the
mentioned toolkits could be the better decision for me.

Take FXRuby when you are satisfied with the offered widgets (for
example no html) and you don't need printing/macosx support/unicode.

Otherwise use WxRuby, even if it seems to be a little bit more
instable. Especially when you feed bad parameters it crashes a lot.

···

--
Best regards, emailto: scholz at scriptolutions dot com
Lothar Scholz http://www.ruby-ide.com
CTO Scriptolutions Ruby, PHP, Python IDE 's

I like FXRuby's API, but the wx widgets look nicer.

martin

···

Jens Riedel <JensRie@gmx.de> wrote:

Hello,

I'm new to Ruby and now searching for the best GUI toolkit to start with.
After testing different ones with little "Hello world" samples, I have
two favorites: FxRuby and WxRuby.
I'd like to here some experiences or tips from you, why one of the
mentioned toolkits could be the better decision for me.

Jens Riedel wrote:

Hello,

I'm new to Ruby and now searching for the best GUI toolkit to start with.
After testing different ones with little "Hello world" samples, I have two favorites: FxRuby and WxRuby.
I'd like to here some experiences or tips from you, why one of the mentioned toolkits could be the better decision for me.

I have no experience with GUI programming (except of web interfaces), nor I have with C++.

FXRuby. It is well maintained and stable. Some people think it is ugly, but I don't (for some screenshots of nice looking apps, go to www.fox-toolkit.org and click on "Screenshots"). And if you are distributing your app, the combination of Ruby, FXRuby, RubyScript2Exe, and UPX, can make an executable that is around 2mb.

Jamey Cribbs

Confidentiality Notice: This email message, including any attachments, is for the sole use of the intended recipient(s) and may contain confidential and/or privileged information. If you are not the intended recipient(s), you are hereby notified that any dissemination, unauthorized review, use, disclosure or distribution of this email and any materials contained in any attachments is prohibited. If you receive this message in error, or are not the intended recipient(s), please immediately notify the sender by email and destroy all copies of the original message, including attachments.

Can you tell why ruby-gtk2 is excluded?

···

On 5/6/05, Jens Riedel <JensRie@gmx.de> wrote:

I'm new to Ruby and now searching for the best GUI toolkit to start with.
After testing different ones with little "Hello world" samples, I have
two favorites: FxRuby and WxRuby.

--
Guillaume Cottenceau - http://zarb.org/~gc/

Jens Riedel wrote:

Hello,

I'm new to Ruby and now searching for the best GUI toolkit to start with.
After testing different ones with little "Hello world" samples, I have two favorites: FxRuby and WxRuby.
I'd like to here some experiences or tips from you, why one of the mentioned toolkits could be the better decision for me.

I have no experience with GUI programming (except of web interfaces), nor I have with C++.

Thanx for any comments,
Jens

I've used FOX, FLTK, and wxWidgets on C++ projects in the past six months (in that sequence). I used fxRuby and wxRuby but in a very limited way. BTW, I think substandard support for wxWidgets makes it hard for Python programmers to make the switch (wxPython being so incredibily popular).

fxRuby pros:
FxRuby seems more popular in Ruby and support for it is clearly better than wxRuby. I don't know if this is because it was included with the Ruby Installer for Windows or if the FreeRIDE project popularized it.

fxRuby cons:
The underlying toolkit itself is not as widely used as wxWidgets. Toolkit's licensing is not as generous as wxWidgets (not an issue if your app is LGPL/GPL but important if using this at work or on closed-source project). GUI designers are awful (but improving).

wxRuby pros:
GUI apps look very nice and 100% native. The underlying GUI tookit of wxRuby (wxWidgets) has a far larger marketshare compared to FOX toolkit and FLTK combined. The wxWidgets documentation (1,700 printable pages) and examples are 2nd to none. There are several free and commercial GUI designers for wxWidgets (much higher quality than the one's I've tried with FLTK and FOX) and they can generate xrc files. There's a book about wxWidgets set to be released on July 4 (according to Amazon.com listing). The latest stable wxWidgets released last month runs on the widest variaty of OS including PocketPC and Mac OS. Actually, Mac's Tiger even ships with wxWidgets 2.5.

wxRuby cons:
wxRuby is currently undergoing a migration to wxRuby-swig so
it is not improving until wxRuby-swig is released. This means it might be a while before Ruby has wxWidgets support at a level similar to wxPython. IMHO, the current usability of wxRuby is not as good as fxRuby at all. And I think the current state of wxRuby is an important disadvantage for those considering a switch to Ruby.

summary:
If you're only going to use ruby, and you don't mind the FOX licensing terms, then IMHO fxRuby is the clear winner. But if you plan on using other languages with the GUI toolkit, you might want to live with some of the current shortcomings of wxRuby.

Here is a comparison of various GUI toolkits for Ruby:

http://freeride.rubyforge.org/wiki/wiki.pl?GUIFrameworkProject/GUIComparison

To follow up on Martin's and Jamey's comments, it might be worth
noting that wxRuby and FXRuby use two fundamentally different
approaches for providing cross-platform GUIs.

FXRuby uses what is sometimes called a "lightweight" approach, in the
sense that it uses the host platform's low-level drawing routines to
draw the widgets. An advantage of this (depending on your point of
view) is that it gives you more flexibility in terms of customizing a
widget's appearance and behavior and you know what it's going to look
like, regardless of which platform the application's running on.

wxRuby, in contrast, uses what is usually referred to as the "native
widgets" or "heavyweight" approach. That means that the wxRuby Button
class provides a wrapper around a Win32 button widget when it's
running on Windows, or a GTK button widget when it's running on Linux.
This means that your application is going to look a lot more like an
application that was written specifically for the platform it's
running on; the disadvantage would be that you will, generally
speaking, have fewer opportunities to customize that appearance and
behavior.

···

On 5/6/05, Martin DeMello <martindemello@yahoo.com> wrote:

I like FXRuby's API, but the wx widgets look nicer.

Friday wrote:

I've used FOX, FLTK, and wxWidgets on C++ projects in the past six months (in that sequence). I used fxRuby and wxRuby but in a very limited way. BTW, I think substandard support for wxWidgets makes it hard for Python programmers to make the switch (wxPython being so incredibily popular).

fxRuby pros:
FxRuby seems more popular in Ruby and support for it is clearly better than wxRuby. I don't know if this is because it was included with the Ruby Installer for Windows or if the FreeRIDE project popularized it.

I can answer nearly all of the questions in these two paragraphs:

- FXRuby is the popular in the Ruby community because it is good enough, and it was the first GUI toolkit available in Ruby that was good enough.

- The reason wxRuby's development is not as far along as many of us would like is because there aren't enough developers working on it. Nick Kral (who took it over from Kevin Smith) is essentially working on it by himself and sporadic help from others. One or two added developer's to the wxRuby project would make a world of difference.

- It was the FreeRIDE project that actually started the wxRuby project. The GUI comparison that you liked to on the FreeRIDE wiki:

http://freeride.rubyforge.org/wiki/wiki.pl?GUIFrameworkProject/GUIComparison

was started before FreeRIDE was written because we wanted to figure out what GUI to use. FXRuby did not meet all of our needs, but it was the best available choice at the time. We started the wxRuby project with the goal of replacing FXRuby in FreeRIDE with wxRuby. That would now be possible, except that no one has the time to do that now, either! :frowning:

I hope that helped a little.

Curt

Friday wrote:
[...]

wxRuby cons:
wxRuby is currently undergoing a migration to wxRuby-swig so
it is not improving until wxRuby-swig is released. This means it might be a while before Ruby has wxWidgets support at a level similar to wxPython. IMHO, the current usability of wxRuby is not as good as fxRuby at all. And I think the current state of wxRuby is an important disadvantage for those considering a switch to Ruby.

[...]

The wxWidgets adoption and thus the wxRuby project a priority for the ruby community:

http://wxruby.rubyforge.org/wiki/wiki.pl

..

···

--
http://lazaridis.com

Hi,

FxRuby is a highly recommendable toolkit for its popularity and maturity.
But it has a crucial problem for multibyte input, especially critical to CJK
Windows users. This problem is inherited from Fox toolkit which FxRuby
is based on, and I don't know any detail of other m18n related issues about
Fox. Do they have any motivation or plan to support m18n issues? How's
going with other Latin* languages? Is it only CJK && Windows problem?

I don't know whether XIM or other X-based input methods such as IIIMF,
UIM, SCIM etc are sufficiently portable to Non-UNIX platform. And I don't
know how can other cross-platform toolkits provide multilingual input feature.
Anyway, it is a sad news to CJK people that the toolkit which has serious
deficiency of m18n are most popular.

···

On 5/7/05, Curt Hibbs <curt@hibbs.com> wrote:

Friday wrote:
>
> I've used FOX, FLTK, and wxWidgets on C++ projects in the past six
> months (in that sequence). I used fxRuby and wxRuby but in a very
> limited way. BTW, I think substandard support for wxWidgets makes it
> hard for Python programmers to make the switch (wxPython being so
> incredibily popular).
>
> fxRuby pros:
> FxRuby seems more popular in Ruby and support for it is clearly better
> than wxRuby. I don't know if this is because it was included with the
> Ruby Installer for Windows or if the FreeRIDE project popularized it.

I can answer nearly all of the questions in these two paragraphs:

- FXRuby is the popular in the Ruby community because it is good enough,
and it was the first GUI toolkit available in Ruby that was good enough.

- The reason wxRuby's development is not as far along as many of us
would like is because there aren't enough developers working on it. Nick
Kral (who took it over from Kevin Smith) is essentially working on it by
himself and sporadic help from others. One or two added developer's to
the wxRuby project would make a world of difference.

- It was the FreeRIDE project that actually started the wxRuby project.
The GUI comparison that you liked to on the FreeRIDE wiki:

http://freeride.rubyforge.org/wiki/wiki.pl?GUIFrameworkProject/GUIComparison

was started before FreeRIDE was written because we wanted to figure out
what GUI to use. FXRuby did not meet all of our needs, but it was the
best available choice at the time. We started the wxRuby project with
the goal of replacing FXRuby in FreeRIDE with wxRuby. That would now be
possible, except that no one has the time to do that now, either! :frowning:

I hope that helped a little.

Curt

--
http://nohmad.sub-port.net

Curt Hibbs wrote:

Friday wrote:

I've used FOX, FLTK, and wxWidgets on C++ projects in the past six months (in that sequence). I used fxRuby and wxRuby but in a very limited way. BTW, I think substandard support for wxWidgets makes it hard for Python programmers to make the switch (wxPython being so incredibily popular).

fxRuby pros:
FxRuby seems more popular in Ruby and support for it is clearly better than wxRuby. I don't know if this is because it was included with the Ruby Installer for Windows or if the FreeRIDE project popularized it.

I can answer nearly all of the questions in these two paragraphs:

- FXRuby is the popular in the Ruby community because it is good enough, and it was the first GUI toolkit available in Ruby that was good enough.

- The reason wxRuby's development is not as far along as many of us would like is because there aren't enough developers working on it. Nick Kral (who took it over from Kevin Smith) is essentially working on it by himself and sporadic help from others. One or two added developer's to the wxRuby project would make a world of difference.

wxWidgets looks very promising and has a very liberal license, which is important for the adoption of ruby.

What is the estimated effort for it's completition?

- It was the FreeRIDE project that actually started the wxRuby project. The GUI comparison that you liked to on the FreeRIDE wiki:

http://freeride.rubyforge.org/wiki/wiki.pl?GUIFrameworkProject/GUIComparison

was started before FreeRIDE was written because we wanted to figure out what GUI to use. FXRuby did not meet all of our needs, but it was the best available choice at the time. We started the wxRuby project with the goal of replacing FXRuby in FreeRIDE with wxRuby. That would now be possible, except that no one has the time to do that now, either! :frowning:

I've posted a message on freeride.devel, asking to contribute to the project (autocompletition).

But I got so far no answer.

I would be intrested to assist with the transistion to wxRuby, too.

I hope that helped a little.

Curt

..

···

--
http://lazaridis.com

Hello Gyoung-Yoon,

Hi,

FxRuby is a highly recommendable toolkit for its popularity and maturity.
But it has a crucial problem for multibyte input, especially critical to CJK
Windows users. This problem is inherited from Fox toolkit which FxRuby
is based on, and I don't know any detail of other m18n related issues about
Fox. Do they have any motivation or plan to support m18n issues? How's
going with other Latin* languages? Is it only CJK && Windows problem?

I don't know whether XIM or other X-based input methods such as IIIMF,
UIM, SCIM etc are sufficiently portable to Non-UNIX platform. And I don't
know how can other cross-platform toolkits provide multilingual input feature.

FOX does only support ISO-8859-1. Thats it. Theres a patch out there
for SWT-FOX that allows other 8-bit charsets but unfortunately
last month where i tried it it crashed on some Linux systems with
errors in the fontconfig library.

Unicode is on the way. I guess it is ready in a year or two. This will
then also contain other I18N and M17N features. Unfortunately Jeroen
want to implement everything on his own, so it takes a huge amount of
time.

Anyway, it is a sad news to CJK people that the toolkit which has serious
deficiency of m18n are most popular.

Which remainds me that i've never seen any open source toolkit from
this CJK people. With so many chinese, indian, korean, taiwanese, japanese
programmer out there, why not implement this instead of asking for support.
It's that even red flag linux does not give back I18N patches.

···

--
Best regards, emailto: scholz at scriptolutions dot com
Lothar Scholz http://www.ruby-ide.com
CTO Scriptolutions Ruby, PHP, Python IDE 's