I have created several desktop database applications with MS Access. I
want to freely distribute them to my friends but don’t want them to have
to purchase Access. My questions are:
Good call! 
- How difficult is it to create small database intensive applications
with Ruby? (Much SQL for combos and listboxes).
Not at all difficult, imho. I find using a scripting language and a free
RDBMS like MySQL or postgreSQL much more satisfying and productive than
trying to script the whole deal in Access.
However, it sounds as though your application may be a bit intense in the
GUI arena. Because it is likely that you and your friends will be on a
variety of platforms, I would suggest the Tk GUI library, which runs on
most platforms (although I’m not sure what it’s state is on Mac OS X).
There aren’t a lot of solid Ruby docs for Tk, but there are some good
Perl/Tk and Tcl/Tk references out there that will at least help you get
started.
- My applications use extensive reporting. Is this hard with Ruby?
How fancy is the reporting? How much intelligence do the reports contain in
terms of layout? Are you looking for extremely pretty-printing or just
screen-quality output?
Again, Tk is probably most helpful in this regard as its Text widget is
very versatile. You can tag text (i.e. make it bold, or a different font,
or other stylings). You can insert an image into the flow of text. You can
also use Tk’s Canvas widget to lay out other widgets more exactly. I hear
there’s even functionality to convert a Canvas into a PostScript file (but
I’ve never used it).
You could also emit valid HTML, which could be viewed and/or printed from
any web browser.
- Is the code portable to other OS like Mac?
If Ruby and Tk have been ported, then they would be. I try not to think
about Macs for some time now, so I have no idea what the state of Ruby and
its libraries on Mac are.
- What would my users need to run my programs?
To install Ruby. On Windows, the Pragmatic Programmers’ installer includes
enough to run Tk.
- Is Ruby the best choice for this type of application? Speed of
execution is not as important as flexibility and usability.
Ruby is the most flexible and usable scripting language I’ve ever used. I
use Microsoft Access everyday and if I could convince my bosses to let me
have a system running Ruby and MySQL I would ditch Access in a heartbeat.
But here’s a better question for you: why do you want to go through the
trouble of packaging and distributing an application that sounds like a
good fit for the web? The ISP I use (www.rootr.net) supports Ruby and
MySQL hosting for approx. $10/month.
With something like that you’d have a much easier time getting an
appliation “to market” I should think. HTML, forms, and CGI are easier to
get into than a full-fledged GUI. And your friends probably all have
browsers installed already, so they’d need to do nothing except type in a
URL and a password to access your application. Upgrades are easier, too.
You just change the application on the server, and instantly everyone’s
running the newest version.
Just some thoughts.
-michael
···
On Saturday 04 January 2003 12:16, Harlan Pankau wrote: