Plack/PSGI Ecosystem
via www.flickr.com
Some people still seems do not “get” Plack/PSGI, so here’s the overview.
The important bit is that Plack is an implementation but is also a namespace for utilities, and things like Plack::Middleware and Plack::Request should be thought of more like a library. Plack::Server, ::Middleware, ::Request can be both used independently. And No, Plack is not a framework and as you see, the closest thing to a framework is Plack::Request which can be used as a request/response library to build a new framework.
Also, the picture might scare you like “holy cow that’s a lot of layers!” but actually, No, PSGI interface is a Perl code reference that’s executed inline, and a framework adapter is just a few lines of changes from their native CGI/mod_perl adapters. So it’s usually an extra one or two method call stack and that could never be an overhead.
Oh, and yes, Plack supports IE and Chrome :)