Ok, provoking topic title, I know. I have just gotten to grips with Mantra and I like its concepts and I have a lot of respect for the Kadira team.
However, one question I cannot get answered is, why and when would you, should you include Mantra in your project?
I want to continue using Meteor with React for small to medium scale and personally maintained projects and I am looking for reasons to include Mantra? What am I missing here or is it safe to continue without Mantra?
Any advice would be very welcome. Thanks.
For no other reason then it provides a solid foundation for a consistent set of practices; that alone is enough. Why Mantra over other “frameworks”, it’s fairly well documented, and from what I’ve experience its maintainable. Furthermore, it provides a nice separation of concerns (see the documentation). The Atom package adds icing on top.
The greatest advantage, I think, is that your actions/events/logic & state are separated from your view components which allows you to re-use them in other parts of your app.
Also, if you think there’s a possibility that you may want to change some or all of your view components to use another library in future then it will be easier to just change the underlying code in the container implementation without touching all of your state handlers/containers and potentially breaking something.
Not to mention that by moving the logic out of your components, they become easier to read/less verbose.