Handling application state once your application's features grow may become a serious problem over time. Currently, a lot of modern development approaches leverage a single store, which acts as a central basis of your app. Well-known frameworks supporting these type of workflows include Redux, MobX and many others.
When we asked our community back in April of last year, it was apparent that, while these solutions work, a lot of members hand-rolled their own solution. Be it because the known solutions didn't fit or because they were looking for something with deeper Aurelia integration, we've heard your concerns and announced at the beginning of this year , that we were working on Aurelia Store, an official Aurelia plugin for state management. It took some time to get the new library to a place where we were satisfied with the documentation and had battle-tested the plugin under real conditions with enough tests to fulfill 100% test-coverage, but now we've made it.
Aurelia Store is an Aurelia plugin for handling state in your Aurelia applications. As with all official repositories, we take SemVer compatibility very seriously and will make sure to keep breaking changes down to the bare minimum as well as make sure to document all release notes as usual.
Creating this library wouldn't have been possible without the awesome help of the community, enabling us to shape the plugin in a way that addresses as many use-cases as possible while making sure the quality didn't suffer. Special thanks go to my employer Ranorex , an automation tool provider for an all-in-one UI test experience for desktop, web and mobile applications, who allowed me to contribute working hours to the plugin. As a result of that, several tools, amongst them our Chrome extension called Ranorex Selocity , which can be downloaded for free, are now powered by Aurelia and the Store plugin.
Amongst the first evangelists and zealous fans of the plugin is our core member Dwayne Charrington, who is well known in our community for his awesome contributions, including builtwithaurelia.com , which happens to be powered by Aurelia Store as well. So let's hear a few words from Dwayne about his journey with the plugin so far...
One of the biggest upsides to Aurelia Store is that it works with Redux Developer Tools (a free plugin available in all browsers). The Redux Developer Tools allow you to inspect state in your Aurelia applications, replay actions, and debug the way data flows throughout your application. It’s a game changer.
Last but not least, the topic of state management in itself is a difficult one. So using our plugin shouldn't be part of your troubles getting on board. That's why we made sure to launch the official release with a set of full-fledged documentation .
We hope you enjoy the new Aurelia Store plugin!