Checked it out during a plane flight last week. It seems to cover all of the same features that PerlDancer does, almost down the line. I just deployed a Dancer app last week so I'm fond of that one. <div><br></div><div>
Mojolicious expands on the knowledge picked up from Catalyst before it, so even though it's new, it's reasonably mature even at version 1.01.</div><div><br></div><div>Mojolicious has a better route-builder. Both Dancer and Mojolicious support named variables in the routes (e.g. /path/to/:id, where $id or param->{id} or something similar) will be available in the route handler, Mojo also permits you to use regular expressions AND named variables. Dancer makes you choose one or the other. It's not a huge difference, but Mojo's flexibility here will make for more legible code and save a line or two later.</div>
<div><br></div><div>Dancer's documentation seems to map into my mind better. I much prefer Dancer's default templating system (and any of the alternatives, really) to Mojo's default, which seems to be something wrapped around HTML::Ep. (Please correct me on that, I was offline when I was looking at those docs)</div>
<div><br></div><div>If you'd like to compare them yourself, I'd suggest deploying three frameworks: Dancer's default (there's only one; e.g. dancer -a Your::Application), and both types of Mojolicious builds: (e.g. mojo generate lite_app Your::App and mojo generate app Your::Full::App).</div>
<div><br></div><div>-Joshua</div><div><br><div class="gmail_quote">On Sun, Jan 9, 2011 at 12:29 AM, Daniel Hedlund <span dir="ltr"><<a href="mailto:daniel@digitree.org">daniel@digitree.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Has anyone had a chance to play around with Mojolicious<br>
(<a href="http://mojolicio.us/" target="_blank">http://mojolicio.us/</a>)? If so, what's been your experience with it?<br>
It looks very cool and reminds me a lot of the Sinatra DSL for Ruby,<br>
but with support for some HTML5 features out of the box (i.e.<br>
websockets). If there's any interest, I could try to give a<br>
demonstration at a future meeting.<br>
<br>
A couple examples from their website...<br>
<br>
# Simple route with plain text response<br>
get '/hello' => sub { shift->render(text => 'Hello World!') };<br>
<br>
# WebSocket echo service<br>
websocket '/echo' => sub {<br>
my $self = shift;<br>
$self->on_message(<br>
sub {<br>
my ($self, $message) = @_;<br>
$self->send_message("echo: $message");<br>
}<br>
);<br>
};<br>
<br>
<br>
Cheers,<br>
<font color="#888888"><br>
Daniel Hedlund<br>
<a href="mailto:daniel@digitree.org">daniel@digitree.org</a><br>
_______________________________________________<br>
Pdx-pm-list mailing list<br>
<a href="mailto:Pdx-pm-list@pm.org">Pdx-pm-list@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/pdx-pm-list" target="_blank">http://mail.pm.org/mailman/listinfo/pdx-pm-list</a><br>
</font></blockquote></div><br></div>