Recommendation for simple Web Frameworks
Simon Wistow
simon at thegestalt.org
Mon Jan 10 21:34:48 GMT 2011
On Mon, Jan 10, 2011 at 08:25:37AM -0200, Eden Cardim said:
> >>>>> "Simon" == Simon Wistow <simon at thegestalt.org> writes:
> You got the wrong impression, Catalyst isn't tied to anything, it's just
> a plugglable/configurable http dispatcher, it's as simple as any of the
> other perl web frameworks in that regard. It does have a larger user
> base for testing/contribution/support, I'd say that's the main
> advantage.
You can see how I'd be confused given that the docs say
"Catalyst follows the Model-View-Controller (MVC) design pattern,
allowing you to easily separate concerns, like content, presentation,
and flow control, into separate modules."
Now true that doesn't necessarily preclude me from not creating models
but it does seem to imply that they are somewhat expected.
My experience with most of the major web frameworks across 3
different languages has indicated that much of their utility is based on
the automagic they provide. Magic requires a fair bit of
convention-over-configuration or, at least, expects you to be doing
things "The Right Way[tm]" and attempts to circumvent tend to lead to
problems.
And I'm fine with that - it's a good thing and for 90% of people it's
probably the right thing.
However I didn't want to be in the position where, somewhere down the
line, I started having to wrap hashes in fake pseudo-Catalyst::Model
classes in order to get stuff working with some component or plugin
because the author of that (quite rightly) assumed that no fool would
ever not be using models. [*]
I may have the wrong impression but my experience with a large Catalyst
app (TypePad) and reading the docs lead me to that impression.
Other reasons for not going with Catalyst which may or may not be FUD:
* Felt "too heavy". I needed a very simple app and Catalyst seems
designed for non-simple apps.
* Bad experience with Catalyst based app start up times during
development cycles (this is also true for Django and Rails FWIW)
* Too many dependencies
* Moose. I just don't like it - but that's just me.
Don't get me wrong, I think Catalyst is great but it didn't feel quite
right for this occasion.
In the end I went with Dancer and I'm loving it so far - some more docs
on the idiomatic way to deal with user creation, authentication and
roles might be nice but I think I figured it all out pretty quickly.
Thanks for the feedback though,
Simon
More information about the london.pm
mailing list