10  Reasons Why You Should Start Using Akita as Your State Management Solution
Tags: akita, angular, react, vue
Published: 2019-05-21 13:22:05

State management is ubiquitous in web applications, be they big or small. One of the notable solutions in this field is Akita. Whether it's entities arriving from the server or UI state data, Akita has custom-built stores, powerful tools, and tailor-made plugins, which help you manage the data and negate the need for massive amounts of boilerplate code. Here are ten reasons why you should start using it:

1. **Akita is a veteran in the field:** It's been out for a year already and even before that it was used for over a year in Datorama, as part of a real-world app utilized by thousands of customers. The app includes elaborate state management, component communication, complex form handling, dirty checking, undo functionality, and rapid manipulation of big data.

2. **Akita has the backing of Datorama:** Akita doesn't rely on sponsors to continue evolving. It was created here, in Datorama, a Salesforce company. Datorama developers maintain it and improve it as part of our work schedule. Additionally, we often get inspiration for new Akita features from the needs of the continually growing and evolving Datorama app.

3. **Akita is easy to pick up:** It has a moderate learning curve, suitable for both experienced and inexperienced developers alike. It features  a robust set of tools, anything you might need for quickly deploying a quality app. 

4. **Akita isn't coupled with Angular:** Once you get the hang of using it, Akita can be used with [React](https://engineering.datorama.com/oop-and-rxjs-managing-state-in-react-with-akita-de981e09307), Vue, [Svelte](https://github.com/datorama/akita/tree/master/examples/svelte), Angular, or even vanilla JS. No framework-specific adapter is needed; This means that if you swap framework, changes to Akita code are kept to a minimum. 

5. **Akita  has a 0 bugs policy:** Here at Datorama, we consider your bugs as our bugs. Since Akita is deployed in our production environment, it's crucial for us to solve any bugs you might discover ASAP. The Akita repo issues section is a testament to that. 

6. **Akita is very well documented:** We understand the importance of thorough documentation, and do our best to supply Akita users with complete documentation of all necessary information. Additionally, we often write [blog posts](https://netbasal.gitbook.io/akita/general/blog-posts) detailing the various ways in which Akita can be used in your apps. Like Akita itself, we constantly work on growing and improving this knowledge base.

7. **Akita's community is growing, fast:** With over [320,000 downloads](https://npm-stat.com/charts.html?package=%40datorama%2Fakita) to date, Akita is growing in popularity in lightning speed. Another sign of its ubiquity - familiarity with Akita has recently started showing up in Front-End position postings. 

8. **Akita is well-suited for full stack developers:** Akita is based on object-oriented design principles rather than functional programming, so developers with OOP experience should feel right at home. 

9. **Akita developers are easy to reach:** Akita has a dedicated Gitter channel which is staffed daily. 

10. **Akita has a full suite of accompanying plugins:** redo-undo, persist state, dirty check, pagination, devtools, router integration, CLI, and more. 
See something missing that you want to be added? We're very receptive to requests 🙂

In summary: **There are plenty of reasons to pick up Akita today. I highly recommend you give it a try - you'll discover it provides you with an efficient and easy to use solution for all your state management needs! To get started go to the [Akita repo on github](https://github.com/datorama/akita).**

Follow me on [Medium](https://medium.com/@inbalsinai) to read more about Angular, Akita, JS!