<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=iso-8859-1" http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 8.00.6001.19400">
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><B>From:</B> <A title=igor.bujna@post.cz
href="mailto:igor.bujna@post.cz">igor.bujna@post.cz</A> </DIV>
<BLOCKQUOTE
style="BORDER-LEFT: #000000 2px solid; PADDING-LEFT: 5px; PADDING-RIGHT: 0px; MARGIN-LEFT: 5px; MARGIN-RIGHT: 0px">
<DIV><FONT size=2 face=Arial></FONT><FONT size=2
face=Arial></FONT><BR></DIV>Hi,<BR><BR>i don't want to start flame, but only
ask when I make any project, why do I should choose Dancer instead Mojo*.
<BR><BR>Thank you for yours answer.<BR>
<BLOCKQUOTE>
<DIV></DIV></BLOCKQUOTE>
<P><FONT size=2 face=Arial></FONT>
<P><FONT size=2 face=Arial></FONT>
<P><FONT size=2 face=Arial></FONT>
<P><FONT size=2 face=Arial>David and Damien already gave a better
answer.</FONT>
<P><FONT size=2 face=Arial></FONT>
<P><FONT size=2 face=Arial>I can tell you how I chosen to use Dancer and maybe
it will help you also.</FONT>
<P><FONT size=2 face=Arial></FONT>
<P><FONT size=2 face=Arial>I like to use Catalyst (with DBIx::Class) because
it offers very many features, it is not a micro-framework which is suitable
for projects hosted on servers with enough memory and resources.</FONT>
<P><FONT size=2 face=Arial></FONT>
<P><FONT size=2 face=Arial>But some web apps must work on a VPS that has only
512 MB RAM in which I also need to run other programs (like a MySQL db), and
in that case I prefer to use a web framework that consumes less memory and
eventually skip using DBIx::Class also.</FONT>
<P><FONT size=2 face=Arial></FONT>
<P><FONT size=2 face=Arial>So the options are Dancer, Dancer2, Mojolicious,
and Mojolicious::Lite because I never was a fan of CGI::Application or other
older Perl frameworks.</FONT>
<P><FONT size=2 face=Arial></FONT>
<P><FONT size=2 face=Arial>Between Dancer and Dancer2 the option is Dancer2,
because it allow using configuration files in other formats than YAML and it
uses Moo and it is a newer version of Dancer anyway, even though Dancer2 seems
to consume much more memory than Dancer.</FONT>
<P><FONT size=2 face=Arial></FONT>
<P><FONT size=2 face=Arial>I read Mojolicious documentation but I've seen that
it doesn't have an automatic URL dispatcher, so all the URL mappings should be
defined manually in a separate file, and when some changes are made in the
code, that file must be also updated. In some cases this method might be good,
but for what I need and prefer... it is not.</FONT>
<P><FONT size=2 face=Arial></FONT>
<P><FONT size=2 face=Arial>So I needed to choose between Dancer2 and
Mojolicious::Lite.</FONT>
<P><FONT size=2 face=Arial></FONT>
<P><FONT size=2 face=Arial>I liked the way Mojolicious::Lite use methods of
$self in the subroutines, which is very Perlish OOP, but I didn't like that it
promotes its own way of doing everything instead of using other (and better
known) CPAN modules.</FONT>
<P><FONT size=2 face=Arial>And then I found that Dancer2's way is more clear
and elegant, although it is not very Perlish (or maybe exactly for this reason
:-)</FONT>
<P><FONT size=2 face=Arial></FONT>
<P><FONT size=2 face=Arial>Dancer2 doesn't offer so many features as Catalyst,
it is a bit lower level, but this makes it more flexible and it doesn't stay
in your way when you want to do something which is not very common.</FONT>
<P><FONT size=2 face=Arial></FONT>
<P><FONT size=2 face=Arial>I prefer to be able to use a framework that can
work well with the modules I like - DBIx::Class, Template-Toolkit, Moo... and
not with a framework that recommends using other similar modules.</FONT>
<P><FONT size=2 face=Arial></FONT>
<P><FONT size=2 face=Arial>This is how I've chosen to use Dancer2 for smaller
projects and Catalyst for bigger ones.</FONT>
<P><FONT size=2 face=Arial></FONT>
<P><FONT size=2 face=Arial>Octavian</FONT>
<P><FONT size=2 face=Arial></FONT> </P></BLOCKQUOTE></BODY></HTML>