Live data from Hacker News

Mojolicious Web Framework in Perl

mojolicious.org

1–10 of 24 posts

Re: Mojolicious Web Framework in Perl

#3

I was going to start learning and using Catalyst soon. Why should I learn Mojolicious instead? Why shouldn't I?

I don't have extensive experience with either (just some toys and experiments really) but Mojo just feels so much cleaner. If you read the front page it talks about how it's 'fresh code' by people with experience working on Catalyst itself -- IMO it really comes across: no cruft, lean-clear docs (granted a bit sparse last time I looked), a whole bunch of 'out of the box' niceties that are all over the 'blogosphere' these days (JSON, REST, async IO, etc). I'd definitely recommending just giving them both a spin for a toy project and see how they sit with you.

Re: Mojolicious Web Framework in Perl

#4
post #3

I was going to start learning and using Catalyst soon. Why should I learn Mojolicious instead? Why shouldn't I?

I don't have extensive experience with either (just some toys and experiments really) but Mojo just feels so much cleaner. If you read the front page it talks about how it's 'fresh code' by people with experience working on Catalyst itself -- IMO it really comes across: no cruft, lean-clear docs (granted a bit sparse last time I looked), a whole bunch of 'out of the box' niceties that are all over the 'blogosphere' t…

On the other hand, Catalyst has a huge active community (277 people on the IRC channel right now), a ton of code for you to look at (1723 results for extensions on search.cpan, and many full apps), it uses Moose for its objects (giving you access to 100+ extensions that can cleanly fine-tune how your objects work, and a similarly huge community for support), and it integrates with pretty much any Perl web interface (FCGI, Plack, etc.) perfectly. (There are even two full books about Catalyst. But don't read the first one, I hate the author...)

I have written everything from raw PSGI apps to rolling my own web framework to hacking on other peoples' web frameworks (most recently, Tatsumaki). But every time my toy app becomes something I actually want to use in the real world, I turn to Catalyst. The backcompat is "ugly", but it's easy to do everything you'll ever need to do, and the defaults are reasonable. You can write messy code, you can write super-clean code, and everything in the middle.

What won't happen is you getting stuck with some aspect of the framework. "It does that."

Small web frameworks are appealing because when you are reading someone's blog, you think, "yeah, that's about all I ever need to do". Unfortunately, it's the "about" that's going to kill your project.

Take some time to learn the whole system and it will reward you for years to come.

Re: Mojolicious Web Framework in Perl

#5

I was going to start learning and using Catalyst soon. Why should I learn Mojolicious instead? Why shouldn't I?

Catalyst == larger community + more documentation + lots of useful modules out there. The downside is that it takes a heck of a lot of effort to get up to speed and I personally find that it can get in the way a little for smaller projects.

Frameworks like Mojolicious, Jifty (http://jifty.org/) and Dancer (http://perldancer.org) are much quicker to get up to speed on, but suffer slightly from having a smaller community of users and developers.

I've been playing with non-Catalyst frameworks a bit recently as I've been pondering a little bit of product development on an in-house project.

Of the non-Catalyst Perl web frameworks Dancer is my favourite http://perldancer.org/. For my money it's a neater package than Mojolicious, which takes the no-dependency thing a little bit too far for me. Dancer's non-OO DSL declarative style seems to work quite well (it's very heavily inspired by Ruby's Sinatra).

I'm going to give Dancer / Plack a whirl as the basis for a non-trivial app soon. I think it'll work quite well from my experiences so far.

(BTW - if you've not started playing with Plack in Perl - do so. Veeeeery nice.)

As to what you should learn - who knows :-) If it were me I'd spend at least a few hours playing with Dancer/Mojolicious/Jifty first - since any of them will have you up and running with a demo in a few minutes. Catalyst will take more work.

Re: Mojolicious Web Framework in Perl

#6

I was going to start learning and using Catalyst soon. Why should I learn Mojolicious instead? Why shouldn't I?

Perhaps the simplest explanation is this: Catalyst is suitable for big, complex things. Mojolicious is better for smaller things. Just as Rails is for big things, Sinatra for smaller things. Or Django is for big things, and web.py is for smaller things.

They are two different frameworks, to serve different requirements to some extent.

Re: Mojolicious Web Framework in Perl

#7
post #4
post #3

Earlier quoted context omitted.

I don't have extensive experience with either (just some toys and experiments really) but Mojo just feels so much cleaner. If you read the front page it talks about how it's 'fresh code' by people with experience working on Catalyst itself -- IMO it really comes across: no cruft, lean-clear docs (granted a bit sparse last time I looked), a whole bunch of 'out of the box' niceties that are all over the 'blogosphere' t…

On the other hand, Catalyst has a huge active community (277 people on the IRC channel right now), a ton of code for you to look at (1723 results for extensions on search.cpan, and many full apps), it uses Moose for its objects (giving you access to 100+ extensions that can cleanly fine-tune how your objects work, and a similarly huge community for support), and it integrates with pretty much any Perl web interface (…

Mojolicious is not just another small web framework, to me (the original author of Catalyst) it is Catalyst2, simple as that.

Re: Mojolicious Web Framework in Perl

#8

I was going to start learning and using Catalyst soon. Why should I learn Mojolicious instead? Why shouldn't I?

Spend a week on Mojolicious. Poke around. Ask some questions in the IRC channel.

Then do the same with Catalyst.

The experience you have will make up your mind for you - I'd be surprised if you're not sold on Mojolicious after only a day or two.

Re: Mojolicious Web Framework in Perl

#9
post #7
post #4

Earlier quoted context omitted.

On the other hand, Catalyst has a huge active community (277 people on the IRC channel right now), a ton of code for you to look at (1723 results for extensions on search.cpan, and many full apps), it uses Moose for its objects (giving you access to 100+ extensions that can cleanly fine-tune how your objects work, and a similarly huge community for support), and it integrates with pretty much any Perl web interface (…

Mojolicious is not just another small web framework, to me (the original author of Catalyst) it is Catalyst2, simple as that.

No offense, but what's good about Catalyst is the community.

Re: Mojolicious Web Framework in Perl

#10
post #9
post #7

Earlier quoted context omitted.

Mojolicious is not just another small web framework, to me (the original author of Catalyst) it is Catalyst2, simple as that.

No offense, but what's good about Catalyst is the community.

Thats also one of the best things about Mojolicious! :)
Post reply on HN