Skip to content

Instantly share code, notes, and snippets.

@diegohaz
Last active July 17, 2023 09:01
Show Gist options
  • Star 19 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save diegohaz/bc07491aee61a5f2469574b38c5c1aa0 to your computer and use it in GitHub Desktop.
Save diegohaz/bc07491aee61a5f2469574b38c5c1aa0 to your computer and use it in GitHub Desktop.
What is Ariakit?

What is Ariakit?

Ariakit is the successor of Reakit, an open source library that provides lower-level React components and hooks for building accessible web apps, design systems, and other component libraries.

Why the name change?

Reakit stands for React Toolkit. Ariakit stands for Aria Toolkit, which is better aligned with our goals.

Over the past years, we've been focusing more and more on the ARIA aspects of the library. In the future, we'd like to provide more framework-agnostic utilities.

What's new?

The most important changes in Ariakit are related to state management:

These changes will drastically improve the runtime performance on composite components and make the built-in hooks more convenient to use and abstract overall.

There's also a number of other internal behavior changes, improving the support for screen readers, and API changes.

Should I use Ariakit or Reakit now?

Ariakit is already superior to Reakit in all aspects. It is faster, offers more features, improvements, and has fewer bugs. In fact, dozens of bugs have been reported in the past year, and all of them could be resolved in userland before a fix was implemented in the library. See closed bugs and notice that all of them have the "has workaround" label.

Ariakit provides full support for the latest versions of React (17 and 18) and frameworks like Next.js. The reason it is still released as v0.x.x is that we are still working on the website and preparing for an official release.

Breaking changes are released as v0.x.0, following the principles of semantic versioning (semver). Additionally, most of these changes are preceded by soft deprecations (without warnings), which are then followed by deprecation warnings prior to the actual breaking change.

How to migrate from Reakit?

Migrating from Reakit to Ariakit should be pretty straightforward for most cases. There will be a migration guide when we get closer to an official release.

As always, you don't have to migrate unless you need some feature that's only present in Ariakit. If you do, you should be able to install both packages and migrate gradually. Both versions are tree shakeable.

How to contribute?

You'll find detailed instructions on how to contribute to the project on this contributing guide. A good way to start is by writing examples for components. Check out Examples.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment