[sf-perl] All these Perl web frameworks

Mark Grimes mgrimes at cpan.org
Fri Aug 3 09:14:45 PDT 2012


On Thu, Aug 2, 2012 at 1:17 PM, Bryan Beeley <bryan at beeley.org> wrote:
> I have used Catalyst extensively, and would definitely recommend it.  It is
> a huge memory hog though.  I would also recommend you take advantage of
> copy-on-write as much as possible (load as much as possible into memory
> before forking child Catalyst processes).

Agree, Catalyst is very robust, flexible, and highly recommended, but
it is a bit of a memory hog. Bryan, can you expand on taking advantage
of COW? I've been using plack and the FCGI backends, but I'm not sure
when exactly when it is loading modules vs forking. In order to
improve the hot deployment, I've been thinking about switching to
server::starter/startlet and proxying it behind apache, but again I'm
not sure about load vs fork.

>>> Mojolicious- http://mojolicio.us/
>>
>> A lot of us seem to agree that Mojolicious is a scary project.
>> They're main feature is they've reduced external dependencies, but
>> that means they've re-written a lot of stuff from scratch themselves.
>
> I don't know much about Mojolicious.  I was on their mailing list for a
> while though, and it didn't seem like things were moving very fast.

Reinventing the wheel has been a common concern for Mojolicious, but
they have done a great job of it. I've found it to be stable,
lightweight, well documented, and feature packed (WebSockets, DOM
parsing, etc). I really like that you can write apps with very little
"magic", for example, you can declare your routes explicitly rather
than relying on auto-discovery based on method attributes. And, there
is Mojo::Lite if you want the magic.

The mailing list may be slow but the pace of development is brisk.
There have been six releases to CPAN in just the last month and about
one major release each year.

>>> Dancer- http://perldancer.org/

I've heard good things about Dancer, but when I last looked there
seemed to be a great deal of the aforementioned "magic" involved. In
many ways they seem to be creating a DSL for webapps (similar to
Mojo::Lite).

I believe Dancer is going through a very substantial rewrite as they
approach 2.0.

>>> Poet- http://search.cpan.org/~jswartz/Poet-0.09/lib/Poet/Manual/Intro.pod

I haven't tried Poet, but Mason is my preferred templating language
under Catalyst. Unless you have a bunch of non-programmers editing
your templates, why introduce another mini-language when you can just
use Perl. As a templating language though, it does require some
discipline to keep from pushing too much logic into your view. Poet
takes a unique approach by encouraging the combination of presentation
and logic.

-Mark


More information about the SanFrancisco-pm mailing list