Зачем Astra существует и из какого решения она выросла.
Astra — библиотека анимированных компонентов для React Native. Она началась в январе 2025 года из того же раздражения, из которого начинается большинство библиотек: на доводку интерфейса уходило больше времени, чем на функции.
Дело никогда не было в инструментах. Reanimated, Gesture Handler и Skia умеют всё это. Собрать их во что-то продуманное — та пружина, та задержка, то состояние нажатия, которое читается как физическое, — вот на что каждый раз и в каждом проекте уходил день.
Что это
Реестр компонентов, которые вы копируете к себе в проект. astra-rn add
пишет исходник к вам в репозиторий, переписывает его импорты под ваши пути и на
этом останавливается. Ни рантайм-пакета, ни обёртки, ни версии, за которой надо
поспевать.
У этого выбора есть одно следствие, о котором честно сказать стоит: вы владеете
тем, что скопировали. Обновление само не приедет. Взамен ничто не спрятано за
API, которым распоряжается кто-то другой, и ни одна правка стилей не
превращается в драку — astra-rn diff показывает, насколько ваша копия
разошлась с оригиналом, а решать вам.
На что она нацелена
- Движение, которое выживает в настоящем приложении. Компоненты построены на Reanimated и Skia и доводятся на устройстве, а не в сторибуке.
- Читаемый исходник. Код написан, чтобы его открывали, понимали и правили — он документация не меньше, чем зависимость.
- Сначала жесты. Перетаскивание, свайп, нажатие и их прерывания — цель проектирования, а не довесок к веб-компоненту.
- Не мешать. Ни провайдера темы, ни контекста для подключения, ни обряда настройки до первой отрисовки компонента.
Куда она движется
Над чем идёт работа, можно узнать в Telegram-канале Astra (ссылка на сайте), что уже приехало — в журнале изменений, а руководство для участников объясняет, как сообщить об ошибке или предложить компонент.
Сделала команда Astra.
Сделано в Astra