State of Ruby Web Application Frameworks

I’ve just finished a project that was developed using JavaServer Pages,
Servlets, and Struts. I wanted to do this project in Ruby, but I was
overruled. Now I’m about to start another Web application project for
which I’ve been given the go ahead to use Ruby to try to prove its worth
to others in my organization.

One of the reasons that I wasn’t able to use Ruby on the previous project
is that I could not find a Web application framework that provided nearly
as much as the JSP/Servlets/Struts combination that we used for the Java
project. I’m wondering if this state of affairs has improved at all. I
searched on the RubyGarden wiki for some information, and although I found
some good discussions for improvement of the CGI library as well as some
talk of frameworks built on top of it, I didn’t see anything that led me
to believe that any action has been taken towards these things.

Specifically, what I’m looking for is a Ruby Webapp framework that:

* Provides separation of content and presentation, preferrably

following the MVC model

* Works on all or most popular Web servers

* Allows request URLs to be mapped to arbitrary Ruby code via some

configuration file or naming convention

* Has good support for sessions

* Supports a template-based approach, through which I could combine

several files together to render a view

Other features that would be nice to have are good error handling support,
support for unit testing, and some equivalent of JSP custom tags.

In short, I’m looking for the Ruby equivalent of JSP/Servlet/Struts.

I understand that there may not be a single package that provides all of
these features, but I’m hoping someone here can recommend a combination of
solutions that works well for the type of Web development implied by the
above.

I’m also willing to contribute to the development of any packages that are
working towards providing something like I’ve described.

Thanks for your help.

···


Jason Voegele
"We believe that we invent symbols. The truth is that they invent us."
– Gene Wolfe, The Book of the New Sun

One of the reasons that I wasn’t able to use Ruby on the previous project
is that I could not find a Web application framework that provided nearly
as much as the JSP/Servlets/Struts combination that we used for the Java
project. I’m wondering if this state of affairs has improved at all. I
searched on the RubyGarden wiki for some information, and although I found
some good discussions for improvement of the CGI library as well as some
talk of frameworks built on top of it, I didn’t see anything that led me
to believe that any action has been taken towards these things.

I’m a developer of a WEB-related library, named ‘amrita’ and always
investigate many libraries of this domain. I agree with you that there
are no mature framework for WEB application in Ruby at now.

But there are many seeds of it. I’m running a mailing list that
targets to some of them and very near domain you are concerned
with. For detail see

http://www.walrus-ruby.org/amrita/cgi-bin/aswiki/aswiki.cgi?c=v;p=AmritaUsers

Specifically, what I’m looking for is a Ruby Webapp framework that:

* Provides separation of content and presentation, preferrably

following the MVC model

* Works on all or most popular Web servers

* Allows request URLs to be mapped to arbitrary Ruby code via some

configuration file or naming convention

* Has good support for sessions

* Supports a template-based approach, through which I could combine

several files together to render a view

Other features that would be nice to have are good error handling support,
support for unit testing, and some equivalent of JSP custom tags.

In short, I’m looking for the Ruby equivalent of JSP/Servlet/Struts.

amrita, misen, XTemplate are template libraries for separating content
from presentation or Model from View.

CGIKit is a unique framework for CGI applications which has a very
similar model to WebObject.

They all are subjects of amrita-users mailing list. And this list is
growing.

I understand that there may not be a single package that provides all of
these features, but I’m hoping someone here can recommend a combination of
solutions that works well for the type of Web development implied by the
above.

I think no single framework wins especially in Ruby because the
language is such flexible that you can make your own framework easily
if enough parts are provided.

I hope amrita-users mailing list helps you for searching for parts and
developing your framework from them.

···


Taku Nakajima
http://www.walrus-ruby.org/amrita/

[snip]

CGIKit is a unique framework for CGI applications which has a very
similar model to WebObject.
[snip]

i’m no web expert, but of all the cgi related web packages i’ve looked into,
this one looks to be the most powerfull and well designed. the fact that one
can design reuseable components seems immensely powerfull and would allow a
significant ‘contrib’ directory of pre-built widgets to build up quickly if it
saw much use. in addition, it does not require a special web-server.

i have just started my first large project using this framework and am
interested in other’s experiences with it? i’m using amrita for all simple
pages but have not yet tackled the amrita/cgikit bridge code. anyone else?

-a

···

On Fri, 3 Jan 2003, Taku Nakajima wrote:

====================================

Ara Howard
NOAA Forecast Systems Laboratory
Information and Technology Services
Data Systems Group
R/FST 325 Broadway
Boulder, CO 80305-3328
Email: ahoward@fsl.noaa.gov
Phone: 303-497-7238
Fax: 303-497-7259
====================================

Taku Nakajima wrote:

I’m a developer of a WEB-related library, named ‘amrita’ and always
investigate many libraries of this domain. I agree with you that there
are no mature framework for WEB application in Ruby at now.

But there are many seeds of it. I’m running a mailing list that
targets to some of them and very near domain you are concerned
with. For detail see

http://www.walrus-ruby.org/amrita/cgi-bin/aswiki/aswiki.cgi?c=v;p=AmritaUsers

Thanks for this information, Taku. I’ve subscribed to the mailing list
and look forward to learning more about what’s out there.

···


Jason Voegele
“We believe that we invent symbols. The truth is that they invent us.”
– Gene Wolfe, The Book of the New Sun