A standard like WSGI for Ruby?

There’s a perennial discussion on Reddit about the strengths of Python
vs Ruby.

there was mention of WSGI as a web-app standard on Python. here’s the
quote:

“That’s the point, it is a language-wide standard that has been
adopted by the community officialy. It makes it trivial to make a web
application that supports WSGI to run on any server that runs on WSGI.
In Ruby, you look at something like Mongrel and it has to explicitly
add Rails, Camping, Nitro support. In Python, if a server is WSGI,
anything that supports WSGI will run on it. Some frameworks, like
Pylons, have incorporated it throughout the stack to make it trivial
to swap put template systems, ORMs, you name it. Rubyists would do
best to check it out; while it is a very simple standard, it is very
empowering to the web development community. That’s why you see so
many frameworks in Python, because frankly they are rather easy to put
together.”

Could Ruby benefit from an internal standard like this?

Phil T. wrote:

In Ruby, you look at something like Mongrel and it has to explicitly
add Rails, Camping, Nitro support. In Python, if a server is WSGI,
anything that supports WSGI will run on it.
Well, part of that is mindshare. Consider that the Nitro, IOWA authors
wrote the Mongrel adapters themselves (for the most part). In this case
you could call the Mongrel API the Ruby version of WSGI.

Some frameworks, like
Pylons, have incorporated it throughout the stack to make it trivial
to swap put template systems, ORMs, you name it.
Yeah, that’s my (limited) understanding of where WSGI shines. In Ruby,
OTOH, there need to exist m*n adapters between m view libraries and n
controller libraries. I dunno… big whoop. The adapters are, like, 3
lines of code, and there isn’t a heck of a lot of demand for Amrita (as
in, not erb) as is.

That’s why you see so
many frameworks in Python, because frankly they are rather easy to put
together.
Not true. WSGI arose because of the so many frameworks, and the
pro-Rails argument that “we don’t have to waste time choosing a stack.”

Could Ruby benefit from an internal standard like this?
Muh… I dunno. No?

Devin

On Fri, Sep 22, 2006 at 02:44:32PM +0900, [email protected] wrote:

On Fri, 22 Sep 2006, Devin M. wrote:

Well, part of that is mindshare. Consider that the Nitro, IOWA authors
wrote the Mongrel adapters themselves (for the most part). In this case
you could call the Mongrel API the Ruby version of WSGI.

At the end of the day, the IOWA/Mongrel integration is a trivial thing,
and something like WSGI could hardly make it easier than it already is
without imposing design decisions on me.

I think that was exactly Devin’s point. (Is that it’s so trivial, Ruby
doesn’t need such a standard.)

On Fri, 22 Sep 2006, Devin M. wrote:

Well, part of that is mindshare. Consider that the Nitro, IOWA authors wrote
the Mongrel adapters themselves (for the most part). In this case you could
call the Mongrel API the Ruby version of WSGI.

At the end of the day, the IOWA/Mongrel integration is a trivial thing,
and something like WSGI could hardly make it easier than it already is
without imposing design decisions on me.

Here it is:

def process(req, res)
Thread.current[:worker] = true
unless handle_file(req, res)
request = Iowa::Request::Mongrel.new(req)
response = Iowa.handleConnection request
::Iowa::InlineClient.new(request,response).print(res)
end
end

That’s the core of it. Not hard. IOWA already has an established
precedent regarding what a request object looks like, so with something
like WSGI, I’d either have to realign the request object expectation to
whatever it provided, or I’d have to write a simple Iowa::Request::WSGI
just like the Iowa::Request::Mongrel to take the request and apply it to
the shape the application expects. And it’s really no big deal.

Maybe I’m failing to understand what WSGI really is because right now I
don’t see how it would help me.

Kirk H.

On Fri, 22 Sep 2006, Logan C. wrote:

At the end of the day, the IOWA/Mongrel integration is a trivial thing,
and something like WSGI could hardly make it easier than it already is
without imposing design decisions on me.

I think that was exactly Devin’s point. (Is that it’s so trivial, Ruby
doesn’t need such a standard.)

Yeah. I was trying to support his point with my example. :slight_smile:

Kirk H.

On Fri, Sep 22, 2006 at 10:46:32PM +0900, [email protected] wrote:

I’m glad this whole thread is people agreeing!

Logan C. wrote:

I’m glad this whole thread is people agreeing!

Kirk H.

Yes … I agree

Hey – a new Rejected Ruby Book Title!!

Ruby Don’t Need No Stinkin’ WSGI