This was just posted on ruby-talk. I''d hate to let this go without any rebuttal or explanation. Can someone (more qualified than me) please compose a response? Thanks, Curt -------- Original Message -------- Subject: Re: FXRuby or wxRuby? Date: Mon, 8 Aug 2005 23:20:24 +0900 From: olof sivertsson <osivertsson@gmail.com> Reply-To: ruby-talk@ruby-lang.org To: ruby-talk@ruby-lang.org (ruby-talk ML) References: <VwGJe.3764$qE.937578@juliett.dax.net> My experience with wxRuby has not been very pleasent. The main obstacle was bad docs, even the docs at wx''s main site are confusing. The wx API interface seems rather bloated in general and this translates over to wxRuby. We also had problems getting the sizers to work as we wanted, and things working on windows and not working on Linux etc. The final nail in the coffin was when we hit the (known) bugs and had to code around them. So we switched to ruby-gtk2 and use glade to draw our GUI''s and connect signals to events. The API is wonderful, everything works as expected. Good docs. We redid our entire GUI (ok, it''s a small app) in just 10 hours. Linux is the main platform for it, although it might be possible to run in win as well with some work. http://ruby-gnome2.sourceforge.jp/ QtRuby also seems to have a nice API, but I haven''t gotten it to work. http://developer.kde.org/language-bindings/ruby/ Never tried FXRuby, mainly because it looks just plain ugly. (But looking plain ugly on all platforms is better than wx that works on some platforms and not others...) Cheers, Olof
Curt Hibbs wrote:> This was just posted on ruby-talk. I''d hate to let this go without any > rebuttal or explanation. Can someone (more qualified than me) please > compose a response?My opinions inline, below... > olof sivertsson wrote:> My experience with wxRuby has not been very pleasent.I am very sorry to hear that. wxRuby is still definitely a beta-quality product. Until recently, only a few people have contributed much code to the project, so it has evolved rather slowly. There seems to be some good momentum now, with several people submitting code patches, so hopefully this will change.> The main obstacle was bad docs,Understandable. We have been focused on getting the basic code working as a first step. I would rate the documentation as about average for a FLOSS project. Definitely better than many, but still rough.> even the docs at wx''s main site are confusing.I think there is a lack of good examples and tutorials, but otherwise I have found the wx docs to be pretty complete. I would be interested to know which parts are confusing.> The wx API interface seems rather bloated in general and this > translates over to wxRuby.True. Solving this will be our next phase, after we get a basic wrapper working. That''s the approach that FXRuby took as well, since the FOX API was a bit heavy. Once we have wxRuby working, we can add lots of Ruby sugar on top to make the API much more pleasant. The wx API is definitely not the cleanest of the GUI toolkits. That''s partly due to its maturity (10+ years), and partly due to its use of native widgets where possible.> We also had problems getting the sizers to work as we wanted,Sizers can be a challenge. Perhaps that''s the part of the wx docs that you found confusing, and I would probably agree. The sizer API is a bit odd, and some of the docs still describe the deprecated mechanism that was replaced by sizers. It will be interesting to see if we can cook up some really cool ruby-ish API improvements for sizers. At a minimum, we can create several good examples.> and things working on windows and not working on Linux etc.There are a few features that are only available on specific platforms due to native-widget issues. Not many, though. Generally, wx itself works very well across multiple platforms. wxRuby probably has more issues at this point, but we plan to fix them.> The final nail in the coffin was when we hit the (known) > bugs and had to code around them.Yup. I sure wish wxRuby could have made faster progress.> So we switched to ruby-gtk2That''s a fine toolkit, and I''m glad it is working for you. It isn''t really fully cross-platform, so it''s not directly comparable.> QtRuby also seems to have a nice API, but I haven''t gotten it to work. > http://developer.kde.org/language-bindings/ruby/I haven''t tried QtRuby, but also has different strengths and weaknesses compared to wxRuby. Qt has much more restrictive licensing for example.> Never tried FXRuby, mainly because it looks just plain ugly. (But > looking plain ugly on all platforms is better than wx that works on > some platforms and not others...)FXRuby is a great toolkit, and probably the one I would recommend to anyone who needs a full-featured cross-platform GUI toolkit today. The main reason I choose to work on wxRuby instead is because FOX doesn''t use native widgets. And of course there are still other toolkits that weren''t mentioned here. Each has some advantages and disadvantages. Kevin
Thanks, I''ll forward this to ruby-talk. Curt Kevin Smith wrote:> Curt Hibbs wrote: > >> This was just posted on ruby-talk. I''d hate to let this go without any >> rebuttal or explanation. Can someone (more qualified than me) please >> compose a response? > > > My opinions inline, below... > > > olof sivertsson wrote: > >> My experience with wxRuby has not been very pleasent. > > > I am very sorry to hear that. wxRuby is still definitely a beta-quality > product. Until recently, only a few people have contributed much code to > the project, so it has evolved rather slowly. There seems to be some > good momentum now, with several people submitting code patches, so > hopefully this will change. > >> The main obstacle was bad docs, > > > Understandable. We have been focused on getting the basic code working > as a first step. I would rate the documentation as about average for a > FLOSS project. Definitely better than many, but still rough. > >> even the docs at wx''s main site are confusing. > > > I think there is a lack of good examples and tutorials, but otherwise I > have found the wx docs to be pretty complete. I would be interested to > know which parts are confusing. > >> The wx API interface seems rather bloated in general and this >> translates over to wxRuby. > > > True. Solving this will be our next phase, after we get a basic wrapper > working. That''s the approach that FXRuby took as well, since the FOX API > was a bit heavy. > > Once we have wxRuby working, we can add lots of Ruby sugar on top to > make the API much more pleasant. The wx API is definitely not the > cleanest of the GUI toolkits. That''s partly due to its maturity (10+ > years), and partly due to its use of native widgets where possible. > >> We also had problems getting the sizers to work as we wanted, > > > Sizers can be a challenge. Perhaps that''s the part of the wx docs that > you found confusing, and I would probably agree. The sizer API is a bit > odd, and some of the docs still describe the deprecated mechanism that > was replaced by sizers. It will be interesting to see if we can cook up > some really cool ruby-ish API improvements for sizers. At a minimum, we > can create several good examples. > >> and things working on windows and not working on Linux etc. > > > There are a few features that are only available on specific platforms > due to native-widget issues. Not many, though. Generally, wx itself > works very well across multiple platforms. wxRuby probably has more > issues at this point, but we plan to fix them. > >> The final nail in the coffin was when we hit the (known) >> bugs and had to code around them. > > > Yup. I sure wish wxRuby could have made faster progress. > >> So we switched to ruby-gtk2 > > > That''s a fine toolkit, and I''m glad it is working for you. It isn''t > really fully cross-platform, so it''s not directly comparable. > >> QtRuby also seems to have a nice API, but I haven''t gotten it to work. >> http://developer.kde.org/language-bindings/ruby/ > > > I haven''t tried QtRuby, but also has different strengths and weaknesses > compared to wxRuby. Qt has much more restrictive licensing for example. > >> Never tried FXRuby, mainly because it looks just plain ugly. (But >> looking plain ugly on all platforms is better than wx that works on >> some platforms and not others...) > > > FXRuby is a great toolkit, and probably the one I would recommend to > anyone who needs a full-featured cross-platform GUI toolkit today. The > main reason I choose to work on wxRuby instead is because FOX doesn''t > use native widgets. > > And of course there are still other toolkits that weren''t mentioned > here. Each has some advantages and disadvantages. > > Kevin >
Thanks, Curt. I noticed another reply which questioned the stability of wxruby2 based on a recent "huge" commit. Although the commit was quite large, most of it was actually checking in .h and .cpp files that were generated by a newer version of swig. This change did not affect the API at all. There will undoubtedly be some small API changes to specific functions (to make them more ruby-friendly) before wxruby2 hits 1.0, but for the most part the API is quite stable. Kevin Curt Hibbs wrote:> Thanks, I''ll forward this to ruby-talk. > > Curt > > Kevin Smith wrote: > >> Curt Hibbs wrote: >> >>> This was just posted on ruby-talk. I''d hate to let this go without >>> any rebuttal or explanation. Can someone (more qualified than me) >>> please compose a response? >> >> >> >> My opinions inline, below... >> >> > olof sivertsson wrote: >> >>> My experience with wxRuby has not been very pleasent. >> >> >> >> I am very sorry to hear that. wxRuby is still definitely a >> beta-quality product. Until recently, only a few people have >> contributed much code to the project, so it has evolved rather slowly. >> There seems to be some good momentum now, with several people >> submitting code patches, so hopefully this will change. >> >>> The main obstacle was bad docs, >> >> >> >> Understandable. We have been focused on getting the basic code working >> as a first step. I would rate the documentation as about average for a >> FLOSS project. Definitely better than many, but still rough. >> >>> even the docs at wx''s main site are confusing. >> >> >> >> I think there is a lack of good examples and tutorials, but otherwise >> I have found the wx docs to be pretty complete. I would be interested >> to know which parts are confusing. >> >>> The wx API interface seems rather bloated in general and this >>> translates over to wxRuby. >> >> >> >> True. Solving this will be our next phase, after we get a basic >> wrapper working. That''s the approach that FXRuby took as well, since >> the FOX API was a bit heavy. >> >> Once we have wxRuby working, we can add lots of Ruby sugar on top to >> make the API much more pleasant. The wx API is definitely not the >> cleanest of the GUI toolkits. That''s partly due to its maturity (10+ >> years), and partly due to its use of native widgets where possible. >> >>> We also had problems getting the sizers to work as we wanted, >> >> >> >> Sizers can be a challenge. Perhaps that''s the part of the wx docs that >> you found confusing, and I would probably agree. The sizer API is a >> bit odd, and some of the docs still describe the deprecated mechanism >> that was replaced by sizers. It will be interesting to see if we can >> cook up some really cool ruby-ish API improvements for sizers. At a >> minimum, we can create several good examples. >> >>> and things working on windows and not working on Linux etc. >> >> >> >> There are a few features that are only available on specific platforms >> due to native-widget issues. Not many, though. Generally, wx itself >> works very well across multiple platforms. wxRuby probably has more >> issues at this point, but we plan to fix them. >> >>> The final nail in the coffin was when we hit the (known) >>> bugs and had to code around them. >> >> >> >> Yup. I sure wish wxRuby could have made faster progress. >> >>> So we switched to ruby-gtk2 >> >> >> >> That''s a fine toolkit, and I''m glad it is working for you. It isn''t >> really fully cross-platform, so it''s not directly comparable. >> >>> QtRuby also seems to have a nice API, but I haven''t gotten it to work. >>> http://developer.kde.org/language-bindings/ruby/ >> >> >> >> I haven''t tried QtRuby, but also has different strengths and >> weaknesses compared to wxRuby. Qt has much more restrictive licensing >> for example. >> >>> Never tried FXRuby, mainly because it looks just plain ugly. (But >>> looking plain ugly on all platforms is better than wx that works on >>> some platforms and not others...) >> >> >> >> FXRuby is a great toolkit, and probably the one I would recommend to >> anyone who needs a full-featured cross-platform GUI toolkit today. The >> main reason I choose to work on wxRuby instead is because FOX doesn''t >> use native widgets. >> >> And of course there are still other toolkits that weren''t mentioned >> here. Each has some advantages and disadvantages. >> >> Kevin >> > > _______________________________________________ > wxruby-users mailing list > wxruby-users@rubyforge.org > http://rubyforge.org/mailman/listinfo/wxruby-users