I'd say it's pretty mature, in usability if not in chronological age. The whole project is less than a year old, having started off as an offshoot of Maypole, so it is kinda young. The API has been pretty stable since around late April, though, and the framework is under active development.
I've been using Catalyst for a couple work projects, and it's been quite stable and very fast. A few of the many things I like:
-
Many choices of server engines (Apache 1.3, 1.9 and 2.0; FastCGI; SpeedyCGI; etc.), models (Class::DBI in different flavors, Tangram, the new DBIx::Class) and views (Template Toolkit, Petal, Mason, etc.), so you're not locked into one way of doing things.
-
Heavy use of caching makes it very fast.
-
Simple plugin API. Simple enough, in fact, that even I could write one. Through multiple inheritance via NEXT, plugins automatically become part of the application's context, which is the instance of your application that gets forwarded around.
-
Helpful developers and user community. The mailing list is active, and I've gotten lots of info by logging #catalyst (irc.perl.org) and grepping those files for what I need. (I don't get to talk much in #catalyst, as I'm usually asleep when the Catalyst Cabal are awake.)
-
The standalone server. I love that I can just say script/myapp_server.pl, and the standalone server will fire up, and I can watch the logging right in my terminal, then test the application from my browser at http://localhost:3000/. This has really sped up the development cycle for me.
The documentation started out a little sparse, though this is mainly because most of the core developers are non-native English speakers. Lately there's been more and better documentation, due in large part to the wiki. The content there gets regularly incorporated into the docs, and the developers are always accepting documentation patches.
For me the learning curve was a little steep, but mostly for good reasons. I had been building old-style web apps--with business logic, database access and presentation tightly coupled--for so long that I needed to un-learn a lot of habits while wrapping my head around the Catalyst/MVC way of doing things. Catalyst is also great at pointing you to some of the best CPAN modules to use for web development, so I spent a lot of time picking those up.
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.