V
44  

del.icio.us icon Bookmark this page

Edit the sidebar

Tags
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.

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


 

Upload Files

Click "Browse" to find the file you want to upload. When you click "Upload file" your file will be uploaded and added to the list of attachments for this page.

Maximum file size: 50MB

 
 
 
File Name Author Date Uploaded Size

Save Page As

Enter a meaningful and distinctive title for your page.

Page Title:

Tip: You'll be able to find this page later by using the title you choose.

Page Already Exists

There is already a page named XXX. Would you like to:

Save with a different name:

Save the page with the name "XXX"

Append your text to the bottom of the existing page named: "XXX"

Upload Files

Click "Browse" to find the file you want to upload. When you click "Add file" this file will be added to the list of attachments for this page, and uploaded when you save the page.

 
 
 
Add Tags

Enter a tag and click "Add tag". The tag will be saved when you save the page.

Tag: 

Suggestions: