(You are Anonymous)
Note: page has been moved to https://github.com/markstos/CGI--Application/wiki/OtherFrameworks by Emmanuel Seyman
Other web application frameworks besides CGI::Application
Here are some other web application frameworks that people might choose as alternatives to CGI::Application for their project. They are listed here so we can compare and contrast them with CGI::Application.
CGI::App inspired and derived systems
These projects are explicitly modelled on CGI::Application, and may offer some degree of compatibility.
These systems are also based on the same MVC design pattern that CGI::App is based on. So if you like the CGI:App architecture, you may also like these.
Server Page Systems
So-called "Server Page" systems are in constrast to the CGI::App archecture, as Jesse Elbaum explains some below. Template Toolkit is a special case. With restraint, it can be used a templating system alternative to HTML::Template, used directly with CGI::Application. In fact, it's a popular templating alternative for CGI::App users. On the other hand, it has many plugins and features available, allowing you to move much application logic into the templates, making it more of a 'server page' style solution.
Although it is not in for Perl, but for Java, I would recommend everyone to take a look at Apache Tapestry (http://jakarta.apache.org/tapestry/). It takes a component-oriented approach (more consequent than any other framework I have seen, I hear it is inspired by Apple Web-Objects, but I do not know WO) and also has a very cool templating system, kind of like HTML::Seamstress. I personally think it is very interesting, much more so than the well-publicized Apache Struts framework. Like I said, it is in Java, but maybe someday someone can replicate it in Perl.
– Thilo Planz - 16 Jul 2003
HTTP::Server::Singlethreaded is a web server in a single perl process, for making dynamic content happen with less load than running apache + mod_perl. Wrapping CGI::App up in it, or providing a compatibility piece so that CGI::App apps could run in a standalone process, would be do-able of course.
– Anon Guest - 06 Mar 2005