Reputation: 720
Is there any way besides Shoes to develop and distribute cross-platform GUI desktop applications written in Ruby?
I come to believe that general bugginess of _why's applications is exceptionally crippling in case of Shoes, and anything more complex than a two-button form is a pain to maintain.
RubyGTK, wxRuby, etc seem to be promising, but they do not solve the issue of distributing an app in a way that doesn't require Ruby pre-installed on users' computers — and libraries like ruby2exe seem to be horribly out-of-date and incomplete.
Generally — what is the current fad?
BTW: if there is a really easy solution to this in Python, I may consider redoing the stuff I'm up to in Python.
Upvotes: 10
Views: 3131
Reputation: 1436
Depending on how far you development is, Shoes is pretty good. Its basically it's own Ruby Distribution. It may be a bit hidden (in the files menu), but it allows you to package your application for all 3 platforms without having that Shoes startup screen.
The rendering engine behind it is Cairo.
Upvotes: 1
Reputation: 206
I don't think anyone really answered his question.
As for me, I use VB to do Shell() calls to Ocra compiled Ruby scripts. It works pretty well and allows me to create apps that run in all modern OS.
Linux testing is done by using Wine to run and ensuring that I use a pre .NET version of VB for the .exe compilation.
Upvotes: 0
Reputation: 81430
I've read about (but not used) Seattlerb's Wilson, which describes itself as a pure x86 assembler, but it doesn't sound like it'd be cross-platform or GUI.
Upvotes: -2
Reputation: 436
For Ruby, the One-Click Ruby Application Builder (OCRA) is emerging as the successor to RubyScript2Exe.
Ocra works with both Ruby 1.8.6 and 1.9.1, and with wxRuby. Supports LZMA compression for relatively compact executables.
Upvotes: 8
Reputation: 10265
I don't know about Ruby, but the standard for Python is py2exe to create Windows binaries. For me, the cross-plattform pyinstaller has worked well, once. For your GUI, TkInter is the standard. A lot of people like wxPython. All those are fairly actively developed. I suggest playing a little bit around with these options to decide whether Python is the better choice.
Upvotes: 6
Reputation: 3312
I don't know about ruby2exe, but py2exe works perfeclty fine. Even with librairies like wxWidgets. Edit: you don't even have to ask the user to install wxWidgets, it's bundled with the app (same goes for py2app)
I use it for my very small project here.
For the Mac crowd, py2app works fine too with wxWidgets.
Upvotes: 11
Reputation: 23880
The state of affairs is pretty bad. The most reliable method at present is probably to use JRuby. I know that's probably not the answer you want to hear, but, as you say, ruby2exe is unreliable, and Shoes is a long way off (and isn't even intended to be a full-scale application). Personally, I dislike forcing users to install GTK or Qt or wxWidgets, but the JVM is fairly ubiquitous.
Upvotes: 2