4 ms·
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 a
by thenduks 16y ago
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.
- jrockway 16y agoOn 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.