Choosing a framework is a tough call, but it doesn’t has to be. Just like choosing an outfit or a car, or just about anything else, you have to think what do you want and need. Do you want to look dapper or do you want to be comfortable? Do you want good consumption or power? Each Perl framework has certain qualities and features that make it perfect for a certain something. It all depends on what you need, so here are 3 frameworks that work well in different situation.
Let’s start with the basics, mojolicious. Simple, great for starters and powerful enough for most projects. This framework was created by the same person who created Catalys (we’ll talk about it later on) and it’s sort of an inbetweener, good for both simple and complex applications. Mojolicious is written in Perl and can run on any operating system compatible with Perl. When it comes to features it has a really cool real-time web framework and web development kit. The latter works for all sorts of application not just those dependent on the framework. It’s portable and has object oriented pure Perl API. As it was built after Catalyst it benefitted greatly from that experience.
Here are a few companies that use Mojolicious: Bank of America, IBM, Opera, Shutterstock, Zappos etc.
Catalyst is a workhorse, it works its ass off for you and has a bunch of features that help it to do just that. It’s very powerful due to its core environment and interface that help you build just about anything you want. It’s flexible and it works well through rapid development. This is the perfect framework for endurance, for medium or large scale apps. It has a MVC design pattern so you can make components separately and interchange them.
Catalyst kept it simple and it works, you don’t have to worry about a lot of things like session handling or authorization, you just go about building your application. You have a bunch of plugins, modules and views so there’s plenty of room for personalization and adaptation.
The BBC iPlayer, magazines.com, urbia.de are just a couple of sites that use Catalyst.
Agile, lightweight, elegant and fast, modern and route-oriented, these are just a few things that Dancer has at its core. It’s a perfect framework for smaller - medium sized projects with just a few developers. One of its main feature is the fact that most of its parts are abstracted so you can easily extend it. Because of this there have been multiple extensions built by the community. Currently there are 2 versions, Dancer 1 and Dancer 2.
Here are a few companies that use Dancer: BuiltinPerl (yes, this one), iVouch, Moonfruit, a few dictionaries and more.