| Module Info
| Add a review of Mouse
To many Mouse served it's role and things are moving towards Moo and the 'internal' mop. As this may be true, Mouse still does great job when you need a comprehensive OOP system, and a fast one.
I've been using the module for almost an year in a 24/7 prod. environment with a large system of more than 30 classes and roles. It works as a charm, and I have seldom missed Moose specific stuff.
To the author - keep this module updated. Many appreciate your work.
Note that this review is revision of my former review referring to the version 0.22 of Mouse because the former one doesn't in the least reflect the status quo, and that this caters for folks with prerequisite knowledge of what is called the family of Moose. Keep your nose out of my business if you dislike following those trends.
As you know, the module was written by Shawn M Moore at the outset, and then taken over to Fuji, Goro-san (aka gfx), and thus the present maintainer is gfx; consequently, all the users are lucky to be comfortable using the module.
In the meantime, the definitive differentiation compared with the earlier versions of the module is that by default the module is built as an xsub, and needless to say, the pure perl version only can be installed as well, as per your request. That leads up to as fast execution of the module as possible, including its start-up time. Insofar as you don't deal with meta-objects, Mouse can be a drop-in replacement of Moose.
Last but not least, recognize that Moose, Mouse, and Moo are never in conflict with each other. They have their merits and demerits each. You want to read the following article written up by Stevan Little:
"The Moose Ecosystem"
Mouse is excellent. I've switched to using it from Moose because it gives you all the Moose sugar without the startup / memory penalty rightly associated with Moose applications.
It doesn't support all of Moose's features but I've found that it supports the subset of Moose that I care about.
I've written two blog posts about Mouse that I think are helpful further reading:
Converting a Moose application to a Mouse|Moose hybrid - how you can easily support both Moose and Mouse via Any::Moose: blogs.perl.org/users/aevar_arnfjor_bj...
Removing Moose and the case for Mouse - Why I use Mouse instead of Moose: blogs.perl.org/users/aevar_arnfjor_bj...
A nice, light-weight alternative to the Moose fad.