A new version of the Iowa web application framework has been released.  This 
release shows a major jump in version numbers.  Iowa has been in use for 
over two years in many successful production applications and web sites, and 
with the feature additions in this release, is very close to what I want for 
a 1.0 release.

It can be downloaded from

http://rubyforge.org/projects/iowa

and documentation can be found at

http://enigo.com/projects/iowa


What is Iowa?

In short, it is a web application framework that features a seperation of 
code from layout and that is very simple to use to create both full featured 
web based applications as well as dynamically generated web page content.  
Iowa applications run as discrete backend processes, seperate from the web 
server processes.  The name stands for Internet Object for Web 
Applications.  All components are objects, and session handling is done on 
the server side, leaving the developer free to concentrate on the details of 
the application.

The most tested mode of operation is from an Apache web server using 
mod_ruby to run a custom mod_iowa.rb handler that handles communications 
between Apache and the Iowa application.  It can be used via a standard CGI 
interface, making it usable on any web browser that supports this.  There is 
also FCGI support.

New in this release is WEBrick support.  Using WEBrick, it is extremely easy 
to make an Iowa powered application or even an entire web site available.  
The WEBrick support, though new, seems quite stable and performs 
surprisingly well.  There is an example that one can run in the 
examples/webrick directory of the 0.9 release.  One should be able to:

cd examples/webrick/iowa
ruby iowa_webrick.rb

to start it.  Then just point your web browser at http://localhost:2000 to 
check it out.  Thanks to David Naseby for giving me the seed of code that 
got me started in implementing this.

As of this release, Iowa also now runs on Windows, and it supports 
multipart/form-data forms (file uploads).

Documentation is available at

http://enigo.com/projects/iowa

Specific documentation on the webrick support and on some of the new 
features is forthcoming.

For those of you who are comparing, Iowa solves many of the same problems 
that Rails does, but with a very different architecture.  It can be used 
with both ActiveRecord to handle model data or with the Kansas library 
(found on Rubyforge, and with a new release coming today, as well).


Check it out!  Let me know if you have any questions.  I'm always eager to 
help out however I can.  You can email me directly, IM me at 
wyhaines / yahoo.com, or subscribe to the iowa mailing list at Rubyforge.


Thanks,

Kirk Haines