I’ve been working with Akita pretty much since its inception, and while I’ve created many, many Akita stores in Angular, and wrote about it extensively, and even played around with an Akita/Svelte combo, I had yet to use it myself in a React App. I’ve decided to check that box, and whip up a classic todo app in React, using Akita for state management. Let’s get cooking 👩🍳👨🍳
This article assumes some familiarity with Akita State Management. To learn more about Akita and all its capabilities, check out one of the articles I’ve listed above or its great documentation.
Since its inception, the Akita state management solution has delivered hundreds of thousands of developers an easy, simple way to manage their application state data and ui data. The newest complementary feature to come out is Akita’s Entity Service.
Akita is a state management pattern, built on top of RxJS, and based on OOP design principles. It saves you the hassle of creating boilerplate code and offers powerful tools with a moderate learning curve, suitable for both experienced and inexperienced developers alike.
Till now, the main components of Akita were the Akita Store and the Akita Query, which both have…
There’s a new player in the world of JS frameworks — Svelte. As its name suggests, Svelte is lean, extremely lean. In fact, Svelte’s modus operandi, of compiling code to (ideal) vanilla js during the build phase rather than interpreting it during the run phase, has had people describing it as a non-framework and its own creator calling it a language, rather than a framework. Specifically, one created for describing reactive user interfaces.
I’ve started playing around with Svelte and so far I’ve been having a blast. The tutorial offered by creator Rich Harris functions as a very pleasant introduction…
The Akita ng-router-store is a neat package offered to Akita users, which enables binding the Angular router state to an Akita store. The benefits of this approach are:
router, which serves as the single source of truth for things such as URL, state data parameters, query parameters, etc.
RouterQuerycan be injected in any one of the queries to create an encapsulated derived selector.
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:
When creating web applications we sometimes come across the need to perform a certain operation repeatedly over time, with a set period of time between runs. The most common example is when we need to poll a server for data.
While the initial inclination might be to use setInterval for such cases — after all, it seems made for the task, and setting it would take a single line of code — however, this is not advised if the operation in question is asynchronous. …
When it comes to maintaining a multistep form in your application, it can turn into quite a big headache, as any step or combination of steps can affect others, and you need to have real-time knowledge of both the form’s overall validity as well as each step’s status.
But not when you have Akita! Apart from being one of the leading state management libraries, with over 240K downloads to date, Akita has an additional library,
AkitaNgFormsManager, which offers form-specific functionality that can significantly simplify your form management experience.
AkitaNgFormsManager lets you sync Angular’s
formArray, via a…
Akita continues to evolve and attract more users, and while using it is pretty simple and straightforward, there are ways where Akita can become even more efficient and useful to us. One such way is implementing the mediator pattern by combining multiple
Even the most casual Akita users are familiar with the
Query. It’s a class used to query the Akita
Store, which functions similarly to database queries. Its constructor function receives as parameters its own store or other query classes. …
We’ve all been there: You’re writing your code, chugging along, when suddenly the mere thought of the amount of unit tests you’ll have to write paralyzes you. Sure, you know they’re important — they help you and others understand your code, they check edge cases, they even force you to improve your code (because very often testable code = better code). So why do we balk at writing specs, delaying them till the last possible minute or skipping them outright?
Because, to be totally frank, testing sucks.
But why does it suck? Well, there are a couple of reasons: testing…
In the process of building web applications, we often need to manage basic CRUD operations for entities with a shared structure. This can result in a lot of boilerplate code unless we employ tools which offer built-in support for this functionality.
This is where Akita comes in. It’s a state management pattern, built on top of RxJS, which takes the idea of multiple data stores from Flux and the immutable updates from Redux, along with the concept of streaming data, to create the Observable Data Store model. …