| Dancer | |
|---|---|
| Original author | Alexis Sukrieh |
| Initial release | July 27, 2009 (2009-07-27) |
| Stable release | |
| Written in | Perl |
| Operating system | Cross-platform |
| Type | Web application framework |
| License | GPL andPAL |
| Website | perldancer |
| Repository | |
Dancer is anopen source lightweightweb application framework written inPerl and inspired byRuby'sSinatra.
In April 2011, Dancer was rewritten from scratch and released asDancer2. The reason for the rewrite was to fix architectural issues and eliminate the use ofsingletons.[2] Development of Dancer1 was at first frozen, but was later continued to maintainbackward compatibility for existing apps.[3]
Dancer is developed throughGitHub, with stable releases available viaCPAN. Dancer2 is released as a separate module.
#!/usr/bin/env perluseDancer2;get'/hello/:name'=>sub{return"Why, hello there ".route_parameters->get('name');};get'/redirectMeTo/:trgval'=>sub{redirect'/'.route_parameters->get('trgval');};start;
Unlike other frameworks such asCatalyst, Dancer only requires a handful of CPAN modules and is very self-contained.
Dancer includes a standalone development server that can be used for developing and testing applications.
Dancer supports thePSGI specification, and can thus be run on any compliant PSGI server, includingPlack,uWSGI orMongrel 2.
Since most parts of Dancer are abstracted and has a plugin architecture, extending Dancer is fairly straightforward, and a thriving community has sprung up around building these extensions.
Dancer features a lightweight object system, exception throwing similar to Try::Tiny, and is fast, especially in CGI environments.