Michael Campbell wrote: > Apologies for not paying attention much to the countless previous > threads related to web application ruby technologies, but I haven't > needed any of them... until now. > > I'm going to be writing a web application, and I'm considering using > Ruby. I was wondering if someone could give a quick, terse list of > the popular packages out there for this sort of work. > > Were I doing this in Java (my profession, BTW), I'd use an app > server, jdbc to a database, with (likely) struts/jsp on the front > end. What I'm looking for is [however rough] ruby equivalents to > that. By "equivalent", I mean from a problem solving context, not > necessarily a technological equivalent. > > I can do the footwork of researching the things; I'm not looking for > that necessarily, but rather just a starting point of things to check > out. > > As part of this application will be some sort of shopping cart > functionality, any recommendations there as well as CGI speedup > things (mod_ruby, et. al.) would be appreciated as well. > > Again, sorry for the vagueness of this... criticism on how to better > structure my question is ALSO welcome. > > Thanks, The server part is up in the air; depends what you want to do. You could use mod_ruby and Apache as your server, you could try webrick or you could write a Java extension to embed the Ruby engine and continue to use Java as your framework and call into Ruby to do the work (for fast prototyping). Or you can, as I am planning on doing in the not-too-distant-future here, putting together your own framework server from libwww and embedding the engine. Either way: Look around RAA (http://raa.ruby-lang.org/) for SQL engines. I personally tend to use ruby-dbi (http://raa.ruby-lang.org/list.rhtml?name=ruby-dbi) to talk directly to MySQL databases. For producing HTML output, I prefer templates over embedding my Ruby code ASP-style ala eRuby. Instead of eRuby, I use PageTemplate and push my variables to a template, then CGI.print the final HTML back to Apache. Works pretty well. Sean O'Dell