Что это простыми словами
Hive — это встроенный «блокнот» приложения на Flutter, куда программа быстро записывает и читает данные прямо на телефоне пользователя, без интернета и без отдельной базы данных на сервере.
Представьте прикроватную тумбочку: в ней лежат вещи, которые нужны под рукой каждый день, — их не нужно каждый раз доставать из шкафа в другой комнате. Hive — такая тумбочка для данных приложения: настройки пользователя, список избранного, кэш последнего экрана — всё лежит рядом и открывается почти мгновенно.
Такое хранение называют локальной базой данных: данные остаются на устройстве даже после закрытия приложения, но это не полноценный сервер с таблицами, а простой быстрый склад «ключ — значение».
Официальное определение
Теперь, когда суть понятна, вот как Hive описывают в документации и вакансиях. Эту формулировку вы встретите у заказчика и в резюме — и теперь будете понимать, что за ней стоит.
«Hive — лёгкая, быстрая NoSQL key-value база данных, написанная на чистом Dart».
Разберём по словам. NoSQL значит, что данные хранятся не таблицами со строгими столбцами, как в привычных базах, а простыми парами «ключ — значение», как в блокноте с закладками. Key-value — это и есть тот самый принцип: чтобы найти вещь, ищут не сложным запросом, а по короткой метке-ключу. Написана на чистом Dart — значит, ей не нужны отдельные нативные библиотеки под Android и iOS: она одинаково работает на всех платформах Flutter, включая веб.
Какую задачу решает
Приложению на Flutter почти всегда нужно что-то запомнить между запусками: тему оформления, вошёл ли пользователь, список избранных товаров, кэш ленты, чтобы не грузить её заново при плохом интернете. Hive решает именно это — быстро сохраняет и достаёт такие данные прямо на устройстве.
Его выбирают за скорость: Hive работает заметно быстрее многих альтернатив, а данные можно сделать «типизированными» — заранее описать, какого вида информация хранится, и получать её обратно уже готовыми объектами, а не сырыми строками.
К какой экосистеме относится
Язык — Dart.
Фреймворк — Flutter; специальность — Mobile Developer Cross-platform.
Hive не завязан ни на конкретный менеджер состояния (Bloc, Riverpod, GetX), ни на конкретный роутер (GoRouter, auto_route) — он занимается только хранением данных и спокойно работает рядом с любым из них.
Чем заменяется
Прямой аналог Hive — drift (бывший Moor): более «взрослая» локальная база с поддержкой SQL-запросов и связей между таблицами, ближе к привычной реляционной базе данных.
Для совсем простых случаев (пара настроек, флаг «показывали ли онбординг») вместо Hive часто берут shared_preferences — но это не полноценная замена, а инструмент для более узкой задачи.
Переход между Hive и drift не такой дешёвый, как между похожими библиотеками в других экосистемах: у drift другая модель работы, ближе к SQL, поэтому опыт переносится, но требует освоения нового подхода.
Что не путать
Hive ≠ менеджер состояния (Bloc, Riverpod, GetX). Те решают, как обновлять экран при изменении данных, а Hive — где эти данные физически хранятся между запусками приложения. Это разные задачи, и в реальном проекте они используются вместе, а не вместо друг друга.
Hive ≠ Apache Hive. Тёзка из мира больших данных (инструмент для запросов к Hadoop) — совершенно другая технология с другой аудиторией, общее только название.
Hive ≠ облачная база данных. Все данные лежат локально на устройстве пользователя, а не на сервере компании — для синхронизации между устройствами нужен отдельный сервис.
Насколько это важно при отборе
Короткий ответ: это не повод жёстко отбраковывать кандидата.
Hive — одна из нескольких библиотек для локального хранения во Flutter, и толковый разработчик, знакомый с drift или даже с обычным SQLite, разберётся в ней за пару дней: идея та же, отличается только API.
Обратить внимание стоит, если вакансия предполагает сложную офлайн-логику (синхронизация, миграции локальной схемы) — тогда полезно уточнить, работал ли кандидат с любой локальной базой на Flutter, а не именно с Hive.
Это общий ориентир. В разных компаниях требования отличаются, поэтому всегда сверяйтесь с текстом конкретной вакансии.