From: Kirk Haines Date: 2004-02-03T02:45:32+09:00 Subject: Re: Ruby Web Application Framework Roundup On Tue, 3 Feb 2004, Gavin Kistner wrote: > I'm trying to decide which Ruby web application framework to use (if > any) for a new project. To that end, I'm looking for all Ruby web > application frameworks that are out there. Following is what I have so far. > > Am I missing any major contenders? > Has anyone actually used any of these on a full project? If so, what was > your experience with it? (Flexibility? Ease of learning? Ease of use?) Iowa. There is a Sourceforge project for it, but what's there is old and not suitable for a production project. I've been working on it privately for almost two years now, though, expanding it as necessary to meet my production needs. I've got some very large and very complex stuff written in it, being used in production. The largest is a 220k line application (not counting the HTML content) for real estate appraisers. The most complex is part of a framework for a mutual fund site that, inaddition to lots of dynamic content, has a design where the same URL maps to two different pieces of content depending on whether one is a regular user of a fund adviser. So, in essence, the entire site is one big application that looks and operates like a regular web site. I've got somewhere around 20 different production sites and applications using it in some capacity, with millions of hits a week. Go to docs.enigo.com/iowa to see some oldish, neglected documentation based on some of Avi Bryant's original documentation. That site is currently being reworked to run under a site management system that I'm putting together with Iowa, as is my main homepage, but there's a bit of stuff there. Documentation is still weak, though. In the past two weeks I have been working hard to take my current incarnation of Iowa and prepare it for a release once again. It's currently in a pre-release state, as there are some known bugs with some new features that I have added, and my new documentation is not complete. However, if anyone is curious, I can put up for download a tarball of the entirely private (i.e. no documentation other than the internal rdoc targetted comments, little install help other than a basic installer and some comment based documents, no frills) version that most of my production stuff is running on at the moment. Iowa is the precursor to Seaside (runs under Squeak Smalltalk) and Borges. Those both contain some ideas that I'm going to borrow back into Iowa, but I have taken it in a bit different direction, including building in the capacity to do basic dynamic content pages in it (i.e. mapping components to specific URLs for things less than full applications) quite easily. I love it as it lets me keep my code and my content seperate, and it lets me easily leverage the power of Ruby for all of the complex bits. I can also hide all of the state management from the user by letting Iowa keep it all serverside, or, if necessary, I can utilize cookies and parameter passing if I really need to, as well as manipulate the HTTP header sent back tot he browser in other ways (for example, change content type for downloadable data). Kirk Haines