Hello...

> Hi -
> 
> Does anyone out there have any experience with building medium to
> large-scale web-applications using Ruby?
> I'm going to write a modular CMS for me and my (coming) clients. I have
> several years experience with PHP, but Ruby appeals so much to me that I
> think I am willing to screw the fact that PHP is so more used, and therefore
> supported by almost every webhotel.

ISP's I've dealt with seem to be willing to install ruby at the
customers request.  Getting them to install mod_ruby is more
difficult.  However, if this is a critical website, it might be worth
getting a dedicated box from someone like Rackspace (where you can
install whatever you want).

> Anyone who have any experience with writing web-applications and some good
> advices are very welcome!
> I want people's experiences. Good as bad.

I'm sort my problems into two categories:

* Problems with writing web-applications, and
* Problems with using Ruby on the web

The first seems very combustable to me, so I'm going to focus on the
second.

IIS
Using ruby with iis is a pain.  Besides the path issues, you also have
to map the .rbs to "c:\path\to\ruby.exe %s %s".  It's much easier to
use ruby with apache.  Furthermore, Win32OLE provides the same
functionality as ASP's Server.createObject( "ADODB.Connection" ).  I'd
say.... ditch IIS!

Sessions
Ruby sessions aren't quite as great as they should be.  IMHO, the API
for creating sessions is a bit confusing.  I've run into a few path
issues on windows.  A friend pointed out that the Session files don't
seem to get deleted, and you end up with clogged temp directories full
of outdated session files.  I don't know if the SharedMemory sessions
have these problems, or if they're available on Windows machines.

Sessions feel a like a greener branch on the Ruby code tree, but they
seem to be getting better.

CGI
The CGI object is perfect in every respect except for how it handles
multipart forms (again IMHO).  See
http://www.rubygarden.org/article.php?sid=186 for my feelings on the
matter.

Overall, I've felt little bits of pain here and there while using ruby
for web-applications.  These problems are the kind that can be fixed,
many by extending the system classes.

These little bits are insignificant compared to the productivity gains
I've had while working from ruby.  Using ruby allowed me to write unit
tested ruby code in the same time it took to write raw Java.  In the
lifetime of a project, that adds up to some serious gains.

~ Patrick

OT P.S: I just noticed how I capitalized Java instinctively, but leave
ruby lowercase.  Maybe that's because of the CamelCase style, maybe
it's because Java is a (TM)... just interesting.