Tags
There are no tags for this page.
Attachments
Perl 5 Wiki
Web Frameworks
Perl has a large number of powerful frameworks for web development, some more actively used/developed than others. As with any technology choice you should review the documentation, check out the community (mailing list, irc channel, etc.) and ask lots of questions before choosing. This page makes an attempt to help you get started in that investigation.
Popular Frameworks
Popularity should never be the sole reason for choosing a technology, however more popular projects tend to have more docs, be more actively developed and have a larger community resource to learn from. The following frameworks (as far as this author knows) are being actively used and developed, and should be on the short-list for any new Perl web development projects.
Other Frameworks
This is a list of other web frameworks out there, they are less well known, but may in fact be more what you want or need so worth at least taking a look at. Hopefully the authors of these frameworks will create linked wiki-pages so that they can tell us more about what makes their framework unique.
Older Frameworks
Being in this list is not a bad thing, older frameworks (that are still around) are stable frameworks. However, that said, they may not be as up to date on current best practices. If the things listed above are not your style, give these oldies-but-goodies a look.
Advice on Choosing a Framework
Most of the popular/major frameworks support multiple templating (i.e. Template Toolkit or HTML::Mason) and class (i.e. Class::DBI, DBIx::Class or Rose::DB::Object) libraries, so this usually isn't a worry.
The main things to consider would be the level of support and matching it to your requirements - there are several lightweight options such as CGI::Application or MasonX::MiniMVC, and more complex / powerful options such as Catalyst or Jifty - next it's probably wise to see how the framework fits the problem - can you make the solution fit well with an "opinionated" framework (i.e. Jifty), or do you need something more flexible (i.e. Catalyst).
There may already be an application that does what you want, without have to learn the low-level details of a particular framework.
Building a bespoke Application Server
An alternative to using a ready made framwork would be to build your own using the new components being added to CPAN for handling specific jobs like dispatching, mod_perl/FastCGI support, etc.
- HTTP::Engine "An Application server to Web Application Framework gateway. inspired from python's WSGI and Ruby's Rack."
- HTTPx::Dispatcher
Comparisons
Articles
See Also
|