Ok. So you've heard of Reaction. You've read a blog post or two about it. You've even taken a crack at reading the fine manual, but you still don't quite get it. Don't feel bad. I was in the same boat as you.
The manual does a fine job of explaining how Reaction works. It does a pretty good job of telling you how to build bits of Reaction code. It doesn't really explain what Reaction is for and why you should care.
I spent some time discussing this with one of the folks who wrote the majority of the Reaction documentation. My questions were all over the place but they boiled down to one thing: 'Why do I care?' I finally had the 'AH HA!' moment about 2 hours in to the discussion.
Reaction provides a way for you to easily plug-in features into your Catalyst app with minimal effort. It allows you to build new features in a distributable way that allows for per-app customization while maintaining a clean base set of code.
Reaction takes DRY (Don't Repeat Yourself) to the next level. DRY usually applies on a per-application basis. Features built using Reaction become mobile between applications and even distributable via CPAN. The best part is you can still customize them without editing the distributed code.
That's why Reaction is interesting. It gives Catalyst authors a way to share their features with each other, and across their own projects.




Although it is quite impressive the amount pod documentation available for most of the cpan modules, I believe that some extra effort could be spent in improving the so-called ::manual stuff. They are pretty technical, intense and difficult to understand. At least for me it means reading and rereading and rereading over again. A good down-to-earth approach would be a welcome treat. There must be some good technical writers out there.